[Insight-users] questions about affine registration

Luis Ibanez luis.ibanez at kitware.com
Tue Jul 17 11:42:09 EDT 2007


Hi Michael,

Please read the ITK Software Guide

     http://www.itk.org/ItkSoftwareGuide.pdf

in particular the chapter on "Image Registration".


1) The Optimizer SetScale() method (as described in the
    user guide) is used for compensating for the differences
    in dynamic range between the parameters of the Transform.

    For example, if you were doing 2D rigid registration your
    transform will have 3 parameters: 1 angle, and 2 translations.

    The angle will be measured in radians while the translations
    will probably be measured in millimeters.  The angle will have
    a typical range of -1.57:1.57, while the translations may have
    a range of -200 to 200.  That difference of dynamic range will
    create a distortion on the parametric space where the optimizer
    walks.  The array of scales is intended to compensate for this
    difference by bringing all the transform parameters to a similar
    range.

    You will find many examples of the use of this parameter scaling
    in the "Image Registration" chapter of the ITK Software Guide.


2) Transforms will have some fixed parameters and some variable
    parameters. A typical fixed parameter is the "center of rotation"
    of a transform. Typical variable parameters are the rotation angle
    and translations of the example in question (1).

    When you want to copy one transform into another you must make sure
    that you copy both the Fixed and the variable parameters. Otherwise
    the two transforms are not equivalent.


3) The two methods above *ARE NOT* what you need for controlling a
    scaling of the image and follow it with an affine transform.

    What you need is to perform a first registration using the
    itkScaleTransform, followed by another stage using the
    itkAffineTransform.


Please read the Image Registration chapter of the ITK Software Guide.
It will save you a lot of time in the long run.


BTW, If your goal is to just register some 3D datasets, and not to
      develop the registration application, you may want to simply
      use the application:

                     ImageRegistrationTool

      The source code of this application is at

       InsightApplications/
           LandmarkInitializedMutualInformationRegistration/

      a binary version of the executable can be found at

http://public.kitware.com/pub/itk/InsightApplicationsBin/ 
http://public.kitware.com/pub/itk/InsightApplicationsBin/ImageRegistrationTool.exe



     Regards,


        Luis



----------------------
Michael Schildt wrote:
> Hello Everybody!
> 
> I'm new to the toolkit and started using the ITK for registration of 
> inter-modal, intra-subject 3D MRI datasets. I worked through the 
> examples delivered with the software. I tried to make my own programm 
> based on one example to make a centered affine 3D transform and perform 
> registration using MattesMI, linear interpolation and 
> RegularStepGradientDescent and results aren't satisfying . The tranform 
> was initialized via TransformInitializer using the moments of both 
> datasets. Maybe still some understanding problems remained for me:
> 
> 1) What is optimizer->SetScale() really doing?
> As far as I understood it helps me to make parameters of the transform 
> beeing in the same number range for optimization. So setting it to 
> values smaller
> one for that parameter it will make smaller otimization steps? What 
> happens if the value is zero. I thought will fix this parameter, but it 
> didn't. :-/
> 
> 2) What is the Method transform->SetFixedParameters() for? The 
> documentation just says, it fixes the parameter. :-(
> 
> I want to fix some of the parameters for the registration, making a 
> scaling as first step, followed by complete affine transform. Can I do 
> this with with one of above mention methods?
> 
> Best regards,
>    M. Schildt
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 


More information about the Insight-users mailing list