主要内容

注册多通道三维医学图像

这个例子展示了如何自动对齐两个容积图像使用灰度登记。

注册问题,考虑一个图像的固定形象和其他图像的移动图像。登记的目的是使移动图像与固定形象。这个示例使用两种方法来自动对齐体积图片:

  • 直接使用注册图像imregister

  • 估计所需的几何变换移动图像映射到固定的形象,然后应用转换使用imwarp

与其他技术,imregisterimregtform找不到功能或使用控制点。灰度登记通常适合于医疗和遥感图像。

加载图片

这个示例使用CT图像和T1加权图像收集先生从同一病人在不同的时间。提供的3 d CT和核磁共振数据集迈克尔·菲茨帕特里克博士作为的一部分回顾性图像配准评估(RIRE)数据集

这个例子将MRI图像指定为固定的图像和CT图像的移动图像。数据存储在使用的文件格式回顾性图像配准评估(RIRE)项目。使用multibandread包含图像数据的读取二进制文件。使用helperReadHeaderRIRE函数来获取与图像相关联的元数据。

fixedHeader = helperReadHeaderRIRE (“rirePatient007MRT1.header”);movingHeader = helperReadHeaderRIRE (“rirePatient007CT.header”);fixedVolume = multibandread (“rirePatient007MRT1.bin”,[fixedHeader.Rows, fixedHeader.Columns fixedHeader.Slices),“int16 = >单”0,“bsq”,“ieee-be”);movingVolume = multibandread (“rirePatient007CT.bin”,[movingHeader.Rows, movingHeader.Columns movingHeader.Slices),“int16 = >单”0,“bsq”,“ieee-be”);

helperVolumeRegistration函数是一个helper函数提供帮助法官3 d登记结果的质量。你可以交互式地旋转视图和两轴保持同步。

图helperVolumeRegistration (fixedVolume movingVolume);

图包含2轴uipanel类型的对象和其他对象。坐标轴对象1包含3对象类型的表面。坐标轴对象2包含3对象类型的表面。

您还可以使用imshowpair看个飞机从固定和移动卷卷的整体一致性。在重叠的图像imshowpair灰色区域相对应,也有类似的强度,而红色和绿色区域显示一个图像比其它的地方。使用imshowpair观察错误配准图像的卷沿着一个轴向片通过每个卷的中心。很明显,图像有不同的空间参考信息,如不同的世界限制和像素区段。

centerFixed =大小(fixedVolume, 3) / 2;centerMoving =大小(movingVolume, 3) / 2;图imshowpair (movingVolume (:,:, centerMoving) fixedVolume (:,:, centerFixed))标题(未注册的轴向片)

图包含一个坐标轴对象。坐标轴对象与标题未登记的轴向片包含一个类型的对象的形象。

显示和登记结果通过合并可以提高的空间参考信息。这些数据,解决CT和MRI图像元数据中定义的数据集。使用这种元数据来创建imref3d空间引用对象。

Rfixed = imref3d(大小(fixedVolume) fixedHeader.PixelSize (2),fixedHeader.SliceThickness fixedHeader.PixelSize (1))
Rfixed = imref3d属性:XWorldLimits: [0.6250 - 320.6250] YWorldLimits: [0.6250 - 320.6250] ZWorldLimits:[106]图象尺寸:[256 256 26]PixelExtentInWorldX: 1.2500 PixelExtentInWorldY: 1.2500 PixelExtentInWorldZ: 4 ImageExtentInWorldX: 320 ImageExtentInWorldY: 320 ImageExtentInWorldZ: 104 XIntrinsicLimits: [0.5000 - 256.5000] YIntrinsicLimits: [0.5000 - 256.5000] ZIntrinsicLimits: [0.5000 - 26.5000]
Rmoving = imref3d(大小(movingVolume) movingHeader.PixelSize (2),movingHeader.SliceThickness movingHeader.PixelSize (1))
Rmoving = imref3d属性:XWorldLimits: [0.3268 - 334.9674] YWorldLimits: [0.3268 - 334.9674] ZWorldLimits:[114]图象尺寸:[28 512 512]PixelExtentInWorldX: 0.6536 PixelExtentInWorldY: 0.6536 PixelExtentInWorldZ: 4 ImageExtentInWorldX: 334.6406 ImageExtentInWorldY: 334.6406 ImageExtentInWorldZ: 112 XIntrinsicLimits: [0.5000 - 512.5000] YIntrinsicLimits: [0.5000 - 512.5000] ZIntrinsicLimits: [0.5000 - 28.5000]

