我有两个3D MRI图像,参考(img1)和目标(img2),我想将img2注册到img1。我使用了MATLAB刚性图像配准,但无法在我的数据集上正常运行。但是,当我在图像中心选择一个感兴趣的区域时(通过剪切img1和img2并获得比原始图像小的img1L和img2L),在该区域中注册效果很好。然后,我尝试将相同的变换应用于原始图像,但没有得到正确的结果。这是我的代码:
[optimizer, metric] = imregconfig('monomodal');
optimizer.MaximumIterations = 300;
tformL = imregtform(img2L,img1L,'rigid',optimizer,metric);
tform = imregtform(img2L,img1L,'rigid',optimizer,metric);
tform.T = tformL.T;
R1 = imref3D(size(mag1));
R2 = imref3d(size(mag2));
mag2r = imwarp(mag2,R2,tform,'OutputView',R1,'SmoothEdges',true);
我认为问题出在R1和R2以及注册来源,但我无法解决。我将不胜感激。