[Insight-users] Thanks >._< Registration

Luis Ibanez luis.ibanez@kitware.com
Thu, 31 Oct 2002 10:49:24 -0500


Hi Suresh.

There is an example of PET / MRI registration
that was developed by Lydia Ng (at Insightful).

   Insight/Examples/MultiResMIRegistration

It may be a good starting point for attacking
your problem.


You can also consider the following components:

1) Use the Multiresolution framework. That will
    be more efficient and robust. This is the class:

http://www.itk.org/Insight/Doxygen/html/classitk_1_1MultiResolutionImageRegistrationMethod.html

2) Use Mutual Information as metric. This is
    necessary because you are registering two
    different imaging modalities whose intensity
    levels are not linearly related.

http://www.itk.org/Insight/Doxygen/html/classitk_1_1MutualInformationImageToImageMetric.html

3) Use the RegularStepGradientDescent optimizer.

http://www.itk.org/Insight/Doxygen/html/classitk_1_1RegularStepGradientDescentOptimizer.html

    This is a variant of the gradient descent optimizer
    that doesn't require the 'learning rate' parameter.
    The learning rate of the GradientDescent is hard to
    tune for different conditions.

4) Use nearest neigborhood interpolation.
    This should be the most computationally efficient.

http://www.itk.org/Insight/Doxygen/html/classitk_1_1NearestNeighborInterpolateImageFunction.html

6) Use an affine transform.

http://www.itk.org/Insight/Doxygen/html/classitk_1_1AffineTransform.html



You can follow the connections shown in

  Insight/Testing/itkMultiResolutionImageRegistrationMethodTest_1.cxx


The initial parameters can easily be obtained by instantiating
an AffineTransform, callint its method SetToIdentity() and then
calling GetParameters() this will return you an array of values
that are the correct parameters for an identity transform.

Of course is you can visually determine a good guess for an initial
translation and rotation, you could feed this data into the transform
before getting the initial parameters. This may be less relevant in
the multiresolution framework since the low resolution levels of the
pyramid should easily take care of the first guesses.


Please let us know if you find any problems,


Thanks


    Luis

========================================================================
suresh wrote:
> Hi All,
> 
> Thanks Luis.
> Thanks Kisung.Thanks Bill. For your inputs.
> 
> I would like to have your help in implementing a regsitration problem.
> I'm trying to register a SPECT volume to an MRI.
> 
> Luis.. your might remember our discussion on this a month back.
> Still i could not understand the role the Componentes play in 
> registration problem.
> How to feed them with initial paramaters, what effect do they have on 
> the result.
> I've tried to implement the problem in other implementations like AVW 
> and could succed.
> But, in ITK i could still make out the concepts behind these components.
> 
> Please, can any body guide me through ..
> 
> Thanks,
> 
> suresh
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
>