您的位置:首页 > 其它

基于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中输入,如:配准图像的文件名称,优化器的某些参数,变化后图像配准区域外的亮度,输出图像的名字等等。具体代码较多这里不附上,只要理解上述过程,代码是比较好看的。

   任务换了,接下来应该针对任务做出新的打算,有近远期计划。最大的对手往往是自己,天行健,君子以自强不息,君子以厚德载物!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息