[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