[Insight-users] transform initializer

Luis Ibanez luis.ibanez at kitware.com
Fri Feb 12 19:21:59 EST 2010


Hi Simon,


Thanks for pointing this out.


A) Certainly, the initialization doesn't guarantee that
     the two images will be aligned enough.


B)  John: Please note that Simon just reminded us
      that there are multiple initializers available in ITK:

        1)   itkCenteredTransformInitializer.h
        2)   itkCenteredVersorTransformInitializer
        3)   itkLandmarkBasedTransformInitializer


    (1) computes only the translation that will overlap the
         geometrical centers or the centers of mass of both
         images. (select GeometryOn or MomentsOn).

     (2) Computes the same Translation as (1), and
          additionally computes the Rotation that will
          align the axis of the first order image moments.


    (3)  Will use two sets of points, (where correspondence
           is necessary), and computes the Transform that
           aligns their centers of mass, and the axis of their
           first order moments.



C)  Simon:

         The CenteredVersorTransform was actually fixed
     on August 2009, but I was my mistake not to update
     the bug entry appropriately.

     The code was fixed with the following commits:

http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Common/itkCenteredVersorTransformInitializer.txx?root=Insight&r1=1.5&r2=1.8
[^]

http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Common/itkCenteredVersorTransformInitializer.h?root=Insight&r1=1.4&r2=1.6
[^]

and verified with the following test:

http://public.kitware.com/cgi-bin/viewcvs.cgi/Testing/Code/Common/itkCenteredVersorTransformInitializerTest.cxx?root=Insight&r1=1.5&r2=1.8
[^]


     I just updated the Bug entry, to reflect this changes:

     http://public.kitware.com/Bug/view.php?id=3264

     (my apologies for the original omission)


    I marked the Bug as "resolved", and we will wait for
    confirmation from you in order to actually close the bug.


     If you have a chance, could you please try the class
     in the scenario that led to the bug report, and let us
     know if you find any remaining problems  ?



            Thanks


                 Luis




--------------------------------------------------------------------
On Fri, Feb 12, 2010 at 12:49 PM, Simon Warfield
<simon.warfield at childrens.harvard.edu> wrote:
>
>> From: Luis Ibanez <luis.ibanez at kitware.com>
>> Subject: Re: [Insight-users] Scaling on two 3D masks
>> To: Sylvain Jaume <sylvain at csail.mit.edu>
>> Cc: insight-users at itk.org, "J. Pura" <puraj at mail.nih.gov>
>> Message-ID:
>>        <f7abd23c1002120608l521cdc39t861ffb085831dd7a at mail.gmail.com>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> John, Sylvain,
>>
>>
>> Instead of manually using the ChangeInformation,
>> it may be better to use the
>>
>>          CenteredTransformInitializer
>>
>> and to set it to operate using Moments.
>>
>> This class will compute an initial transform with
>> a translation that overlaps the center of mass
>> of both images.
>>
>>
>
> If there is a large rotation difference, initializing by overlapping the
> center of mass may still leave the images outside the capture range for a
> registration algorithm.
>
> Unfortunately, the CenteredVersorTransformInitializer doesn't work:
> http://public.kitware.com/Bug/view.php?id=3264
>
>> The initialized transform is then passed to the
>> registration method.
>>
>>
>> You will find many examples of the use off the
>> transform initializer in the directory:
>>
>>            Insight/Examples/Registration
>>
>>
>>      Regards,
>>
>>
>>           Luis
>>
>>
>
> --
> Simon
>
>


More information about the Insight-users mailing list