目录 1
1 绪论 1
1.1 医学影像算法平台研究的背景及意义 1
1.2 医学影像算法平台研究的内容 2
1.2.1 整体框架的研究 2
1.2.2 医学影像算法的研究 2
1.3 医学影像算法平台的国内外研究现状 4
1.3.1 VTK简介 4
1.3.2 ITK简介 4
1.3.3 VTK和ITK的局限性 5
1.4 本书的主要内容 6
2 MITK的总体设计 9
2.1 MITK的设计目标 9
2.1.1 统一的风格 9
2.1.2 有限目标 9
2.1.3 可移植性 10
2.1.4 代码优化 10
2.2 MITK的整体计算框架 10
2.2.1 基于数据流模型的整体框架 10
2.2.2 数据模型 11
2.2.3 算法模型 12
2.3 MITK的基础设施搭建 13
2.3.1 Object提供的服务 13
2.3.2 内存管理 17
2.3.3 跨平台的实现 19
2.3.4 SSE加速的实现 19
2.4 小结 20
3 面绘制的框架与实现 21
3.1 表面重建算法及其在MITK中的实现 21
3.1.1 传统的Marching Cubes算法 22
3.1.2 基于分割的Marching Cubes方法 40
3.2 MITK中的表面绘制框架 40
3.2.1 表面绘制框架的设计 40
3.2.2 表面绘制框架的实现 42
3.3 小结 61
4 体绘制的框架与实现 63
4.1 体绘制算法综述 63
4.2 MITK中的体绘制算法框架 64
4.3 体绘制算法在MITK中的实现 67
4.3.1 View中绘制操作的实现 67
4.3.2 VolumeModel的实现 70
4.3.3 VolumeProperty的实现 75
4.3.4 VolumeRenderer的实现 79
4.3.5 Ray Casting算法的实现 82
4.4 小结 108
5 三维人机交互的设计与实现 111
5.1 背景介绍 111
5.2.1 3D Widgets的设计准则 112
5.2.2 以3D Widgets为核心的三维交互框架总体结构 112
5.2 以3D Widgets为核心的三维人机交互的框架设计 112
5.2.3 以3D Widgets为核心的三维交互框架设计 113
5.3 以3D Widgets为核心的三维人机交互的实现 114
5.3.1 Manipulator的实现 114
5.3.2 实现具体的WidgetModel 118
5.4 三维交互的应用实例 124
5.4.1 mitkLineWidgetModel 3D的应用实例 124
5.4.2 mitkAngleWidgetModel 3D的应用实例 125
5.4.3 mitkClippingPlaneWidget的应用实例 125
5.5 小结 125
6.1 MITK中的分割算法框架 127
6 分割算法的设计与实现 127
6.1.1 数据模块 128
6.1.2 数据获取模块 128
6.1.3 数据输出模块 129
6.1.4 数据处理模块 130
6.2 基于阈值的分割算法在MITK中的实现 131
6.2.1 原理概述 131
6.2.2 阈值分割算法开发包设计与实现 132
6.2.3 阈值分割结果示意图 132
6.3.2 区域生长算法开发包的设计与实现 133
6.3.1 原理概述 133
6.3 区域增长算法在MITK中的实现 133
6.3.3 区域生长分割结果 136
6.4 交互式分割在MITK中的实现 137
6.4.1 原理概述 137
6.4.2 交互式分割算法开发包的设计与实现 138
6.4.3 交互式分割算法的分割结果 140
6.5 Live Wire算法在MITK中的实现 141
6.5.1 原理概述 141
6.5.2 Live Wire算法包的设计与实现 144
6.5.3 Live Wire分割结果 147
6.6.1 原理概述 148
6.6 Fast Marching算法在MITK中的实现 148
6.6.2 Fast Marching算法开发包的设计与实现 149
6.6.3 Fast Marching分割结果 154
6.7 Level Set算法在MITK中的实现 155
6.7.1 原理概述 155
6.7.2 Level Set算法开发包的设计与实现 157
6.7.3 Level Set分割结果 162
6.8 小结 163
7.1 配准算法简介 165
7 配准算法的设计与实现 165
7.2 MITK中的配准算法框架 166
7.3 几何变换 169
7.3.1 刚性变换算法 170
7.3.2 线性变换与一对一变换 171
7.3.3 变换算法在MITK中的实现 171
7.4 图像插值 172
7.4.1 最近邻插值 173
7.4.2 线性插值 173
7.4.3 PV插值 173
7.4.4 插值算法在MITK中的实现 174
7.5 相似性测度 175
7.5.1 灰度平均差测度 176
7.5.2 归一化相关系数 176
7.5.3 Pattern Intensity 176
7.5.4 互信息 176
7.5.5 相似性测度在MITK中的实现 177
7.6 函数优化 178
7.7 配准算法实现 180
7.8 应用实例 180
7.9 小结 181
8 DICOM标准的实现 183
8.1 DICOM标准简介 183
8.1.1 DICOM标准的产生和演化 183
8.1.2 DICOM标准的主要特点 185
8.1.3 DICOM标准的总体结构和主要内容 186
8.2 MITK中DICOM标准的实现 188
8.2.1 DICOM数据编码方式和文件结构 189
8.2.2 DICOM文件读写模块(DICOM Utility)的实现 197
8.2.3 DICOM Utility在MITK中的封装 205
8.3 小结 209
9.1 开发环境的设置 211
9 应用MITK开发实际项目 211
9.2 一个简单的图像浏览器 217
9.3 用MITK进行表面重建 237
9.4 一个比较完善的例子 245
9.5 小结 265
10 扩充MITK功能 267
10.1 扩充MITK功能的预备知识 267
10.2 扩充Reader功能的实例之一 269
10.2.1 扩充Reader功能的一般步骤 269
10.2.3 实例程序的制作 270
10.2.2 实例程序的功能 270
10.3 扩充Filter功能的实例之二 275
10.3.1 扩充Filter功能的一般步骤 276
10.3.2 实例程序的功能 276
10.3.3 实例程序的制作 276
10.4 小结 286
11 基于MITK的三维医学影像处理与分析系统3DMed的设计与实现 287
11.1 背景介绍 287
11.2 相关工作 287
11.2.1 3DVIEWNIX系统简介 287
11.3.1 3DMed的设计目标 288
11.3 3DMed的整体设计 288
11.2.2 VolView系统简介 288
11.3.2 3DMed提供的功能简介 289
11.4 3DMed的Plugin整体框架的实现 291
11.4.1 Plugin SDK的实现 292
11.4.2 Plugins的实现 292
11.4.3 3DMed Kernel的实现 294
11.5 应用实例 295
11.6 小结 297
12 开发3DMed的Plugin 299
12.1 总体介绍 299
12.2.1 工程的建立及设置 302
12.2 使用MITK的Plugin实例 302
12.2.2 实例制作 304
12.2.3 插入到3DMed 307
12.3 不使用MITK的Plugin实例 308
12.3.1 工程的建立及设置 308
12.3.2 实例制作 309
12.3.3 插入到3DMed 318
12.4 小结 319
附录一 医学影像数据集 320
附录二 MITK网站介绍 321