[ITK] On the deformable model
Nicolás Barnafi
nabw91 at gmail.com
Fri Mar 24 15:20:06 EDT 2017
Hi Matt,
Yes, and in the example the they don't set anything, so the metric is by
default the SSD. The part I don't see is, SSD does not include any kind of
evolution in time. With this in mind, does the solver assume, when we set
the use of a mass_matrix, that it has to use optical flow instead of simply
assessing the error given by the warping? If this is true, it would be
great to see the original optimization problem, or at least the EL
equations and how they are penalized. I am very intrigued because my (very)
simple python implementation uses no time evolution and a plain fixed point
scheme, and no matter how much I beg, it does not converge to anything that
lungs like a registration. Thanks again.
Best regards
On 24 March 2017 at 15:55, Matt McCormick <matt.mccormick at kitware.com>
wrote:
> 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
>
--
Nicolás Alejandro Barnafi Wittwer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20170324/b0076019/attachment.html>
More information about the Community
mailing list