[Insight-users] DeformationFieldTransform vs LandmarkBasedTransformInitializer

Karthik Krishnan karthik.krishnan at kitware.com
Sun Jul 3 08:21:37 EDT 2011


The landmark based transform initializer was something I adapted from
vtkLandmarkTransform, which already supported affine initializations.
In fact the ITK landmark transform initializer computes the affine
matrix en-route to deriving the rigid rotation matrix from it. It
should be a trivial thing to add. For deformable transforms, as Dawood
mentions, the Kernel transforms are a reasonable way of initializing.

thx

On 7/3/11, Dawood Al Masslawi <masslawi at gmail.com> wrote:
> David,
>
> You can do a landmark-based registration using the IterativeClosestPoint
> method
>
> included in the ITK, you can also use the kernel transforms in a
> registration framework
>
> to do a non-rigid registration.
>
> If you are to use the kernel transforms note that the Jacobian is not
> implemented in the
>
> current classes so you can only use them with the 1+1 and Amoeba optimizers
> (or any other
>
> optimizer that doesn't need derivation), however you can use an alternative,
> that is a contribution
>
> made by Rupert Brooks to the Insight Journal
> (http://hdl.handle.net/1926/494)
> which introduced some
>
> improvements to the kernel transform class and its subclasses, namely
> implementing the Jacobian.
>
> It's computation is slow so you should probably use it with high speed
> metrics (e.g. mean square)
>
> and optimizers. It's similarly implemented in the Elastix (elastix.isi.uu.nl
> ).
>
> Also recently I came across another ITK-based implementation in the
> Plastimatch project
>
> (plastimatch.org), their lanmark-based registration supports 3 types of
> Radial Basis Functions,
>
> Thin-Plate Spline (global registration), Gaussian (infinite support) and
> Wendland (compact support, local
>
> registration).
>
> As for the DeformationFieldTransform, I agree. It only seems logical that it
> would support the more general
>
> transforms comparing to the LandmarkBasedTransformInitializer. In addition
> the DeformationFieldTransform
>
> has a GetInverse method which might come in handy sometime :)
>
> Best regards,
>
> Dawood
>
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>
>
> Are these the only two classes to do landmark based registration in ITK?
>
> I noticed that LandmarkBasedTransformInitializer can only compute a
> rigid transform while DeformationFieldTransform seem to use a more
> general transform - is this the intended difference?
>
> Thanks,
>
> David
>


More information about the Insight-users mailing list