Matlab实现CT、MRI多模态图像配准

引言

这里使用Matlab里面自带的函数进行图像配准,在配准之前设置好配准的参数,调用imregister()函数就可以得到配准的图像。

1. 编码

这里使用到的Matlab工具函数为

moving_reg = imregister(moving,fixed,transformType,optimizer,metric)
[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)
___ = imregister(___,Name,Value)
moving:浮动图像

fixed:参考图像

transformType:图像变换的类型

optimizer和metric:是配准的参数

图像的变换类型在Matlab里面有如下几种


实现的例子

%img_B 浮动CT图像
%img_A 参考MRI图像

%设置配准参数,互信息作为度量
[optimizer, metric] = imregconfig('multimodal');
optimizer.GrowthFactor = 1.01;
optimizer.Epsilon = 1.5e-6;
optimizer.InitialRadius = 0.001;
optimizer.MaximumIterations = 500;

%配准
moving = imregister(img_B, img_A, 'affine', optimizer, metric);

%显示配准的图像
figure();
imshowpair(img_A, moving, 'Scaling', 'joint');


结果:





版权声明:本文为m_buddy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。