医学图像编程技术
2010-6
电子工业出版社
周振环,伍云智,赵明 编著
308
无
医学图像编程门槛较高,入门较难。一般是采用VC++6.0来开发的,其开发周期很长,代码难以维护,特别是三维显示速度较慢,质量较差。使用OpenGL以后,其三维绘制速度有较大程度提高,显示质量也得到了不断改善,但医学图像编程困难的问题并没有得到根本解决。要想解决这一问题,首先程序员应对医学图像文件格式有一定的认识。医学图像是二维序列组,原来各厂商的图像格式均不一样,但现在已制订了统一的标准DICOM,因此要想进行图像编程先要懂得如何读/写DICOM图像。其次,用VC来显示一幅图像并不容易,好在现在已有许多数字图像编程的书籍介绍如何来显示一幅二维图像。当然,能显示一幅就能显示多幅,这里所介绍的医学图像便是序列二维图像组。再次,医学图像需要显示三维,这就需要在二维序列图像间插值,以进行三维重建和绘制。因此,程序员还要懂计算机图形学。现在已经有一些书中用OpenGL来讲解和演示计算机图形学了。美国Kitware公司于1998年推出了“三维可视化工具箱”Visualization Toolkit(VTK),希望用简单的代码来实现三维可视化编程工作。2002年,它又推出了“医学图像分割与配准工具箱” Insight Segmentation and Registration Toolkit(ITK),封装了最常用的医学图像处理算法。不过它没有可视化算法,因此ITK必须与VTK联合使用,只有这样才能实现医学图像的三维可视化编程。Kitware公司于1998年使用VTK和ITK成功开发出了3D Slicer,以应用于图像引导下的治疗。2003年,该公司成功开发出“图像引导下的手术工具箱”Image-Guided Surgery Toolkit(IGSTK),将医学图像应用于手术计划和手术导航场合。本书的详细内容如下所示。第1章详细介绍了VTK和ITK的混合安装使用,并给出了一个简单编程例子,演示了如何使用VTK、ITK、CMake来编程,从而最终显示出一幅医学图像。第2章通过编程范例来说明了三维可视化编程的一些概念,如相机、观察员、渲染、光照、交互器、读取器、过滤器等编程对象,并对每个对象给出了其1~2个范例。另外,本章还分别在API和MFC下给出了医学图像编程的例子。第3章描述了VTK和ITK使用的数据集结构和数据属性,并对由各种数据集构成的对象进行了显示,还演示了读/写和导入/导出数据集。第4章讲解了VTK可视化算法,演示了颜色映射、标量映射、抽取轮廓、等值面着色、图形符号、流线、流面、剪切、剪裁、探测、纹理等绘制方法,并给出了运行结果。第5章演示了图像数据及其处理。本章主要介绍了医学图像经常用到的一些技术,如数据创建、图像显示、图像直方图、图像分割、图像平滑、重采样、轴排列、轴翻转、重切片等。本章最后演示了体绘制,并给出了运行结果。第6章使用VTK+MFC开发了一个医学图像软件界面,其主要功能包括读写DICOM图像、显示三个正交面(横断面、矢状面、冠状面)、三维体绘制。第7章介绍了医学图像软件,其中包括VTK Designer、MIPAV、3D Slicer。首先,本章演示了如何用VTK Designer创建VTK流水线应用程序。其次,演示了如何使用MIPAV软件将脑图谱与结构像进行融合。最后,应用3D Slicer软件演示了两个例子:一是三维可视化(脑组织和血管),包括图像装载、分割、三维显示、保存场景;二是图像引导下的治疗,包括肿瘤模型、结构像、功能像、脑图谱融合、弥散张量成像和纤维束跟踪等。本书中的医学图像数据和编程范例在随书携带的光盘中,可供读者运行和上机实验。本书既可作为医学影像学专业高年级本科生和研究生的教材,也可作为大学教师、公司研发人员、硕博研究生进行医学图像研究时的参考书。限于作者水平,书中难免存在错误,敬请读者批评指正。
本书是医学图像编程的入门级教材和参考书。本书通过一个个由浅入深的编程范例,介绍了如何使用三维可视化工具箱VTK和医学图像分割与配准工具箱ITK进行三维医学图像编程。本书的主要内容包括VTK与ITK的联合安装和使用、VTK编程入门范例、VTK的数据结构、VTK的可视化算法(包括颜色映射、抽取轮廓、剪切、纹理等)、VTK的医学图像处理功能(包括图像分割、图像平滑、重切分、体绘制等)、VTK的综合应用等。本书最后介绍了常用医学图像处理软件MIPAV、3D Slicer在结构像、功能像、脑图谱、弥散张量成像和纤维束跟踪等方面的应用。 本书可作为医学影像学专业高年级本科生和研究生教材,也可作为大学教师、公司研发人员、硕博研究生进行医学图像研究时的技术参考书。 本书中的医学图像数据和编程范例在随书携带的光盘中,可供读者运行和上机实验。
第1章 安装VTK和ITK 1.1 VTK的安装 1.1.1 获取安装资源 1.1.2 安装步骤 1.1.3 测试安装结果 1.2 ITK的安装 1.2.1 获取安装资源 1.2.2 安装步骤 1.2.3 测试安装结果 1.3 ITK与VTK的混合测试 1.3.1 创建一个新目录 1.3.2 编写一个CmakeLists.txt和myProject.cxx文件 1.3.3 配置CMake 1.3.4 编译和运行 第2章 范例 2.1 入门范例——渲染一个圆锥 2.2 相机范例 2.3 命令/观察员范例 2.4 多个渲染器范例 2.5 管理属性和变换范例 2.6 光照范例 2.6.1 范例一 2.6.2 范例二 2.7 交互器范例 2.8 3D小工具(Widget)范例 2.8.1 盒子小工具(BoxWidget)范例 2.8.2 滑块小工具(SlideWidget)范例 2.9 读取器范例 2.10 过滤器的简单范例 2.11 医学范例 2.11.1 范例一 2.11.2 范例二 2.11.3 范例三 2.12 与Windows GUI的集成范例1—API 2.13 与Windows GUI的集成范例2—MFC 2.13.1 与对话框应用程序集成的范例 2.13.2 与单文档(SDI)应用程序集成的范例 2.13.3 与多文档(MDI)应用程序集成的范例 第3章 数据集与数据属性 3.1 数据集的结构 3.2 数据集的属性 3.3 各种数据集类型 3.3.1 多边形数据集 3.3.2 结构化点数据集 3.3.3 矩形网格数据集 3.3.4 结构化网格数据集 3.3.5 非结构化点 3.3.6 非结构化网格 3.4 快速生成简单数据集 3.4.1 程序化生成简单多边形数据集 3.4.2 采样隐函数生成结构化点数据集 3.5 数据集简单算法 3.5.1 点、单元数据转换 3.5.2 数据重组 3.5.3 数据追加 3.6 数据集的读写 3.6.1 读取器 3.6.2 写入器 3.6.3 其他数据接口 第4章 可视化算法 4.1 颜色映射 4.2 标量的生成—坐标投影 4.3 抽取轮廓 4.4 给等值面着色 4.5 图形符号 4.6 流线 4.7 流面 4.8 剪切(Cut) 4.9 剪裁(Clip) 4.10 探测(Probing) 4.11 纹理映射 137第5章 图像数据集及其处理 5.1 图像数据集与结构化点数据集 5.2 手动创建图像数据集 5.3 显示图像数据集 5.3.1 图像查看器vtkImageViewer 5.3.2 图像演员vtkImageActor 5.4 程序化生成图像数据集 5.5 图像处理 5.5.1 标量逻辑运算 5.5.2 标量数学运算 5.5.3 标量偏移倍乘 5.5.4 标量映射颜色 5.5.5 基于标量值的翘曲 5.5.6 标量统计 5.5.7 图像分割 5.5.8 图像梯度 5.5.9 图像平滑 5.5.10 频域处理 5.5.11 图像缩放 5.5.12 图像轴排列 5.5.13 图像轴翻转 5.5.14 图像重切片 5.6 体渲染 5.6.1 体渲染的不同之处 5.6.2 体渲染的前提—映射出颜色值和不透明度 5.6.3 一个简单的体渲染例子 5.6.4 两个关键对象 第6章 显示DICOM序列文件的实例 第7章 医学图像处理的相关软件 参考文献
插图:
《医学图像编程技术》是由电子工业出版社出版。
无
对想学习VTK编程的初学者来说,是一本良好的入门指导。目前,ITK和VTK的功能较强,但汉语的学习指导教材确很少。这本不错。比看英文的文档,更容易对VTK有整体的概念。
我已经买了三本,作为小组内研发医学影像软件用的入门参考。还推荐想搞VTK的学生买了此书。确实不错。
本书可作为vtk,itk的入门书籍,书中的例程很丰富,是vtk相关的中文书籍中可以算最好的了。
没怎么看,因为对编程头疼
入门挺好的 深入的还是得靠自己学啊~~! 书挺好的····
还没仔细看,需要学习新的软件
已经看了三分之一了,书内容很好,质量也不错
对初学者来说是一本值得看的书。
对于学习VTK才入门的编程人员来说,中文版的入门书籍估计目前只此一本,说的有点生疏,不过也是入门级,轻微级的好书。
介绍了一点关于VTK的东西,正是我所需要的
学习VTK,推荐
用于入门还可以,代码讲解思路比较清晰。
里面内容还可以,现在正在看,还有很多不懂的地方呢
还好,就是源代码讲解不多。
1。 东西写得很浅,类似与帮助文档。对某些功能干什么用的缺少讲解。医学知识基本上无。
2。 我想做医学图像的应该计算机水平都不是很低,有些编程东西写的太基础,对于这种人浪费
3。 后1/3 都是工具介绍,用处不是很大。
4。买这本书不如去看帮助。
书与得一般,主要是没有根据实际应用中需要的内容进行编写,适用性不理想
我感觉都还不错!图书的质量也好!快递公司服务也不错!打85分哇!
1)50元的价格,300页的书,好像价格是贵了点;
2)不过此类的书还是较少,贵就贵了点吧;
3)内容正在看,粗看一下,代码多了点,讲解少了点。
刚买这本书以为很好,后来真的开发项目了,按里面的步骤操作不行。后边的内容大都是开发平台自带的例程。总之,感觉不如论坛的东西更实用。
为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊为什么少给我光盘啊
书几乎就是VTK USER GUIDE的中文翻译再加上几个软件的介绍。
书的内容多数是VTK user guide的翻译,例子也基本都是VTK自带的例子,买不买都行
好书讲得比较详细。。
垃圾书籍。基本是把KitwarePublic上的例子抄过来。有些地方还抄错了= =