此示例显示如何使用imregister
使用基于强度的图像配准,将两个磁共振(MRI)图像自动对齐到一个共同的坐标系统。这种方法不寻找特性或使用控制点。基于强度的注册通常非常适合于医学和遥感图像。
此示例使用膝盖的两个MRI图像。固定图像是自旋回波图像,而运动图像是具有反转恢复的自旋回波图像。同时获得两个矢状切片,但略微失去对齐。
固定= dicomread(“knee1.dcm”);移动= dicomread ('knee2.dcm');
的imshowpair.
函数对于在注册过程的每个部分可视化图像是有用的。使用它看到两个图像单独在蒙太奇或显示他们重叠显示错误配准的数量。
imshowpair(移动,固定,“蒙太奇”) 标题('未注册')
在重叠的图像中imshowpair.
在美国,灰色区域对应的是具有相似强度的区域,而品红和绿色区域显示的是其中一个图像比另一个图像更亮的地方。在一些图像对中,绿色和品红区域并不总是表示错误配准,但在本例中,很容易使用颜色信息来查看错误配准的位置。
imshowpair(移动、固定)标题('未注册')
的imregconfig
功能使得可以轻松选择正确的优化器和公制配置imregister
.优化器和度量变量是其属性控制注册的对象。有关更多信息,请参阅为基于强度的图像配准创建优化器和度量.
这两个图像具有不同的强度分布,这表明了多模级配置。
(优化器,度量)= imregconfig ('多峰');
两幅图像之间的畸变包括缩放、旋转和可能的剪切。使用仿射变换来配准图像。
vishRegisteredDefault = Imregister(移动,修复,仿射的优化器,指标);
显示结果。这是非常罕见的imregister
将使图像与默认设置完美对齐。不过,使用它们是决定先调优哪些属性的有用方法。
imshowpair(vishorgistereddefault,固定)标题(答:默认注册的)
初始注册不是很好。仍然有一些重要的区域排列不良,特别是在右侧边缘。尝试通过调整优化器和度量配置属性来改进注册。
DISP(优化器)
Registration.Optimizer.onePlusOneevolutiesary:Breaverfactor:1.050000E + 00 Epsilon:1.500000E-06 InitialRadius:6.250000E-03最大限度:100
disp(公制)
注册。metric. mattesmutualinformation属性:NumberOfSpatialSamples: 500 NumberOfHistogramBins: 50 UseAllPixels: 1
的initialRadius.
优化器的属性控制参数空间中使用的初始步长,以改进几何变换。当多模式注册问题不收敛默认参数时,initialRadius.
是一个调整的良好第一个参数。首先减少默认值initialRadius.
比例系数为3.5。
Optimizer.InitialRadius = Optimizer.InitialRadius / 3.5;vishtregisteredadjustedinitialradius = imregister(移动,修复,仿射的优化器,指标);
显示结果。调整initialRadius.
产生积极的影响。在顶部和右边缘处的图像对准有一个明显的改进。
imshowpair(vishtregisteredadjustedinitialradius,固定)标题('B:调整itallradius')
的MaximumIterations
优化器的属性控制优化器将允许采取的最大迭代次数。越来越多MaximumIterations
允许注册搜索运行较长,并可能找到更好的注册结果。如果注册是否继续改善initialRadius.
从最后一步使用大量的迭代?
优化器.maximumIneration = 300;vishtregisteredadjustedinitialradius300 = Imregister(移动,修复,仿射的优化器,指标);
显示结果。通过重用来实现注册的进一步改善initialRadius.
优化器设置从以前的注册和允许优化器采取大量的迭代。
imshowpair (movingRegisteredAdjustedInitialRadius300、固定)标题('C: Adjusted InitialRadius, MaximumIterations = 300')
当给定一个良好的初始条件时,基于优化的配准效果最好。要想获得更好的配准结果,一种有用的技术是从更简单的转换类型开始,比如“刚性”
,然后使用生成的转换作为更复杂的转换类型的初始条件,如仿射的
.
这个函数imregtform.
使用相同的算法imregister
,但返回一个几何变换对象作为输出,而不是一个注册的输出图像。使用imregtform.
基于a获取初始转换估计'相似'
模型(翻译,旋转和缩放)。
修改后的配准结果有所改善MaximumIterations
和initialRadius.
优化器的属性。使用初始条件并尝试进一步改进注册时保留这些优化器设置。
tformSimilarity = imregtform(移动,固定的,'相似'优化器,指标);
因为配准是在默认坐标系统(也称为内在坐标系统)中解决的,所以获取默认的空间引用对象,该对象定义了固定图像的位置和分辨率。
Rfixed = imref2d(大小(固定));
使用imwarp
来应用几何变换输出imregtform.
将移动图像与固定图像对齐。使用'outputview'
选项imwarp
指定输出重采样图像的世界范围和分辨率。指定Rfixed
随着'outputview'
强制重采样的运动图像具有与固定图像相同的分辨率和世界限制。
tformSimilarity movingRegisteredRigid = imwarp(移动,'outputview', Rfixed);
显示结果。
imshowpair (movingRegisteredRigid、固定)标题('D:基于相似性转换模型的注册')
的“T”
输出几何变换的属性定义了变换矩阵,该变换矩阵将运动图像中的点映射到固定图像中的对应点。
tformsimilarity.t.
ANS =.3×31.0331 -0.1110 0 0.1110 1.0331 0 -51.1491 6.9891 1.0000
使用“InitialTransformation”
名称-值参数在imregister
通过使用仿射的
的转换模型'相似'
结果用作几何变换的初始条件。这个精确的估计包括剪切的可能性。
vishregisteredaffineWithic = Imregister(移动,固定,仿射的优化器,度规,...“InitialTransformation”,tformsimillity);
显示结果。使用“InitialTransformation”
完善的'相似'
的结果imregtform.
具有完整仿射模型,产生了良好的注册结果。
imshowpair (movingRegisteredAffineWithIC、固定)标题('E:根据相似性初始条件的仿射模型注册)
比较运行结果imregister
在不同的配置和初始条件下,显然存在大量可以改变的输入参数imregister
,每个每个可能导致不同的注册结果。
定量比较配准结果是很困难的,因为没有一种质量指标能够准确描述两幅图像的对齐。通常,必须通过可视化结果来定性地判断注册结果。在上面的结果中,C)和E)的配准结果都很好,很难从视觉上分辨出来。
通常随着多式联运注册的质量提高,视觉上的注册质量变得更加困难。这是因为强度差异可能会掩盖未对准的区域。有时切换到不同的显示模式imshowpair.
暴露隐藏的细节。(情况并非总是如此。)
imregister
|imregconfig
|imwarp
|imref2d.
|OnePlusOneEvolutionary
|MattesMutualInformation
|均方
|RegularStepGradientDescent