[Insight-users] Rigid Registration

Luis Ibanez luis . ibanez at kitware . com
Tue, 15 Jul 2003 14:31:05 -0400


Hi Ravi,


1) The itkEuler3DRigidTransform does not use versors
    for representing the rotation. It uses three angles
    to be applied in sequence for rotating around the
    coordinate axis.

    (There was a Documentation bug on the header,
    that has been fixed now).
http://www . itk . org/cgi-bin/cvsweb . cgi/Insight/Code/Common/itkEuler3DTransform . h?cvsroot=Insight

    These three angles are not normalized, as you may
    expect if they were the component of a Versor.
    The angles are using radians as units.


2) The settings of the image origin only have to be
    done at the beginning of the registration.

    (e.g. before invoking
      registrationMethod->StartRegistration()).


3) Please pay attention to the optimizer scales.
    Since the 6 parameters of the transform have very
    different scales, it is important to compensate for
    their difference in dynamic range.

    The angles will be expressed in radians, henceforth
    they will be in the range [ -3.14 : 3.14 ], while
    the translations are expected to be in the range of
    half the image extent (in millimeters).


4) FYI: Note that Versors are unit quaternions.
    They only have three components. The components
    satisfy the condition

       x^2 + y^2 + z^2 = sin^2( angle / 2 )

    and a vector formed with componenets (x,y,z) is
    parallel to the axis of rotation.

    Versors represent pure rotations in 3D, while
    Quartenions represent rotation and scaling in 3D.



Regards,


    Luis


-------------------
ravi sharma wrote:
> According to your suggestions I have used Euler3D
> Rigid transform.The first 3 parameters are Versors.I
> can get the images registered for translations but for
> rotations it doesnot work.I gave set the origin of
> both images at center of images using
> ChangeInformationImageFilter.Does this have to be done
> only one at start of registraton???
>   Also my versor parameters come out to be
> {-2.07,0.56,0.003}.Are the versors not
> normalized...How can this happen because for versors
> x*x+y*y+z*z+w*w=1.
>   What could be wrong??
>