1 前言
图像配准是图像处理研究领域中的一个典型问题和技术难点,其目的在于比较或融合针对同一对象在不同条件下获取的图像,例如图像会来自不同的采集设备,取自不同的时间,不同的拍摄视角等等。以医学图像为例,对于同一患者,可以采集含有准确解剖信息的图像诸如CT,MRI;同时,也可以采集到含有功能信息的图像诸如SPECT。然而,通过观察不同的图像进行诊断需要凭着空间想象和医生的主观经验。采用正确的图像配准方法则可以将多种多样的信息准确地融合到同一图像中,使医生更方便更精确地从各个角度观察病灶和结构。同时,通过对不同时刻采集的动态图像的配准,可以定量分析病灶和器官的变化情况,使得医疗诊断、制定手术计划、放射治疗计划更准确可靠。医疗图像配准是一门很有意义,但是又有些难度的领域,本人不是做这个领域的,所以本文只介绍两种简单的方案。第一种方案种是使用3D Slicer完成图像配准、第二种方案是使用SimpleITK完成图像配准任务。
1.1 使用3D Slicer完成图像配准
1.1.1 3D Slicer介绍与安装
3D Slicer是一个开放源码的软件平台,用于医学图像信息学、图像处理和三维可视化。在美国国立卫生研究院和全球开发者社区的支持下,Slicer经过20多年的发展,为医生、研究人员和公众带来了免费、强大的跨平台处理工具。3D Slicer支持Linux、MacOSX和windows操作系统,其下载地址为3D Slicer Download。3D Slicer的初始化界面如下所示。
1.1.2 安装对应的扩展model
Elastix是一款用来实现配准方法的开源软件,如今集成了很多流行的算法,用户可以方便地获得融合后的图像和变换等信息。但是3D Slicer之中并没有直接封装这个软件,所以需要用户自己按照。具体步骤如下:
1、首先点击view,选择Extension Manager;然后在搜索框中输入SlicerElastix,最后点击Install安装即可。具体过程如下图所示。
2、安装完成之后,将原始数据添加到3D Slicer之中,点击data,选择Choose Files to Add
3、完成1、2两步之后,点击搜索框,输入Elastix,分别在Fixed volume选择配准的基准文件,在Moving volums表示待配准的文件,点击Apply即可完成配准。
4、点击File,选择Save,保存配准之后的文件。3D Slicer默认是将配准的基准文件,待配准文件以及配准之后的文件一起保存的,前两个是我们本身的数据集,所以保存时根据文件名保存配准之后的文件即可。
1.2 使用SimpleITK完成图像配准
使用3D Slicer不需要你有编程知识就可以了完成简单的医疗图像配准任务。但是3D Slicer的缺点是不能并行执行,假设你只有两三个医疗图像待配准的话,使用3D Slicer相对是简单的,但是如果你需要配准的文件是上千的话,使用3D Slicer进行配准是不理智。接下来介绍一个使用SimpleITK完成图像配准的项目,它是MISA课程中使用深度学习进行脑组织分割的一个项目,下面是该项目的Github地址。该项目主要包含以下四个部分,使用SimpleITK进行医疗图像配准,对医疗图像进行归一化、使用预训练模型测试分割效果以及重新训练模型。感兴趣的可以自己了解以下,代码不是很复杂,就不讲了
-
Run Notebook “MISA_Project_PreProcesing_Step(1)_Registration.ipynb” to perform the registration of the Volumes to MNI template.
-
Run Notebook “MISA_Project_PreProcesing_Step(2)_Normalization.ipynb” to Perform Preprocessing (Pre-processing pipeline-2 mentioned in report) and to create the excel files that containing the path of the training , validation and testing data. Network Read the data from excel files that have the path of the data.
-
Folder “Model” Contain the pretrained model, Download the Weights from here https://goo.gl/VmhGYc
-
To run the code please the command “python train.py --config config_spm_tissue.json
2 参考文献
https://zh.wikipedia.org/wiki/%E5%9B%BE%E5%83%8F%E9%85%8D%E5%87%86
https://github.com/fitushar/Brain-Tissue-Segmentation-Using-Deep-Learning-Pipeline-NeuroNet/