[Insight-users] Affine Registration

Michael Hardisty m.hardisty at utoronto.ca
Wed Mar 2 11:58:01 EST 2005


Hello Hari,
                 A possible solution to your problem is to use vectorial 
images.  My suggestion is essentially that you create a 3D Image that 
has pixels that each have n components (where n is the number of the B 
images) and then you use the normal ITK image registration component to 
register these two images.  The first Image would have all of its n 
components equal to the A type image and the second type would have its 
n components each taken respectively from B1, B2...Bn.  Hence when doing 
the registration of this n-component vector image you will be finding 
the transform that will map A most closely to the set of Bi images.  
This should be fairly straight forward to implement.  

If you would like some insight into vectorial images within ITK they are 
covered within the software guide.

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

You must be sure to use a Vector Image Metric within the registration 
because regular image Metrics are not compatible with Vectorial Images.  
Any metric that is derived from

itk::VectorInterpolateImageFunction< TInputImage, TCoordRep, TPixelType >
http://www.itk.org/Doxygen/html/classitk_1_1VectorInterpolateImageFunction.html

I believe that the rest of the registration frame work will be 
compatible with the vectorial images as long as suitable instantiations 
are made such as the following:

//n = 11

typedef        itk::Vector< float, 11 >                               
                      PixelType;
typedef        itk::Image< PixelType, ImageDimension >                 
        CompositeImageType;

I hope that this helps.

-- 
Michael Hardisty
M.A.Sc Student
University of Toronto
Orthopaedic Biomechanics Laboratory
Sunnybrook & Women's College Health Sciences Centre



Hari Sundar wrote:

>Hi,
>
>I need to write a program to perform a specific kind of affine
>registration. I am using the centered affine transform. The difference
>is that I need to compute the similarity over a set of images rather
>than 2 images.
>
>That is I have an image A and a set of images B1, B2 ... Bn and I want
>to find an affine transform that best fits all of these. In other
>words I need a common transform but the similarity computed will be
>for all pairs (A,Bi), i=1...n
>
>How do I set up the pipeline for this ?
>
>thanks,
>~Hari
>_______________________________________________
>Insight-users mailing list
>Insight-users at itk.org
>http://www.itk.org/mailman/listinfo/insight-users
>  
>




More information about the Insight-users mailing list