空间引用对象的属性定义相关的图像卷在世界坐标系统和每个维度的像素范围是什么。的XWorldLimits的属性Rmoving定义的位置移动的体积在X维度。的PixelExtentInWorld属性定义了每个像素的大小在世界单位在X维度(列)。移动卷延伸从0.3269到334.97毫米X坐标系统和世界上每个像素都有一个0.6536毫米的程度。单位是毫米,因为头信息用于构造空间引用在毫米。的ImageExtentInWorldX属性决定了全部世界移动图像体积的单位。

使用方法1:注册图像imregister

imregister功能使您能够获得一个注册输出图像体积,您可以查看并观察直接访问登记结果的质量。

选择正确的优化器和标准配置来使用imregister通过使用imregconfig函数。这两个图片是来自两个不同的方法,MRI和CT,所以“多通道”选项是合适的。改变的价值InitialRadius登记产权优化器来实现更好的收敛结果。

(优化器,度量)= imregconfig (“多通道”);优化器。InitialRadius = 0.004;

两卷之间的偏差包括平移和旋转,所以使用一个刚性变换注册图像。指定空间参考信息,所使用的算法imregister将收敛更快更好的结果。

movingRegisteredVolume = imregister (movingVolume Rmoving、fixedVolume Rfixed,“刚性”优化器,指标);

显示一个轴向片采取通过注册中心卷的成功注册。除了调整图片,注册过程调整的空间参考信息移动图像和固定的图像是一致的。现在的图片是相同的尺寸和成功对齐。

图imshowpair (movingRegisteredVolume (:,:, centerFixed) fixedVolume (:,:, centerFixed));标题(“注册体积轴向片”)

图包含一个坐标轴对象。坐标轴对象与标题注册体积轴向片包含一个类型的对象的形象。

使用helperVolumeRegistration再次查看注册体积继续判断的成功注册。

helperVolumeRegistration (fixedVolume movingRegisteredVolume);

图包含2轴uipanel类型的对象和其他对象。坐标轴对象1包含3对象类型的表面。坐标轴对象2包含3对象类型的表面。

方法2:估计,并应用三维几何变换

imregister函数注册图像但不返回的信息几何变换应用到移动图像。当你感兴趣的是估计几何变换,可以使用imregtform函数得到一个几何变换对象存储的信息转换。imregtform使用相同的算法imregister和有相同的输入参数imregister

tform = imregtform (movingVolume Rmoving、fixedVolume Rfixed,“刚性”、优化、指标)
tform = rigidtform3d属性:维数:3翻译:[-15.8648 -17.5692 29.1830]R: [3 x3双]:[4 x4的两倍)

房地产一个定义了三维仿射变换矩阵用于对齐图像转移到固定的形象。

tform.A
ans =4×40.9704 0.0228 0.2404 -15.8648 -0.0143 0.9992 -0.0369 -17.5692 -0.2410 0.0324 0.9700 29.1830 1.0000 0 0 0

transformPointsForward函数可以用来确定一个点(u, v, w)的移动图像映射结果登记。因为空间引用输入被指定imregtform、几何变换地图点在世界坐标系中从移动到固定的。的transformPointsForward下面的函数,以确定的转换位置移动的图像的中心坐标系统。

centerXWorld =意味着(Rmoving.XWorldLimits);centerYWorld =意味着(Rmoving.YWorldLimits);centerZWorld =意味着(Rmoving.ZWorldLimits);[xWorld, yWorld zWorld] = transformPointsForward (tform,centerXWorld、centerYWorld centerZWorld);

您可以使用worldToSubscript函数来确定固定体积的元素相结合的中心移动的体积。

(r、c、p) = worldToSubscript (Rfixed、xWorld yWorld, zWorld)
r = 116
c = 132
p = 13

应用几何变换估计imregtform使用的三维体积imwarp函数。“OutputView”名称参数用于定义一个空间引用参数,决定了世界范围和分辨率的输出图像重新取样。你可以产生相同的结果的imregister通过使用空间引用对象相关的固定形象。这将创建一个输出音量的世界限制和决议的固定和移动图像是一样的。一旦世界限制和决议的数量是相同的,每个样本之间存在像素像素对应的移动和固定卷。

movingRegisteredVolume = imwarp (movingVolume Rmoving tform,“双三次的”OutputView = Rfixed);

视图的中心轴切开注册所产生的体积imwarp

图imshowpair (movingRegisteredVolume (:,:, centerFixed),fixedVolume (:,:, centerFixed));标题(“注册体积轴向片”)

图包含一个坐标轴对象。坐标轴对象与标题注册体积轴向片包含一个类型的对象的形象。

另请参阅

||||