[Insight-users] sign changed while pointset to pointset registration
Luis Ibanez
luis.ibanez at kitware.com
Fri, 30 Apr 2004 19:29:43 -0400
Hi David,
This is totally normal, and makes part of the
design of the image registration framework in ITK.
The transforms are *always* indicating how to map
from the Fixed image space into the Moving image space.
The reason is the the final goal of registration
is to resample the moving image into the frame of
the fixed image. In order to perform such resampling
in an optimal way, you want to visit the position of
al the pixels in the fixed image, then find their
corresponding location in the moving image and once
there, interpolate the intensity value corresponding
to that position, finally you put that value back into
the fixed image pixel where you startd.
If you attempt to resample by visiting all the pixels
in the moving image you will end up with a resampled
image with holes.
So, if you think about what you are planning to do
once you get the transform, usually the fixed-to-moving
space transform is the one you want. Should you be
in the case where your application requires the opposite
transform, then you have two options:
A) Interchange fixed and moving image :-)
B) If the transform is invertible, compute the
reverse transform.
This topic is discussed in depth in the software guide.
http://www.itk.org/ItkSoftwareGuide.pdf
You are *strongly* encouraged to read the section on
ImageResampling, Section 6.7.1, pdf-page 199.
and then the Chapter on Image Registration, Chapter 8,
pdf-page 241-340.
You may also find interesting to look at the
ImageRegistration course used in a recent course at RPI
http://www.cs.rpi.edu/courses/spring04/imagereg/
in particular to Lecture 7 and 8:
http://www.cs.rpi.edu/courses/spring04/imagereg/lecture07.ppt
http://www.cs.rpi.edu/courses/spring04/imagereg/lecture08.ppt
You may also find useful to look at the "Medical Image Registration"
book by Hajnal, Hill and Hawkes, that is now available online at:
http://www-ipg.umds.ac.uk/d.hill/hhh/
Look in particular to Chapter 3: "Registration Methodology"
http://www-ipg.umds.ac.uk/d.hill/hhh/03/03.pdf
where the implication of the transform direction are discussed.
mmm,
that looks like enough reading material for the weekend :-)
Regards,
Luis
-------------------------------
David Macias Verde wrote:
> Hi all:
>
> Maybe it's a silly question but, I'm doing a pointset to pointset
> registration with itkPointSetToPointSetRegistrationTest.cxx, where I
> have introduced changes in order to use my own images. The results I get
> are sign changed. I mean, it comes up a solution which gives the
> translation for the fixed image to go into the moving one.
>
> These are the results for ImageRegistration1 (just to test it):
>
> Result =
> Translation X = 6.00169
> Translation Y = -1.00737
>
>
> And those others are the ones I get with
> itkPointSetToPointSetRegistrationTest:
>
> Solution = [-5.97943, 1.30558]
>
> I assume the values are right, but not the signs. Values change slightly
> because I am doing Canny Edges and Danielsson Distance Map to enter to
> data into my algotithm, and the original images are given to the first,
> which can introduce the difference.
>
> Of course I am sure that the fixed and the moving images are right
> passed to both codes, and that they are not interchange.
>
> Why should it be happening?
>
> Thanks,
>
> David Macias-Verde
> Hospital de Gran Canaria Dr. Negrin
> Spain
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>