[Insight-users] itkLinearInterpolateImageFunction

Luis Ibanez luis.ibanez at kitware.com
Sat Jun 20 21:22:30 EDT 2009


Hi Anja,

Let me correct a statement from my previous email:

 "  When you say "non-rigid" we assume that you are talking
    about a transformation that doesn't preserve angles.
    This includes : Affine and Similarity Transforms"


This is not quite correct.

A better description could be:

    * A rigid transformation preserve distances

Therefore Similarity transforms and Affine transforms
are not (necessarily) rigid.

Similarity transforms, being a combination of rotations,
translation and uniform scaling,  will preserve angles,
but not distances.

Affine transforms, being a combination of rotations
translations, non-uniform scaling and shearing, may
not preserve angles nor distances. They only map
straight lines into straight lines.


      Luis


------------------------------------------------------------------
On Sat, Jun 20, 2009 at 10:39 AM, Luis Ibanez <luis.ibanez at kitware.com>wrote:

>
> Hi Anja,
>
> What you describe, could be a potential way of implementing
> a registration process, but may not be necessarily efficient.
>
>
> You really should identify better the components of a registration
> problem.
>
>
>
> A) Transform:
>
>   When you say "non-rigid" we assume that you are talking
>   about a transformation that doesn't preserve angles.
>   This includes : Affine and Similarity Transforms.
>
>
>
> B) Interpolator:
>
>   The role of the interpolator is to restore continuity
>   on the moving image, so that you can query values in
>   non-grid positions. This is needed regardless of the
>   type of transform.
>
>   Unless you are dealing with a Transform limited to
>   translations parallel to the image axis moving at
>   jumps that are multiple of the pixel spacing and, both
>   of your images has the same direction, and their origins
>   are separated by an integer multiple of the pixel spacing....
>
>
>
> C) The Optimizer itself doesn't compute the Similarity Metric.
>   That's indeed the role of the Metric classes. The Optimizer
>   only chooses the location of the parametric space in which
>   the Metric (Cost Function) must be evaluated. The computation
>   itself is done by the Metric classes.
>
>
>
> D) In the ITK implementation, there is no (explicit) resampling
>   of the moving image at every stage of the registration.
>
>   The reasons for not doing so are:
>
>   1) It would require extra memory
>
>   2) The image will degrade (lose high spatial frequencies)
>      after passing through a series of multiple resamplings.
>
>
> -------------------------------------------------------------
>
>
> It seems that you are interested in understanding the
> implementations of deformable registration in ITK.
>
> There are three main versions:;
>
>
> 1) B-Spline Transforms (standard registration framework)
> 2) Dense Fields (Demons and its variants which are all PDE-based)
> 3) FEM (in which the image space is modeled as an elastic material).
>
>
> Are you interested in particular in one of these specific methods ?
>
>
>
>   Please let us know,
>
>
>     Thanks
>
>
>        Luis
>
>
> -------------------
>
> Anja Ende wrote:
>
>> Hello,
>>
>> Thanks guys. It really helps.
>>
>> So, I am guessing when yoou are going non-rigid registration (say
>> using free form deformation), then the registration algorithm would
>> use something like B-splines to control the transformation of the
>> input image. Then when optimizer computes the similarity matrix, it
>> would resample the transformed image onto a regular grid and then run
>> the similarity measure.
>>
>> Is this a correct interpretation?
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090620/ca5536c3/attachment.htm>


More information about the Insight-users mailing list