[Insight-users] Silly questions about registration
Luis Ibanez
luis.ibanez@kitware.com
Tue, 18 Feb 2003 01:26:42 -0500
Hi David,
1) The ImageRegistration1.cxx example was tunned
for the image used in the SoftwareGuide. This
image is found in Insight/Examples/Data.
The behavior that you observe in your run is
typical of a too large step length. In this
example, the step lenght was hard wired as 4.0.
You may want to start by reducing the steplength
to a much smaller value until the optimizer advances
in the desired direction. Then you can play increasing
the step size again until gaining a reasonable speed
for registration.
2) The transform resulting from the registration
process is exactly the one that you need to provide
to the itk::ResampleImageFilter in order to map
data from the moving image space to the fixed
image space.
Note that the reason why the transform is actually
the one that maps points from the fixed image
to the moving image is that this is the only way
in which the final image can be computed whitout
'missing' pixels. The Resample image filter visits
all the pixels in the output image grid, and use
the transform to map its positions to the moving
image space.
This is explained in more detail in the software
guide on Section 5.7.1, pages 136-152 where the
ResampleImageFilter is described. It is quite
important to read this section before moving into
the Image registration section.
Please let us know if you have further questions.
Thanks
Luis
-----
David Holmes wrote:
> I'm going over the registration framework for ITK and
> running some tests so that I better understand the
> model. I have several silly questions.
>
> (1) Pulling the code from Registration1
> example, I took two images that were the same, applied
> translations, and ran the registration. Here is how
> it
> progressed:
>
> 0 = 2690.87 : [2.05794, -3.43]
> 1 = 3538.93 : [2.79055, -7.36234]
> 2 = 3945.74 : [1.41266, -11.1175]
> 3 = 4030.27 : [1.45081, -15.1173]
> 4 = 4296.43 : [0.881159, -19.0766]
> 5 = 4622.25 : [-1.29036, -22.4358]
> 6 = 4726.89 : [-3.55759, -25.7312]
> 7 = 5030.82 : [-5.44799, -29.2563]
> 8 = 5368.15 : [-8.17364, -32.1839]
> 9 = 5666.88 : [-10.8422, -35.1636]
> .
> .
> .
>
> As you can see, it looks like it is maximizing,
> even though I am using the Means Squared metric. So I
> explicitly set the MaximizeOff flag-Same response.
> So,
> for kicks, I tried MaximizeOn(). Here?s what I
> got:
>
>
>
> 0 = 2690.87 : [-2.05794, 3.43]
> 1 = 898.249 : [-4.63303, 6.49087]
> 2 = 1243.98 : [-3.05864, 5.25746]
> 3 = 27.0703 : [-2.62099, 3.30593]
> 4 = 720.144 : [-2.93342, 4.25587]
> 5 = 200.952 : [-3.01993, 5.25212]
> 6 = 24.1303 : [-2.99806, 4.7526]
> 7 = 22.6493 : [-2.99862, 5.0026]
> 8 = 0.309667 : [-3.11456, 4.95589]
>
> Is something perhaps backwards there, or I am all
> messed up?
>
>
>
> (2) Using the example out of the software
> guide again, this question is about what is returned.
> Generally speak, with Analyze, when we provide a
> solution to a registration, we provide the
> solution that will be applied to the "moving" image to
> put it into the space of the fixed image. In my own
> code using ITK, when I apply a translation of [-3,5]
> to an image and then register it, the solution is
> [-3,5]. If I were to apply that to the "moving"
> image, the result would be a translation of [-6,10],
> so at least the way that I am used to doing it, I
> would have to take the negative of the solution to put
> the moving into the fixed space. I checked the
> software guide and found that this is consistent with
> the examples. Once again, am I all screwed up with
> this??
>
> Thanks for the help
>
>
>
> david
>
>
>
>
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Shopping - Send Flowers for Valentine's Day
> http://shopping.yahoo.com
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
>