基于ITK的医学图像配准的学习总结
2012-01-05 17:13
465 查看
http://blog.sina.com.cn/s/blog_62ccbb810100hven.html
真正投入到ITK中的时间不多,学习过程中主要在体会registration的框架,熟悉各种变换,准则,优化器和插值。今天因为老师布置的任务进行了调整,我后面的工作主要不在这块,就前段时间对基于ITK的registration的认识做下总结,不能浪费之前所花的时间啊!
配准的过程主要包括四个模块,即:变换,插值,准则,优化。整个配准的实现过程实际上可以认为是一个优化过程。在确定变换方式后,待配准图像变换到参考图像的坐标系中,由于经过变换后的位置可能不在网格点上,这时通过插值获取变换后的点的亮度值,如线性插值,邻域插值等等。
metric(准则),如均方差,互信息准则等等。用于将变化后图像的差异数学化,它的输入包括:参考图像和待配准图像,变换函数和interpolator(插值器)。用准则对数据进行计算后的值将用优化器进行优化,优化后的参数将返回迭代再进行配准,一直到达到要求。
优化器有两种类型:1.singalvalue,即优化器返回单值的cost function,2.返回多值的,即muti-value。
配准就是在基于上述四个部分,针对不同的图形情况,如单模,多模,去用不同的准则,变换,优化器和插值方法。在这个配准框架下,不同的部分在设置参数时有变换,这个也是难点。不同的优化器,往往参数设置不同,这个就需要了解优化器和配准方法的算法。如放射变换有旋转变换的矩阵,平移量。muti-solution registration(多分辨率配准)要改变步长等等。
配准步骤,设置待配准图像和参考图像的像素类型,维数。实例化上述四个部分,并将其组合到registration中,设置各部分的参数,并触发配准开始。通过最终得到的参数重采样带配准图像,得到配准结果。比较配准前后和配准过程后的差异。实例化往往先定义——tyoedef,再指向智能指针,然后通过指针调用set*()函数设置参数。
在配准过程中,有时会根据具体情况先用*filter对图像进行处理。如在配准中对精度要求高的话,先用cast*filter将图像转化为float型,配准后再转化为char,或int型存储。如果图像噪声比较明显,也可以先用*filter除噪在配准。有的也用filter保留边缘,在配准。
ITK的参数输入是在工程的属性dubug中输入,如:配准图像的文件名称,优化器的某些参数,变化后图像配准区域外的亮度,输出图像的名字等等。具体代码较多这里不附上,只要理解上述过程,代码是比较好看的。
任务换了,接下来应该针对任务做出新的打算,有近远期计划。最大的对手往往是自己,天行健,君子以自强不息,君子以厚德载物!
真正投入到ITK中的时间不多,学习过程中主要在体会registration的框架,熟悉各种变换,准则,优化器和插值。今天因为老师布置的任务进行了调整,我后面的工作主要不在这块,就前段时间对基于ITK的registration的认识做下总结,不能浪费之前所花的时间啊!
配准的过程主要包括四个模块,即:变换,插值,准则,优化。整个配准的实现过程实际上可以认为是一个优化过程。在确定变换方式后,待配准图像变换到参考图像的坐标系中,由于经过变换后的位置可能不在网格点上,这时通过插值获取变换后的点的亮度值,如线性插值,邻域插值等等。
metric(准则),如均方差,互信息准则等等。用于将变化后图像的差异数学化,它的输入包括:参考图像和待配准图像,变换函数和interpolator(插值器)。用准则对数据进行计算后的值将用优化器进行优化,优化后的参数将返回迭代再进行配准,一直到达到要求。
优化器有两种类型:1.singalvalue,即优化器返回单值的cost function,2.返回多值的,即muti-value。
配准就是在基于上述四个部分,针对不同的图形情况,如单模,多模,去用不同的准则,变换,优化器和插值方法。在这个配准框架下,不同的部分在设置参数时有变换,这个也是难点。不同的优化器,往往参数设置不同,这个就需要了解优化器和配准方法的算法。如放射变换有旋转变换的矩阵,平移量。muti-solution registration(多分辨率配准)要改变步长等等。
配准步骤,设置待配准图像和参考图像的像素类型,维数。实例化上述四个部分,并将其组合到registration中,设置各部分的参数,并触发配准开始。通过最终得到的参数重采样带配准图像,得到配准结果。比较配准前后和配准过程后的差异。实例化往往先定义——tyoedef,再指向智能指针,然后通过指针调用set*()函数设置参数。
在配准过程中,有时会根据具体情况先用*filter对图像进行处理。如在配准中对精度要求高的话,先用cast*filter将图像转化为float型,配准后再转化为char,或int型存储。如果图像噪声比较明显,也可以先用*filter除噪在配准。有的也用filter保留边缘,在配准。
ITK的参数输入是在工程的属性dubug中输入,如:配准图像的文件名称,优化器的某些参数,变化后图像配准区域外的亮度,输出图像的名字等等。具体代码较多这里不附上,只要理解上述过程,代码是比较好看的。
任务换了,接下来应该针对任务做出新的打算,有近远期计划。最大的对手往往是自己,天行健,君子以自强不息,君子以厚德载物!
相关文章推荐
- 阅读笔记——基于字典学习的图像分类方法总结
- DICOM医学图像处理:基于DCMTK工具包学习和分析worklist
- ITK配准:基于手动设置配准点的图像配准
- 基于图像配准的图像特征检测之sift算法----sift算法总结
- 基于图像原始像素信息的简单CT/MRI医学图像配准方法
- 一种基于时空特征及有监督学习的医学图像分类方法:Automatic apical view classfication of echocardiograms using a ...
- DICOM医学图像处理:基于DCMTK工具包学习和分析worklist
- 基于内容的医学图像总结
- ITK图像配准01-学习
- 基于sift的图像配准代码
- 基于图学习的图像去噪(二)——图学习算法
- 图像去雾算法(二)基于暗通道先验算法学习笔记
- 嵌入式arm学习总结(三)--IIC 基于AT24C02
- JavaScript学习总结(5)——Javascript面向(基于)对象编程
- 基于FCN的医学图像分割(1)
- opencv 学习第四天 学习opencv(中文版) 总结一下opencv的图像视频的简单应用
- 基于mini6410的linux驱动学习总结(四 设计字符设备驱动程序)
- 基于linux程序中段的学习总结详解
- 基于DCMTK的DICOM医学图像显示及其调窗方法研究
- Matlab图像处理学习笔记(二):基于颜色的图像分割