Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种ITK和MATLAB形变场双向通道建立方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:上海电力学院

摘要:本发明涉及一种ITK和MATLAB形变场双向通道建立方法,包括以下步骤:1获取ITK到MATLAB通道CPP文件;2获取MATLAB到ITK通道CPP文件;3获取CMkeList.txt;4根据CMkeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB到ITK通道CPP文件通过CMake进行交叉编译,得到ITK和MATLAB形变场双向通道;5检验所建立的ITK和MATLAB形变场双向通道的准确性。与现有技术相比,本发明具有便于读取和分析、双向通道等优点。

主权项:一种ITK和MATLAB形变场双向通道建立方法,其特征在于,包括以下步骤:1获取ITK到MATLAB通道CPP文件;2获取MATLAB到ITK通道CPP文件;3获取CMkeList.txt;4根据CMkeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB到ITK通道CPP文件通过CMake进行交叉编译,得到ITK和MATLAB形变场双向通道;5检验所建立的ITK和MATLAB形变场双向通道的准确性。

全文数据:一种ITK和MATLAB形变场双向通道建立方法技术领域[0001]本发明涉及图像配准领域,尤其是涉及一种ITK和MATLAB形变场双向通道建立方法。背景技术[0002]医学图像配准,即通过寻找一种空间变换,使两幅医学图像上对应的点达到空间位置及解剖位置的完全一致。配准的结果应使两幅医学图像上所有的解剖点,或至少是所有具有诊断意义上的点都对应匹配。给定一幅参考图像和一幅目标图像,非参数图像配准被看作是一个优化问题,目标是去找到每个像素点的位移场,去找到一个图像的最佳变换。这个变换可以用形变场来表示,表示所有图像上的点从目标图像空间到参考图像空间上的空间变换。大部分非参数图像配准可以看成,基于相似性准则,通过不同的计算方式不断计算更新的形变场,并以此来优化形变场。因此,非参数配准的目的也可以说是获得最优的形变场,而对形变场的分析也必然成为配准工作中的重点。[0003]图像配准是通过将模板图像变形为目标图像实现两图像中相同结构间的良好对应,这种对应性用配准得到的空间形变场来表达。形变场在ITK下可以用nii.gz格式的文件表达,在MATLAB下可以用矩阵的形式表达。针对ITK下nii.gz格式的形变场文件不能再MATLAB读取,而且MATLAB矩阵形式的形变场不能在ITK下读取,利用CMake跨平台自动编译工具,本发明提出了一种ITK和MTLAB形变场双向通道建立方法。发明内容[0004]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种便于读取和分析、双向通道的ITK和MTLAB形变场双向通道建立方法。[0005]本发明的目的可以通过以下技术方案来实现:[0006]一种ITK和MATLAB形变场双向通道建立方法,包括以下步骤:[0007]1获取ITK到MATLAB通道CPP文件;[0008]2获取MATLAB到ITK通道CPP文件;[0009]3获取CMakeList·txt;[0010]4根据CMakeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB至IjITK通道CPP文件通过CMake进行交叉编译,得到ITK和MATLAB形变场双向通道;[0011]5检验所建立的ITK和MATLAB形变场双向通道的准确性。[0012]所述的步骤1具体包括以下步骤:[0013]11获取ITK下形变场文件的参数:[0014]读取ITK下形变场的区域变量、尺寸大小和索引参数信息,根据参数信息定位并获取形变场数据;[0015]12初始化MTLAB形变场矩阵;[0016]13根据ITK下形变场的参数信息为初始化的MATLAB形变场矩阵赋值。[0017]所述的步骤2具体包括以下步骤:[0018]21定义和初始化形变场以及缓冲图像:[0019]定义形变场在ITK下的形变场文件的参数,包括形变场区域变量、尺寸大小和索弓丨,初始化形变场,并初始化缓冲图像;[0020]22形变场数据交换,在ITK下初始化形变场文件之后,将MATLAB下矩阵形式的数据赋值给形变场文件;[0021]23获取形变场文件。[0022]所述的步骤3中的CMakeList.txt文件包括对生成目标、编译的标示和选项声明。[0023]所述的步骤5具体包括以下步骤:[0024]51利用基于ITK配准程序配准目标图像和参考图像,产生原始形变场;[0025]52根据建立的ITK到MATLAB通道读取原始形变场,得到转换后的形变场;[0026]53分别在MATLAB平台采用转换后的形变场将测试图像去形变,以及在ITK框架下采用原始形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1,重新建立通道。[0027]所述的步骤5包括以下步骤:[0028]54基于MATLAB配准程序配准目标图像和参考图像,产生原始形变场;[0029]55根据建立的MATLAB至IjITK通道写出原始形变场,得到转换后的形变场;[0030]56分别在MATLAB平台采用原始形变场将测试图像去形变,以及在ITK框架下采用转换后的形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1,重新建立通道。[0031]与现有技术相比,本发明具有以下优点:[0032]1便于读取和分析:本发明利用CMake交叉编译,建立了ITK到MATLAB形变场通道,使得ITK框架下的nii.gz格式的形变场能够在MATLAB中读取并进行分析,比如形变场任意区域的叠加。[0033]2双向通道:本发明利用CMake交叉编译,建立了MATLAB到ITK形变场通道,使得MATLAB下产生的形变场数据能写为ITK下能读取的nii.gz格式的文件,该通道能够将ITK下和MATLAB下产生的不同形式的形变场相互转换,对MATLAB和ITK平台配准算法形变场分析有重要的意义。附图说明[0034]图1为本发明的流程示意图。[0035]图2为实施例的ITK到MATLAB形变场通道实验图。[0036]图3为实施例的MTLAB到ITK形变场通道实验图。具体实施方式[0037]下面结合附图和具体实施例对本发明进行详细说明。[0038]实施例:[0039]一、运行环境:[0040]该方法基于MATLAB平台,针对医学图像配准算法产生的形变场,建立了ITK和MATLAB形变场双向通道一ITK到MATLAB形变场通道和MATLAB到ITK形变场通道。[0041]二、实施步骤:[0042]如图1所示,一种ITK和MATLAB形变场双向通道建立方法,该方法建立了ITK和MTLAB形变场双向通道,具体包括步骤:[0043]步骤1.编写ITK到MATLAB通道CPP文件:读取ITK下形变场文件参数;初始化MATLAB下形变场矩阵;读出形变场文件数据并赋值。[0044]a读取ITK下形变场文件参数;[0045]首先读取ITK下形变场的区域变量、尺寸大小和索引,有了这些信息才能正确定位形变场数据并提取出来。此过程主要代码如下:[0046]读取形变场区域变量、尺寸大小和索引[0047]b初始化MTLAB下形变场矩阵;[0048]在MATLAB下形变场以矩阵形式存在,如果想获得ITK下形变场文件的数据,需要先对矩阵进行初始化。此过程主要代码如下:[[0050]c读出形变场文件数据并赋值。[0051]在读取ITK下形变场数据的文件和参数和初始化MATLAB下矩阵后,转换为MATLAB下矩阵还需要提取形变场的数据并且赋值给矩阵。此过程主要代码如下:[0053]步骤2.编写MATLAB到ITK通道CPP文件:定义和初始化形变场和缓冲图像;形变场数据交换;写出形变场文件。[0054]a定义和初始化形变场和缓冲图像;[0055]首先,定义形变场在ITK下的形变场文件的参数,然后初始化形变场。缓冲图像,作为程序的输入参数既定义了形变场尺寸大小,又在数据交换时作为缓冲区,其初始化和形变场初始化类似。以下代码实现了形变场初始化:[0058]b形变场数据交换;[0059]初始化形变场文件之后,每个像素的数据还没有赋值,接下来就是把MATLAB下矩阵形式的数据赋值给形变场文件。以下代码实现了数据交换的功能:[0061]c写出形变场文件[0062]形变场文件经过初始化、赋值运算后,接下来就要进行写出文件。由于ITK采用Pipeline机制,执行语句df_writer_Update的时候,pipeline的请求向上传递,这时才真正开始进行写形变场文件操作。以下代码实现了形变场写出文件的功能:[0063]typenameitk::ImageFiIeWriter〈DeformationFieldType::Pointerdf_writer=itk::ImageFileffriter::New;[0064]df_writer-SetFiIeNameoutputDfFilename;[0065]df_writer-SetInputfield;[0066]df_writer-SetUseCompressiontrue;[0067]df_writer-Update;[0068]步骤3.编写CMakeList.txt,CMakeList.txt文件包含对生成目标、编译的标示和选项等声明。[0069]步骤4.使用CMake进行交叉编译,CMake是一个跨平台的编译工具,是为了解决ITK软件的跨平台建构的需求而创造出来的。用CMake设置交叉编译环境并管理形变场双向通道的生成过程。[0070]步骤5检验通道建立的准确性。[0071]检验通道建立的准确性,基于ITK编程采用BrianB.Avants提出的ANTs配准算法,基于MATLAB程序米用MertR.Sabuncu提出的AITAsymmetricimage-template配准算法。采用测试图像为nii.gz格式、分辨率大小是256x256x256三维MRMagneticResonance手工分割图像,其中分割区域个数为45个,如海马体、脑干等。[0072]如图2所示,图为ITK到MATLAB形变场通道实验图,首先利用ANTs配准目标图像和参考图像,产生形变场,然后用ITK到MATLAB通道读取形变场,在MATLAB下保存为def_x,deg_y,def_Z。接着分别在MATLAB平台和ITK框架下去形变测试图像,对比显示两种方法形变后的图像是否相同。若相同,则说明通道建立正确。反之,通道建立不正确。[0073]如图3所示,图为MATLAB到ITK形变场通道实验图,利用ΑΠ'配准目标图像和参考图像,产生形变场,接着用MATLAB至IjITK通道写出形变场,在ITK框架下保存为nii.gz格式形变场。接着分别在MATLAB平台和ITK框架下去形变测试图像,对比显示两种方法形变后的图像是否相同。若相同,则说明通道建立正确。反之,通道建立不正确。

权利要求:I.一种ITK和MATLAB形变场双向通道建立方法,其特征在于,包括以下步骤:1获取ITK到MTLAB通道CPP文件,具体包括以下步骤:11获取ITK下形变场文件的参数:读取ITK下形变场的区域变量、尺寸大小和索引参数信息,根据参数信息定位并获取形变场数据;12初始化MTLAB形变场矩阵;13根据ITK下形变场的参数信息为初始化的MATLAB形变场矩阵赋值;2获取MTLAB到ITK通道CPP文件,具体包括以下步骤:21定义和初始化形变场以及缓冲图像:定义形变场在ITK下的形变场文件的参数,包括形变场区域变量、尺寸大小和索引,初始化形变场,并初始化缓冲图像;22形变场数据交换,在ITK下初始化形变场文件之后,将MATLAB下矩阵形式的数据赋值给形变场文件;23获取形变场文件;3获取CMakeList.txt,所述的CMakeList.txt文件包括对生成目标、编译的标示和选项声明;4根据CMakeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB到ITK通道CPP文件通过CMake进行交叉编译,得到ITK和MTLAB形变场双向通道;5检验所建立的ITK和MATLAB形变场双向通道的准确性,所述的步骤5具体包括以下步骤:51利用基于ITK配准程序配准目标图像和参考图像,产生原始形变场;52根据建立的ITK到MATLAB通道读取原始形变场,得到转换后的形变场;53分别在MATLAB平台采用转换后的形变场将测试图像去形变,以及在ITK框架下采用原始形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1,重新建立通道;所述的步骤5还包括以下步骤:54基于MATLAB配准程序配准目标图像和参考图像,产生原始形变场;55根据建立的MATLAB到ITK通道写出原始形变场,得到转换后的形变场;56分别在MATLAB平台采用原始形变场将测试图像去形变,以及在ITK框架下采用转换后的形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1,重新建立通道。

百度查询: 上海电力学院 一种ITK和MATLAB形变场双向通道建立方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。