这个例子展示了如何使用imregister
使用基于强度的图像配准自动将两个磁共振(MRI)图像对齐到一个共同的坐标系统。与其他一些技术不同,它不寻找特性或使用控制点。基于强度的配准通常非常适合于医学和遥感图像。
这个例子使用了膝盖的两个MRI图像。固定图像为自旋回波图像,运动图像为带反演恢复的自旋回波图像。两个矢状面切片是同时获得的,但稍不对齐。
固定= dicomread (“knee1.dcm”);移动= dicomread(“knee2.dcm”);
该imshowpair
功能是有用的可视化图像在每个部分的注册过程。使用它以蒙太奇的方式分别看到两个图像或显示他们堆叠显示错误配准的数量。
imshowpair(移动,固定,'剪辑')标题(“未注册”)
在从图像重叠imshowpair
在美国,灰色区域表示亮度相似的区域,而品红和绿色区域表示某幅图像比另一幅更亮的区域。在一些图像对中,绿色和洋红色区域并不总是表明配准错误,但在这个例子中,很容易使用颜色信息来查看它们的位置。
imshowpair(移动,固定)标题(“未注册”)
该imregconfig
函数使您可以轻松地选择要使用的正确优化器和度量配置imregister
。这两个图像具有不同的强度分布,这表明多模式配置。
(优化器,度量)= imregconfig (“多通道”);
两幅图像之间的失真包括缩放、旋转和(可能的)剪切。使用仿射变换来注册图像。
这是非常非常罕见的imregister
将使用默认设置完全一致的图像。然而,使用它们是先决定哪些属性来调节的有效方法。
movingRegisteredDefault = imregister(移动,固定的,“仿射”,优化器,度量);imshowpair(movingRegisteredDefault,固定)标题(“A:默认登记”)
初始登记不是很好。还有位不良的显著地区,特别是沿右边缘。尝试通过调节优化器和度量配置属性来提高登记。
优化器和度量变量是对象,其属性控制所述注册。
DISP(优化)
registration.optimizer。OnePlusOneEvolutionaryProperties: GrowthFactor: 1.050000e+00 Epsilon: 1.500000e-06 InitialRadius: 6.250000e-03 MaximumIterations: 100
DISP(公制)
registration.metric.MattesMutualInformation性质:NumberOfSpatialSamples:500个NumberOfHistogramBins:50个UseAllPixels:1
该InitialRadius
优化程序的属性控制在参数空间用于细化几何变换的初始步长。当多模态注册问题不使用默认参数收敛,InitialRadius
是一个很好的第一个调整参数。从减少默认值开始InitialRadius
按3.5的比例因子。
优化器。InitialRadius = optimizer.InitialRadius / 3.5;movingRegisteredAdjustedInitialRadius = imregister(移动,固定的,“仿射”,优化器,度量);imshowpair(movingRegisteredAdjustedInitialRadius,固定)标题(B: InitialRadius调整的)
调整InitialRadius
产生了积极的影响在图像的顶部和右侧边缘的对齐上有一个明显的改进。
该MaximumIterations
属性控制优化器允许进行的最大迭代次数。增加MaximumIterations
允许注册搜索运行更长时间,并有可能找到更好的注册结果。注册情况是否会继续改善InitialRadius
从最后一步是使用大量的迭代的?
优化器。MaximumIterations = 300;movingRegisteredAdjustedInitialRadius300 = imregister(移动,固定的,“仿射”,优化器,度量);imshowpair(movingRegisteredAdjustedInitialRadius300,固定)标题('C:调整InitialRadius,MaximumIterations = 300')
的重用进一步改进了注册InitialRadius
优化器从所述先前的注册和设置允许优化器采取大量迭代。
有关多式联运优化,并且可以调整度量参数的详细信息,请参阅参考页OnePlusOneEvolutionary
优化器和MattesMutualInformation
度量。
基于优化登记时效果最好可以为涉及的移动和固定的图像配准被赋予了良好的初始条件。为获得改进的配准结果的有用的技术是将开始与更简单的变换类型,如“刚性”
,然后用所得的变换作为初始条件对于更复杂的变换类型,如“仿射”
。
这个函数imregtform
使用算法相同imregister
,但返回的几何变换对象作为输出,而不是一个注册的输出图像。用imregtform
得到基于a的初始转换估计“相似”
模型(平移、旋转和缩放)。
在先前的注册结果表明修改后的改善MaximumIterations
和InitialRadius
优化的特性。在使用的初始条件而试图进一步缩小登记保持这些优化设置。
tformSimilarity = imregtform(移动,固定,“相似”,优化器,度量);
由于配准是在默认坐标系下解决的,也称为内在坐标系,因此得到了默认的空间参照对象,该对象定义了固定图像的位置和分辨率。
Rfixed = imref2d(大小(固定));
用imwarp
应用输出的几何变换imregtform
使移动的图像与固定的图像对齐。使用“OutputView”
选项imwarp
指定输出重新采样的图像世界范围和分辨率。指定Rfixed
作为“OutputView”
强制重新采样的移动图像具有与固定图像相同的分辨率和世界限制。
movingRegisteredRigid = imwarp(移动,tformSimilarity,“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
通过使用以改进该登记“仿射”
变换模型与“相似”
用作几何变换的初始条件的结果。对登记这一精制估计包括剪切的可能性。
movingRegisteredAffineWithIC = imregister(移动,固定的,“仿射”,优化,指标,...'InitialTransformation',tformSimilarity);imshowpair(movingRegisteredAffineWithIC,固定)标题(E:基于相似初始条件的仿射模型配准)
使用'InitialTransformation'
细化“相似”
的结果imregtform
用全仿射模型也取得了很好的配准结果。
比较运行的结果imregister
具有不同配置和初始条件,变得显而易见的是,有大量的可在imregister变化的输入参数,其每一个可以导致不同的配准结果的。
因为没有一个质量度量可精确描述的两个图像的对准,可能难以定量地比较配准结果。通常,登记结果必须被定性地通过可视化的结果进行判断。在上面的结果,在C)和E的配准结果)都很好,而且难以分辨视觉上。
通常情况下,随着多模式注册质量的提高,视觉上判断注册质量变得越来越困难。这是因为强度差异会掩盖不对准的区域。有时切换到不同的显示模式imshowpair
暴露出隐藏的细节。(这并非总是如此。)