[Insight-users] Re: deformable registrations

Luis Ibanez luis.ibanez at kitware.com
Sun, 08 Feb 2004 16:10:26 -0500


Hi Silvester,

A couple of classes that have been added recently
to ITK are applicable to the deformable registration
that you are attempting.



The first class is the

    itkDeformationFieldSource
http://www.itk.org/Insight/Doxygen/html/classitk_1_1DeformationFieldSource.html

which generates a deformation field from two sets
of landmark points. An example on how to use this
class is available at


   Insight/Examples/Registration/
                        LandmarkWarping2.cxx


This is pretty much like 'morphing'.  You select
a set of points in one of the images, then the
homologous points in the other image and provide
both sets to this class.  The DeformationFieldSource
creates a vector image representing a deformation
field. When you feed this deformation field to the
WarpImageFilter you can deform/resample one of the
images in order to fit the other.

The DeformationFieldSource uses KernelSplines as
transforms. You can connect any of the five Kernel
splines implementation available in ITK.
http://www.itk.org/Insight/Doxygen/html/classitk_1_1KernelTransform.html
By default it uses ThinPlate splines.
http://www.itk.org/Insight/Doxygen/html/classitk_1_1ThinPlateSplineKernelTransform.html

You could manually explore a good selection of
landmarks by performing this morphing. Once
you find a good combination, you can pass the
deformation field produced by the Source as input
to the DemonsRegistrationFilter
http://www.itk.org/Insight/Doxygen/html/classitk_1_1DemonsRegistrationFilter.html
This filter derives from the PDEDeformableRegistrationFilter
http://www.itk.org/Insight/Doxygen/html/classitk_1_1PDEDeformableRegistrationFilter.html
which has a method "SetInitialDeformationField()".


Note that for Demons is quite important to have
two images with similar intensity distributions.
Your images are not exactly in the same range of
gray levels, so you must use the HistogramMatching
filter as illustrated in the example.


   Insight/Examples/Registration/
                       DeformableRegistration2.cxx


For Demons to work correctly you must first provide
a deformation field that put the edges of features
to be registered very close one to another. Demons
compute forces based on the notion of "optical flow",
therefore it can only correct for displacement that
are in the range of the transition zone of the edges.


Please let us know if you find any problems using
this registration approach.



    Thanks


      Luis


===========================
Silvester Czanner wrote:
> Luis,
> 
> during last few days I tried to register 2 images (I am sending you as 
> attachments) using several ITK methods. Unfortunately, I was not 
> successful. I was wondering if there is some way in ITK to register 
> those two images. I was thinking about Procrustes analysis, but I did 
> not find such a method implemented in ITK. Could you, please help me? 
> Thank you very much.
> 
> Silvester
> 
> 
> ------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
>