[Insight-users] about the transform parameters

Luis Ibanez luis.ibanez at kitware.com
Wed Apr 7 18:31:48 EDT 2010


Hi Renji,

Your observation is correct.

When doing deformable registration, some methods
produce as output a deformation field.

This field is indeed equivalent to a Transform.

If you want to know where point P from the fixed
image maps in the moving image, you can do

  vectorImageInterpolator->SetImage( deformationField );

  Vector V = vectorImageInterpolator->Evaluate( P );

  Point  Q = P + V;


the point Q will be in the coordinate system of the moving
image.

The vector interpolator that you may want to use is
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1VectorLinearInterpolateImageFunction.html


On the other hand, if what you want is to map the full
image, then you may want to use the WarpImageFilter.
http://public.kitware.com/Insight/Doxygen/html/classitk_1_1WarpImageFilter.html


     Regards,


            Luis


--------------------------------------------------------------------------
On Wed, Apr 7, 2010 at 4:44 AM, renji yu <yurenji at gmail.com> wrote:
> Dear Luis,
>
> For  rigid registration, it is easy for us to get the final tranfrom
> parameters. For example, for a 2D AffineTransfrom, we can get the final
> parameters by using the method GetLastTransfromParameters,like this:
>
>   OptimizerType::ParametersType finalParameters =
>                     registration->GetLastTransformParameters();
> The parameter is actually a 2x3 vector.
>
> However, for a deformable registration,  points in one image have different
> transform parameters. If I want to know all the points(in the fixed image)'
> correspoinding coordinates after registration, how should I do?
> I find the first example of deformabe registration
> (DeformableRegistraion1.cxx) outputs a file named
> VectorDeformationField.mhd, can I get the transform information of every
> points from it?
>
>
>
> Your Sincerely,
>
> Renji Yu


More information about the Insight-users mailing list