CN104835171B - 一种itk和matlab形变场双向通道建立方法 - Google Patents
一种itk和matlab形变场双向通道建立方法 Download PDFInfo
- Publication number
- CN104835171B CN104835171B CN201510259692.6A CN201510259692A CN104835171B CN 104835171 B CN104835171 B CN 104835171B CN 201510259692 A CN201510259692 A CN 201510259692A CN 104835171 B CN104835171 B CN 104835171B
- Authority
- CN
- China
- Prior art keywords
- itk
- matlab
- deformation field
- deformation
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明涉及一种ITK和MATLAB形变场双向通道建立方法,包括以下步骤:1)获取ITK到MATLAB通道CPP文件;2)获取MATLAB到ITK通道CPP文件;3)获取CMakeList.txt;4)根据CMakeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB到ITK通道CPP文件通过CMake进行交叉编译,得到ITK和MATLAB形变场双向通道;5)检验所建立的ITK和MATLAB形变场双向通道的准确性。与现有技术相比,本发明具有便于读取和分析、双向通道等优点。
Description
技术领域
本发明涉及图像配准领域,尤其是涉及一种ITK和MATLAB形变场双向通道建立方法。
背景技术
医学图像配准,即通过寻找一种空间变换,使两幅医学图像上对应的点达到空间位置及解剖位置的完全一致。配准的结果应使两幅医学图像上所有的解剖点,或至少是所有具有诊断意义上的点都对应匹配。给定一幅参考图像和一幅目标图像,非参数图像配准被看作是一个优化问题,目标是去找到每个像素点的位移场,去找到一个图像的最佳变换。这个变换可以用形变场来表示,表示所有图像上的点从目标图像空间到参考图像空间上的空间变换。大部分非参数图像配准可以看成,基于相似性准则,通过不同的计算方式不断计算更新的形变场,并以此来优化形变场。因此,非参数配准的目的也可以说是获得最优的形变场,而对形变场的分析也必然成为配准工作中的重点。
图像配准是通过将模板图像变形为目标图像实现两图像中相同结构间的良好对应,这种对应性用配准得到的空间形变场来表达。形变场在ITK下可以用nii.gz格式的文件表达,在MATLAB下可以用矩阵的形式表达。针对ITK下nii.gz格式的形变场文件不能再MATLAB读取,而且MATLAB矩阵形式的形变场不能在ITK下读取,利用CMake跨平台自动编译工具,本发明提出了一种ITK和MATLAB形变场双向通道建立方法。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种便于读取和分析、双向通道的ITK和MATLAB形变场双向通道建立方法。
本发明的目的可以通过以下技术方案来实现:
一种ITK和MATLAB形变场双向通道建立方法,包括以下步骤:
1)获取ITK到MATLAB通道CPP文件;
2)获取MATLAB到ITK通道CPP文件;
3)获取CMakeList.txt;
4)根据CMakeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB到ITK通道CPP文件通过CMake进行交叉编译,得到ITK和MATLAB形变场双向通道;
5)检验所建立的ITK和MATLAB形变场双向通道的准确性。
所述的步骤1)具体包括以下步骤:
11)获取ITK下形变场文件的参数:
读取ITK下形变场的区域变量、尺寸大小和索引参数信息,根据参数信息定位并获取形变场数据;
12)初始化MATLAB形变场矩阵;
13)根据ITK下形变场的参数信息为初始化的MATLAB形变场矩阵赋值。
所述的步骤2)具体包括以下步骤:
21)定义和初始化形变场以及缓冲图像:
定义形变场在ITK下的形变场文件的参数,包括形变场区域变量、尺寸大小和索引,初始化形变场,并初始化缓冲图像;
22)形变场数据交换,在ITK下初始化形变场文件之后,将MATLAB下矩阵形式的数据赋值给形变场文件;
23)获取形变场文件。
所述的步骤3)中的CMakeList.txt文件包括对生成目标、编译的标示和选项声明。
所述的步骤5)具体包括以下步骤:
51)利用基于ITK配准程序配准目标图像和参考图像,产生原始形变场;
52)根据建立的ITK到MATLAB通道读取原始形变场,得到转换后的形变场;
53)分别在MATLAB平台采用转换后的形变场将测试图像去形变,以及在ITK框架下采用原始形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1),重新建立通道。
所述的步骤5)包括以下步骤:
54)基于MATLAB配准程序配准目标图像和参考图像,产生原始形变场;
55)根据建立的MATLAB到ITK通道写出原始形变场,得到转换后的形变场;
56)分别在MATLAB平台采用原始形变场将测试图像去形变,以及在ITK框架下采用转换后的形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1),重新建立通道。
与现有技术相比,本发明具有以下优点:
1)便于读取和分析:本发明利用CMake交叉编译,建立了ITK到MATLAB形变场通道,使得ITK框架下的nii.gz格式的形变场能够在MATLAB中读取并进行分析,比如形变场任意区域的叠加。
2)双向通道:本发明利用CMake交叉编译,建立了MATLAB到ITK形变场通道,使得MATLAB下产生的形变场数据能写为ITK下能读取的nii.gz格式的文件,该通道能够将ITK下和MATLAB下产生的不同形式的形变场相互转换,对MATLAB和ITK平台配准算法形变场分析有重要的意义。
附图说明
图1为本发明的流程示意图。
图2为实施例的ITK到MATLAB形变场通道实验图。
图3为实施例的MATLAB到ITK形变场通道实验图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例:
一、运行环境:
该方法基于MATLAB平台,针对医学图像配准算法产生的形变场,建立了ITK和MATLAB形变场双向通道--ITK到MATLAB形变场通道和MATLAB到ITK形变场通道。
二、实施步骤:
如图1所示,一种ITK和MATLAB形变场双向通道建立方法,该方法建立了ITK和MATLAB形变场双向通道,具体包括步骤:
步骤1.编写ITK到MATLAB通道CPP文件:读取ITK下形变场文件参数;初始化MATLAB下形变场矩阵;读出形变场文件数据并赋值。
a)读取ITK下形变场文件参数;
首先读取ITK下形变场的区域变量、尺寸大小和索引,有了这些信息才能正确定位形变场数据并提取出来。此过程主要代码如下:
b)初始化MATLAB下形变场矩阵;
在MATLAB下形变场以矩阵形式存在,如果想获得ITK下形变场文件的数据,需要先对矩阵进行初始化。此过程主要代码如下:
c)读出形变场文件数据并赋值。
在读取ITK下形变场数据的文件和参数和初始化MATLAB下矩阵后,转换为MATLAB下矩阵还需要提取形变场的数据并且赋值给矩阵。此过程主要代码如下:
步骤2.编写MATLAB到ITK通道CPP文件:定义和初始化形变场和缓冲图像;形变场数据交换;写出形变场文件。
a)定义和初始化形变场和缓冲图像;
首先,定义形变场在ITK下的形变场文件的参数,然后初始化形变场。缓冲图像,作为程序的输入参数既定义了形变场尺寸大小,又在数据交换时作为缓冲区,其初始化和形变场初始化类似。以下代码实现了形变场初始化:
b)形变场数据交换;
初始化形变场文件之后,每个像素的数据还没有赋值,接下来就是把MATLAB下矩阵形式的数据赋值给形变场文件。以下代码实现了数据交换的功能:
c)写出形变场文件
形变场文件经过初始化、赋值运算后,接下来就要进行写出文件。由于ITK采用Pipeline机制,执行语句df_writer->Update()的时候,pipeline的请求向上传递,这时才真正开始进行写形变场文件操作。以下代码实现了形变场写出文件的功能:
typename itk::ImageFileWriter<DeformationFieldType>::Pointer df_writer=itk::ImageFileWriter<DeformationFieldType>::New();
df_writer->SetFileName(outputDfFilename);
df_writer->SetInput(field);
df_writer->SetUseCompression(true);
df_writer->Update();
步骤3.编写CMakeList.txt,CMakeList.txt文件包含对生成目标、编译的标示和选项等声明。
步骤4.使用CMake进行交叉编译,CMake是一个跨平台的编译工具,是为了解决ITK软件的跨平台建构的需求而创造出来的。用CMake设置交叉编译环境并管理形变场双向通道的生成过程。
步骤5检验通道建立的准确性。
检验通道建立的准确性,基于ITK编程采用Brian B.Avants提出的ANTs配准算法,基于MATLAB程序采用Mer t R.Sabuncu提出的AIT(Asymmetric image-template)配准算法。采用测试图像为nii.gz格式、分辨率大小是256x256x256三维MR(Magnetic Resonance)手工分割图像,其中分割区域个数为45个,如海马体、脑干等。
如图2所示,图为ITK到MATLAB形变场通道实验图,首先利用ANTs配准目标图像和参考图像,产生形变场,然后用ITK到MATLAB通道读取形变场,在MATLAB下保存为def_x,deg_y,def_z。接着分别在MATLAB平台和ITK框架下去形变测试图像,对比显示两种方法形变后的图像是否相同。若相同,则说明通道建立正确。反之,通道建立不正确。
如图3所示,图为MATLAB到ITK形变场通道实验图,利用AIT配准目标图像和参考图像,产生形变场,接着用MATLAB到ITK通道写出形变场,在ITK框架下保存为nii.gz格式形变场。接着分别在MATLAB平台和ITK框架下去形变测试图像,对比显示两种方法形变后的图像是否相同。若相同,则说明通道建立正确。反之,通道建立不正确。
Claims (1)
1.一种ITK和MATLAB形变场双向通道建立方法,其特征在于,包括以下步骤:
1)获取ITK到MATLAB通道CPP文件,具体包括以下步骤:
11)获取ITK下形变场文件的参数:
读取ITK下形变场的区域变量、尺寸大小和索引参数信息,根据参数信息定位并获取形变场数据;
12)初始化MATLAB形变场矩阵;
13)根据ITK下形变场的参数信息为初始化的MATLAB形变场矩阵赋值;
2)获取MATLAB到ITK通道CPP文件,具体包括以下步骤:
21)定义和初始化形变场以及缓冲图像:
定义形变场在ITK下的形变场文件的参数,包括形变场区域变量、尺寸大小和索引,初始化形变场,并初始化缓冲图像;
22)形变场数据交换,在ITK下初始化形变场文件之后,将MATLAB下矩阵形式的数据赋值给形变场文件;
23)获取形变场文件;
3)获取CMakeList.txt,所述的CMakeList.txt文件包括对生成目标、编译的标示和选项声明;
4)根据CMakeList.txt中限定的编译条件,对ITK到MATLAB通道CPP文件和MATLAB到ITK通道CPP文件通过CMake进行交叉编译,得到ITK和MATLAB形变场双向通道;
5)检验所建立的ITK和MATLAB形变场双向通道的准确性,所述的步骤5)具体包括以下步骤:
51)利用基于ITK配准程序配准目标图像和参考图像,产生原始形变场;
52)根据建立的ITK到MATLAB通道读取原始形变场,得到转换后的形变场;
53)分别在MATLAB平台采用转换后的形变场将测试图像去形变,以及在ITK框架下采用原始形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1),重新建立通道;
所述的步骤5)还包括以下步骤:
54)基于MATLAB配准程序配准目标图像和参考图像,产生原始形变场;
55)根据建立的MATLAB到ITK通道写出原始形变场,得到转换后的形变场;
56)分别在MATLAB平台采用原始形变场将测试图像去形变,以及在ITK框架下采用转换后的形变场去形变,判断两种方法形变后的图像是否相同,若是,则通道建立正确,若否,则通道建立不正确,返回步骤1),重新建立通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259692.6A CN104835171B (zh) | 2015-05-20 | 2015-05-20 | 一种itk和matlab形变场双向通道建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259692.6A CN104835171B (zh) | 2015-05-20 | 2015-05-20 | 一种itk和matlab形变场双向通道建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104835171A CN104835171A (zh) | 2015-08-12 |
CN104835171B true CN104835171B (zh) | 2018-11-09 |
Family
ID=53813036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259692.6A Active CN104835171B (zh) | 2015-05-20 | 2015-05-20 | 一种itk和matlab形变场双向通道建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104835171B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346024A (zh) * | 2017-08-08 | 2017-11-14 | 芜湖通全科技有限公司 | 融合宽幅与条带sar干涉形变场的技术 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793904A (zh) * | 2012-10-29 | 2014-05-14 | 深圳先进技术研究院 | 图像配准装置及其图像配准的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036452B (zh) * | 2013-03-06 | 2017-12-05 | 东芝医疗系统株式会社 | 图像处理装置和方法以及医学图像设备 |
-
2015
- 2015-05-20 CN CN201510259692.6A patent/CN104835171B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793904A (zh) * | 2012-10-29 | 2014-05-14 | 深圳先进技术研究院 | 图像配准装置及其图像配准的方法 |
Non-Patent Citations (1)
Title |
---|
MATLAB-ITK Interface for Medical Image Filtering,Segmentation, and Registration;Vincent Chu等;《Proceedings of SPIE Medical Imaging: Image Processing》;20061231;第6144卷;第61443T-1-61443T-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104835171A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569979B (zh) | 面向嘈杂中型量子设备的逻辑-物理比特重映射方法 | |
CN101542487B (zh) | 图形处理器上的物理仿真 | |
US11494681B1 (en) | Quantum instruction compiler for optimizing hybrid algorithms | |
Rupnow et al. | A study of high-level synthesis: Promises and challenges | |
CN112102294B (zh) | 生成对抗网络的训练方法及装置、图像配准方法及装置 | |
TWI516775B (zh) | 用以改善半導體檢測之產率或維護性質的檢測系統 | |
US11620530B2 (en) | Learning method, and learning apparatus, and recording medium | |
CN104254868A (zh) | 使用至少一个较高帧速率图像流提高图像流帧速率的方法和装置 | |
CN103712628B (zh) | 导航路径描绘方法和终端 | |
US8813011B2 (en) | Clock-reconvergence pessimism removal in hierarchical static timing analysis | |
KR102311798B1 (ko) | 다중 객체 추적 방법 및 장치 | |
CN104835171B (zh) | 一种itk和matlab形变场双向通道建立方法 | |
JP2022166215A (ja) | 文字位置決めモデルのトレーニング方法及び文字位置決め方法 | |
Sartori et al. | STNWeb: A new visualization tool for analyzing optimization algorithms | |
JP5923604B2 (ja) | フォントアウトラインの変更に従って命令を発生するための方法およびシステム | |
CN107004136B (zh) | 用于估计人脸图像的人脸关键点的方法和系统 | |
CN109087331A (zh) | 一种基于kcf算法的运动预测方法 | |
CN106296682A (zh) | 用于医学图像中文本区域检测的方法及装置 | |
Siddiqi et al. | A Network Analysis for Correspondence Learning via Linearly-Embedded Functions | |
CN106457331A (zh) | 采用多个因素的组合来执行和通知金属板仿真 | |
US10242138B2 (en) | Method of automatic synthesis of circuits, device and computer program associated therewith | |
Fehling | Algorithms for massively parallel generic hp-adaptive finite element methods | |
CN105389194A (zh) | 一种确定应用程序计算逻辑的方法及装置 | |
KR20140137548A (ko) | 선형 판별 분석을 이용하여 복잡도를 줄인 특징 추출 방법 및 그 시스템 | |
Klawonn et al. | HAUCA curves for the evaluation of biomarker pilot studies with small sample sizes and large numbers of features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |