[Insight-users] Re: How to put Thinplatespline into the automatic registration framework?

Luis Ibanez luis . ibanez at kitware . com
Sun, 23 Jun 2002 15:52:57 -0400


Hi zhangzhijun


Short answer = Yes,
You can use ThinPlateSpline transforms with the registration framework

--

Long answer:

The ThinPlateSpline transform derives from the itkTransform.
This is the only requirement for using it as part of the
registration framework and/or the multi-resolution registration
framework.

This is valid also for all the ITK transforms in the family
of the SplineKernelTransform:

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

That is:

- ThinPlateSplineKernelTransform
- ThinPlateR2LogRSplineKernelTransform
- ElasticBodySplineKernelTransform
- ElasticBodyReciprocalSplineKernelTransform
- VolumeSplineKernelTransform

The Geometrical aspect of these transforms can be analyzed with
the ThinPlateSplines example in the Insight/Examples directory.
Where a set of landmarks is mapped from one space to another
and results are compared between VTK transforms and ITK Transforms.
This example also allows to benchmark the transform.

The ITK registration framework allow you to combine any
transform, with any Image metric and any Optimizer.

However, some optimizers may be better adapted to the shape of
the function resulting from the evaluation of the metric near
the optimal position.

You can even replace the Optimization method at run time if
you wish to create a particular optimization strategy.

Note that SplineKernelTransform will have a large number
of parameters !!

While an AffineTransform in 3D has 12 parameters, a
SplineKernelTransform will have 3*N (where N is the number of
landmarks used to define the transform). So, let's say that
you have selected a set of 20 landmarks in the fixed image,
and the corresponding 20 landmarks in the moving image.
The dimension of the search space in this case will be 60.

The registration will be done by optimizing the landmak positions
on the moving image. The cost function of the optimization
can be any of the Image metrics already defined in ITK, or
you can define your own.

Note also that as opossed to FEM or PDE deformable registration
approaches here you will not be introducing any regularization
strategy other than the natural smoothing done by the Splines.

Powell's optimization method could be good for initial trials
since you will be able to trace how the registration progress
by optimizing each one of the landmark coordinates at a time.

However it may not be the best optimization approach for the
long run. Probably a ConjugateGradient will behave better
since it will take into account the mutual interactions
resuling from the cross-talk between the landmarks due to
the Spline smooting.

The Powell optimization method is not currently implemented
in ITK. It shouldn't be hard to get it done since the Regular
StepGradientDescent is already there.  It is in some way
equivalent to run the Regular Step Gradient descent but
one dimension (one transform parameter) at a time.  If you
are motivated to implement it, we will be glad to give you
a hand for doing so.


Please let us know if you encounter any problems.


     Thanks


     Luis


=========================================================

zhangzhijun wrote:
  > Dear Luis:
  >          I see in the files in the document attached with the ITK 
package
  > there is a poster about the automatic registration.
  > I am wondering how to put the TPS into an automatic registration
framework ?
  > Can I use it with the Powell's method and
  > steepest decent optimization method?
  >
  > regards,
  > zhang zhijun
  >
  >
  >