[Insight-users] Image Registration

Vikash Gupta vikash.gupta at inria.fr
Thu Sep 13 18:27:35 EDT 2012


Hi Torsten, 
Thanks once again for your patient email. Yes so I resampled the moving image to the fixed image space, with the output transformation matrix (my output transformation matrix is inverted) and I get the image in the expected co-ordinates of the fixed image. 
So, I will apply this transformation (or the inverse) to the points in physical spaces of the images in order to take one to other or the way around, as you suggested. 

One last thing that startles me as i mention before is the gap between the translation parameters, which intutively should be more, but I didn't write the registration routine so probably that is an issue I should find out by looking at the registration routine, how things are implemented there. 

THANKS once again for all the help.. It was really helpful 

Vikash 

> > Here is an example,
> 

> > F_origin=[-120.0000 78.6926 -15.5144] (output from
> > fixedImage->GetOrigin())
> 
> > M_Origin=[-67.9766, 80.7186, -128.159] movingImage->GetOrigin()
> 

> > Now I believe these two points in the physical space also
> > correspond
> > to the respective voxels with Index =(0 0 0)
> 
> I would agree with that.

> > And on registration this is the transformation matrix I get
> 

> > #Insight Transform File V1.0
> 
> > # Transform 0
> 
> > Transform: AffineTransform_double_3_3
> 
> > Parameters: 0.999985 0.00438959 -0.00335042 -0.00439659 0.999988
> > -0.0020834 0.00334123 0.0020981 0.999992 0.187256 0.905001
> > -0.172994
> 
> > FixedParameters: 0 0 0
> 

> > So, if you notice there is a huge gap in the origins of the two
> > images which are not reflected in the translation (last 3 terms of
> > parameters) parameters of the transformation matrix.
> 

> Well, the first question here is - how do you initialize the affine
> registration? If you simply use the identity transformation, then
> you start with a zero translation, and it is possible that that gets
> you stuck in an unreasonable local optimum of the registration cost
> function. You could try using something like a
> CenteredTransformInitializer object to initialize your
> transformation.

> Ultimately, though, you want to use ITK to reformat the moving image
> to the fixed image grid according to your transformation and see
> whether that gives you a reformatted moving image matching the fixed
> image. If yes, your transformation is okay and then you can try to
> interpret it. If no, you have a problem computing the transformation
> in the first place, and you need to fix that first.

> > So, how do i find the voxel correspondences between the two images.
> > Could it be as simple as apply the transformation to the points in
> > individual voxels of the moving image and calculate the correspong
> > points in the physical space of the Fixed Image. ??
> 
> Again - transformation is applied to points in the FIXED image,
> resulting in points in the MOVING image. I know this is
> counter-intuitive, but because you "pull back" the image information
> into the fixed grid when you reformat, images transform in the
> opposite direction as do, for example, point sets or other
> geometries.

> Hope this helps.

> TR

> _____________________________________
> Powered by www.kitware.com

> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html

> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php

> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ

> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users

----- Original Message -----

> > Suppose I have a point in the Physical Space of the moving image
> > and
> > I want to find the corresponding point in the fixed image, given
> > that I have the transformation, is it so that if I apply the
> > transformation to this point in the moving image I will get the
> > corresponding point in the fixed image, and the corresponding voxel
> > ?
> 
> No.

> You apply the transformation to a point in the fixed image and get
> the corresponding point in the moving image.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20120914/ca9dd10d/attachment.htm>


More information about the Insight-users mailing list