[Insight-users] Please Help ... How to Register two volumes using only --- xyz Translation, Rotation about z-axis only, and xyz anisotropic Scaling

Deepak Roy cdeepakroy at yahoo.com
Sat Oct 28 20:12:32 EDT 2006


Hello Luis,

Thanks for the reply. It was quite informative. I really appreciate it.

We would like to consider the second option, but one thing is not clear to me. I suppose you are suggesting us to use the Similarity3DTransform. 

But as i understand Similarity3DTransform is designed for homogenous scaling ( isotropic scaling ) along three xyz axial directions. 

But for our purpose we need the scaling to be anisotropic ----> by this i mean the scaling should be different along each of the x,y,z axis.

Is this possible with the trick you are mentioning  ?????

Also can you describe the trick with a small example (C++ code). Specifically how to set the optimizer scales so that the rotations about and X and Y axis are constrained.

And also how should i set the optimizer scales, to make the scaling anisotropic ---> if it is possible.

Please Help !!!!!!!!!

Eagerly waiting for your reply.

Regards,

Deepak

-------------------------------------------------------------------------------------------------------------------------------------------

Hi Deepak,


Here are three options that you may want to consider:


1) Write your own transform

    You could do this by creating a variant of the SimilarityTransform

http://www.itk.org/Insight/Doxygen/html/classitk_1_1Similarity3DTransform.html



2) Use the SimilarityTransform and

    trick the optimizer by setting the array of parameters scaling in
    such a way that rotations around X and Y will be hardly done.

    This is probably the simplest method. It doesn't require you to
    write any code. You just need to set the scalings that correspond
    to rotationX and rotationY to be extreme values.

    For details on the meaning of the parameters scaling on the
    Image Registration framework, please read the Image Registration
    chapter of the ITK Software Guide

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



3) Use a sequence of three transform.

     3.1) First, perform a registration using
          only the TranslationTransform

     3.2) With the result perform a registration
          using only the rotation transform (but still using
          the parameter-scalin for penalizing rotations on
          X and Y.

     3.3) Finish with a ScaleTransform

    You will find descriptions of each one of these transform
    in the Image Registration chapter of the ITK Software Guide.




Regards,


    Luis



------------------
Deepak Roy wrote:
> Hello,
>  
> I want to do registeration of two image volumes ...
>  
> each of them have different spacing but the same dimension and voxel type.
>  
> Also both of them are from the same modality.
>  
> But i want the registration to use only the following set of 
> transformations:
>  
>  >>> Translation along  x,y,z axis
>  
>  >>> Rotation along z-axis onlye
>  
>  >>> Anisotropic scaling along x,y,z.
>  
> None of the transforms available seem to allow me to implement this 
> combination.
>  
>  >>> AffineTransform includes shearing which i dont want.
>  
>  >>> Similarity3DTransform implements homogenous scaling, but i want 
> anisotropic scaling.
>  
> Also i dont know how to restrict the rotations to happen around the 
> z-axis only.
>  
> Is this possible with one of the existing transform classes or do i have 
> to write a custom transform class ???
>  
> Please Help !!!!!!
>  
> Thanks in advance !!!!!
>  
> Eagerly waiting for your reply !!!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20061028/b0aed5c8/attachment.htm


More information about the Insight-users mailing list