3D input parameters using imregister

5 次查看(过去 30 天)
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.

采纳的回答

Sean de Wolski
Sean de Wolski 2012-10-18
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 个评论
Sean de Wolski
Sean de Wolski 2012-10-18
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 2012-10-18
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by