MATLAB: 3D input parameters using imregister

imageImage Processing Toolboxregistration

Hi,
I would like to use imregister for registration of a volume. My data is MR images, so my volume is formed by 28 slices (my matrix is 512x512x28 int16). So my question is how should I pass this matrix as input using imregister? in both examples the input images are given as a simple 2D images, so I don't know how to use it for 3D, can someone help me?
Thank you in advance.

Best Answer

Hi Isabel,
You pass in a three dimensional image volume the same way you pass in a two dimensional image. Here is an example:
load mri;
D = padarray(squeeze(D),[5 5 5]); %make bigger
D2 = imtranslate(D,[2.7 -5.1 1.5]); %Translate the image a little bit so imregister has to work
[optim metric]= imregconfig('monomodal'); %build the optimizer
mr = imregister(D2,D,'rigid',optim,metric); %register
imtranslate can be found here.