[ITK] On the deformable model

Matt McCormick matt.mccormick at kitware.com
Fri Mar 24 14:55:47 EDT 2017


Hi Nicolás,

On slide 5, E_D and E_S are referring to the optical flow registration.

On slide 6 is an objective function for variational registration, and
FEM registration uses the integral of the deformation (linear elastic
internal strain energy) as a regularization term.

The similarity term can vary:

  https://github.com/InsightSoftwareConsortium/ITK/blob/aecfac233e8815cdd0121fd2351dd3fef80d2e1b/Modules/Registration/FEM/include/itkFEMRegistrationFilter.hxx#L222-L255

HTH,
Matt

On Fri, Mar 24, 2017 at 11:39 AM, Nicolás Barnafi <nabw91 at gmail.com> wrote:
> Hi Matt,
>
> Thanks the quick answer and welcome :) . That is indeed the ppt. There they
> define two energies and then write an integral in terms of some "similarity"
> which wasn't really defined. Maybe it is the E_D term? Hopefully the same
> applies for smoothness (E_S), but I'm not sure. In the code I had trouble
> because RunRegistration uses MultiResSolve, and there they instantiate a
> solver which uses Update(). I couldn't find Update in either .h or .hxx
> files, and apparently update is redirected (somehow) to AssembleKandM. The
> Doxygen page for the CrankNicolson solver shows a formulation of the method
> but not for what problem, and that leaves other questions without answer,
> such as the boundary conditions, elements used for the FEM formulation, etc.
> Thanks so much for your time.
>
> Best regards
>
> On 23 March 2017 at 18:34, Matt McCormick <matt.mccormick at kitware.com>
> wrote:
>>
>> Hi Nicolás,
>>
>> Welcome to ITK!
>>
>>
>> Is this the PowerPoint?
>>
>>   https://itk.org/CourseWare/Training/NonRigidRegistrationMethods
>>
>> Note that DeformableRegistration1.cxx (FEM registration) is discussed
>> after the optical flow example.
>>
>>
>> Some more information on the FEMRegistrationFilter can be found in its
>> class documentation:
>>
>>
>> https://itk.org/Doxygen/html/classitk_1_1fem_1_1FEMRegistrationFilter.html
>>
>> Multiple metrics are available:
>>
>>
>> https://itk.org/Doxygen/html/classitk_1_1fem_1_1FEMRegistrationFilter.html#acc636f4752e592cd780503a5fbfeba82
>>
>>
>> In general, "the code reveals all" and should be given the highest
>> amount of trust.
>>
>>
>> Hope this helps,
>> Matt
>>
>> On Thu, Mar 23, 2017 at 4:32 PM, Nicolás Barnafi <nabw91 at gmail.com> wrote:
>> > Hi everyone,
>> >
>> > I have been trying to understand exactly what is happening in the
>> > DeformableRegistration1.h file without much success. The problem is:
>> > according to the software guide, the problem being solved comes from the
>> > variational problem given by
>> >
>> > min D[image1, image2; u] + S[u]
>> >
>> > where D is just the SSD (or the L2 norm of (Im1 - Im2 o phi), with phi
>> > the
>> > unknown displacement field) and S is a linear elastic potential. From
>> > here
>> > you get  the euler lagrange equations (asuming some unspecified boundary
>> > ocndition) and solve it using some semi implicit newton-raphson scheme.
>> > This
>> > is where it starts getting blurry, because the ITK ppt on deformable
>> > registration first shows an optical flow formulation, which would mean
>> > that
>> > the SSD metric isn't really what is being used, and also if I dig deeper
>> > in
>> > the code, I find actually a Crank-Nicolson scheme being used, which
>> > really
>> > implies some kind of temporality that really does not exist in the
>> > variational formulation. The only hint I have found was in Modersitzki's
>> > book where a fixed point scheme is artificially stabilized:
>> >
>> > A(u[k+1]) = f_u[k]
>> >
>> > => u[k+1] + t A(u[k+1]) = t f_u[k] + u[k].
>> >
>> > I would want to know what is exactly happening in that example to be
>> > able to
>> > validate an example I implemented in python. Thanks for your time.
>> >
>> > Best regards
>> >
>> >
>> >
>> > --
>> > Nicolás Alejandro Barnafi Wittwer
>> >
>> > _______________________________________________
>> > Community mailing list
>> > Community at itk.org
>> > http://public.kitware.com/mailman/listinfo/community
>> >
>
>
>
>
> --
> Nicolás Alejandro Barnafi Wittwer


More information about the Community mailing list