image registration of two different 3D matrix in different size
3 次查看(过去 30 天)
显示 更早的评论
I have two image matrix. One is from MRI, and another is from PET. And they are in the different size, which means the pixel size and the slice thickness are different. Is there any way for me to do the registration? I try the imregister, but it does not work.
This is the image before the Registration:
This is the image after the registration:
Does anyone any hint to do this?
0 个评论
回答(1 个)
JD Peiffer
2019-6-14
I've had some good results with this. The imwarp function seems capable of resizing the transformed image. I am not sure how it does so, and would like to know more. This code was done to register SPECT to MRI images, but I think multimodal would be good for your scans also.
%% SET PARAMETERS
[optimizer, metric] = imregconfig('multimodal');
optimizer.InitialRadius = 0.002;
optimizer.Epsilon = 1.0e-6;
optimizer.GrowthFactor = 1.025;
optimizer.MaximumIterations = 500;
%% PERFORM REGISTRATION
tform= imregtform(MOVING, STATIONARY, 'affine', optimizer, metric); %Defines the Transform
movingRegistered = imwarp(MOVING,tform,'OutputView',imref3d(size(STATIONARY))); %Defines the output matrix to be the size of the stationary one and performs the transform.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!