3D input parameters using imregister

2 views (last 30 days)
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.

Accepted Answer

Sean de Wolski
Sean de Wolski on 18 Oct 2012
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.
  7 Comments
Sean de Wolski
Sean de Wolski on 18 Oct 2012
Yes, and it does! At least for me with the above example. It's hard to say what's causing the error you're seeing since I don't know anything about mr1/mr2 and how you're calling imregister
Isabel
Isabel on 18 Oct 2012
Dear Sean, now it is working. I just restarted the computer and try it from the beginning and now no erros =)
Thank you for your help

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!