[Insight-users] Offset CenteredTransformInitializer

Luis Ibanez luis.ibanez at kitware.com
Mon Sep 3 19:27:52 EDT 2007


Hi Lars,

Yes, the choice of the Center of Rotation has indeed
a dramatic effect on the results of image registration.

Note that there is not a "Real" center of rotation, given
that the transforms also have a translation. This means
that, mathematically, you can pick any point as the center
of rotation, and then find the translation that will produce
the equivalent Rigid or Affine transformation.

In general what you want is to use as center of rotation,
a point that is in the middle of the anatomical structure
that you want to be registered the best.

Thanks for describing the Image Registration scenario that
you are working on.  Since your translations are almost
null, and your images are brain images, acquired in a single
session, and they are multi-modality, then the use of
Geometry() is probably your best option.

It will certainly be better that just using (0,0,0) as
center of rotation.



    Regards,


        Luis


-------------------
Lars Nygard wrote:
> Hi Luis,
> 
> Thanks for your answers, really appreciate it. The reason I asked
> about setting the center is that it had quite an effect in registration
> problems which i made myself. An MRT1 image and an MRA image,
> and quite a big rotation (10 mm, 10 degrees).
> So based on this I figured that setting the centre is important in a real
> registration problem (however here you don't know the true center).
> My problem is the registration of pre-operative MRI images (T1, T1 contrast,
> T2, MRA, FLAIR and DTI). The images are taken in the same session so the
> registration shift is really small (maybe max. a few milimeter)
> My supervisor always uses (0,0,0) as center, this being the center 
> of the MRI field (most homogeneous). Ive tried this and it works good but Im
> trying to find out if choosing a different center gives better results. 
> regards,
> Lars Nygard
> 
> 
> 
> ----- Original Message ----
> From: Luis Ibanez <luis.ibanez at kitware.com>
> To: Lars Nygard <lnygard at yahoo.com>
> Cc: insight-users at itk.org
> Sent: Monday, September 3, 2007 3:14:00 PM
> Subject: Re: [Insight-users] Offset CenteredTransformInitializer
> 
> 
> Hi Lars,
> 
> Setting the center is not "Mathematically" necessary.
> 
> In fact, introducing the notion of "center of rotation"
> makes that the ITK transforms are over-determined.
> 
> However, having that center explicitly set, serves a
> practical purpose. It helps the optimizer have an
> easier walk in the parametric space of the Transform.
> 
> In a practical image registration problem, you have to
> choose the initialization based on the characteristics
> of both images.
> 
> For example
> 
>                 if you have two MRI images, one is T1, the
> other is T2, and they fully contain the head of a patient,
> the you will be fine using Geometry. While Moments will
> not work well due to the fact that the intensities will
> be concentrated in different regions in the T1 and T2
> modalities.
> 
> If you have two CT images of the head, then you are
> probably safe using Moments, because, being a single
> modality, chances are that the center of mass (assimilating
> intensity to mass) will be located in the same
> anatomical position. Note however that IF one of the
> images has a contrast agent and the other doesn't, then
> the assumption on the intensity distribution breaks and
> you are better off using Geometry again.
> 
> If you have an abdominal CT scan and you are trying
> to register a local 3D ultrasound of the liver, then
> none of Geometry, nor Moments will do you any good,
> since both the field of view and the modalities are
> different between the images. In this case, your best
> option is the landmark initializer.
> 
> As you see,
> (just as in the rest of image analysis)
> there is not a single recipe that works for all the cases.
> 
> 
>     If you have a particular scenario in mind,
>     and share it with us,
>     then we will be happy to suggest you a suitable
>     initialization mechanism.
> 
> 
>       Regards,
> 
> 
>          Luis
> 
> 
> -----------------
> Lars Nygard wrote:
> 
>>Hi Luis,
>>
>>My program is working as expected but I have some questions about
>>setting the center. As said I get the best results when I use the geometric
>>center. This is not very surprising I just figured because this is also the center
>>I used when creating the registration problems.
>>The momentsOn calculates a center which is far off.
>>My question is how do you determine the center in a real registration problem?
>>Is there a unique point around which rotatations occur?  
>>Is it possible to constrain the registration problem with different rotation
>>axis?
>>greets,
>>Lars
>>
>>----- Original Message ----
>>From: Luis Ibanez <luis.ibanez at kitware.com>
>>To: Lars Nygard <lnygard at yahoo.com>
>>Cc: insight-users at itk.org
>>Sent: Tuesday, August 28, 2007 1:48:54 PM
>>Subject: Re: [Insight-users] Offset CenteredTransformInitializer
>>
>>
>>Hi Lars,
>>
>>    Please help us solve the mystery.
>>
>>Share with use the following information:
>>
>>1) Coordinates of the Fixed image origin
>>2) Fixed image spacing
>>3) Fixed image number of pixels
>>4) Coordinates of the Moving image origin
>>5) Moving image spacing
>>6) Moving image number of pixels
>>
>>7) Center of rotation computed by the
>>    CenteredTransformInitializer.
>>
>>
>>Also, notes that the MomentsOn will set
>>the center of rotation in the center of
>>mass of your pixel intensity values.
>>
>>    What is the content of your image ?
>>      a brain ? is it centered ?
>>    or is it a microscopy image with a huge
>>      organelle on the corner of the image ?
>>
>>
>>With this information at hand we shoul be
>>able to figure out what is going on in your
>>application.
>>
>>
>>
>>    Thanks
>>
>>
>>       Luis
>>
>>
>>------------------
>>Lars Nygard wrote:
>>
>>
>>>Hi,
>>>
>>>Im getting wrong results using the CenteredTransformInitializer in both
>>>MomentsOn and GeometryOn. When I manually set the center of the transform
>>>as the center of the fixed image (origin + Spacing*Dimension/2) everything goes OK. 
>>>But when I use the  initializer Im ending way besides the correct registration result.
>>>I was wondering, is the Offset used when the CenteredTransformInitializer calculates
>>>the center (in GeometryOn)??
>>>And does anyone can explain why Im getting good results with setting the center manually
>>>while the results aren't good when using MomentsOn??
>>>Thanks for any feedback,
>>>greets,
>>>Lars
>>>
>>>
>>>
>>>
>>>     
>>>_________________________________________________________
>>>Alt i én. Få Yahoo! Mail med adressekartotek, kalender og
>>>notisblokk. http://no.mail.yahoo.com
>>>_______________________________________________
>>>Insight-users mailing list
>>>Insight-users at itk.org
>>>http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
>>
>>
>>
>>
>>
>>      
>>_________________________________________________________
>>Alt i én. Få Yahoo! Mail med adressekartotek, kalender og
>>notisblokk. http://no.mail.yahoo.com
>>
> 
> 
> 
> 
> 
> 
>       
> _________________________________________________________
> Alt i én. Få Yahoo! Mail med adressekartotek, kalender og
> notisblokk. http://no.mail.yahoo.com
> 


More information about the Insight-users mailing list