[Insight-users] Question about Diffeomorphic Registration
Tom Vercauteren
tom.vercauteren at m4x.org
Tue Jul 15 07:10:20 EDT 2008
Hi Kaveh,
Thanks for your interest in my algorithm and for your feedback.
Let me first start by thanking Luis for his great comment.
Reproducible research is definitely something we should head towards
and is a difficult practice.
Your feedback already goes in the good direction since you provide
some of your experiments and results. However it would have been
better to show the results based on the same set of parameters.
> - Is there any fluid registration method implemented in ITK, either LDDMM
> (Prof. Miller et al.) or fast diffeomorphism (Prof. Ashburner) ? If not, is
> there any plan to implement such methods?
Fluid registration should be possible with the FEM methods but I
haven't heard of an open-source ITK implementation of either LDDMM or
DARTEL.
You should still be able to get DARTEL with SPM5:
http://www.fil.ion.ucl.ac.uk/spm/
> - As far as I know (so far) this paper and corresponding code is the only
> diffeomorphic registration method implemented in ITK:
>
> "Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy"
> by: Tom Vercauteren, Xavier Pennec, Aymeric Perchant, Nicholas Ayache
> Jun-2007
>
> I found it very interesting and tried it over traditional "C" example which
> is commonly used as a bench mark for fluid methods. My understanding is that
> this is not a large deformation method.
It depends what you mean by "large deformation method". If you mean
"fluid registration" then you are right. It is not a fluid method,
there is an elastic-like regularization involved and this will
somewhat pull the registration towards the identity.
However, in my experience, it handles "large deformations" quite well.
With good parameters, the "circle to c" registration or the "c to c"
registration can be worked out. You will however also need to play
with the smoothing parameters (-s and -g in my insight journal
submission). These are usually more important than the maximum step
length which can often be kept at a value of 2 pixels.
You will find a detailed independent report here on how to set the
parameters for a specific application:
http://darwin.bio.uci.edu/~cestark/roial/roial.html
Excerpt from the above link:
"Want to run ROI-AL and get nice regional alignment but don't have
access to something like LDDMM? We now have a solution (ROI-Demons)
that can not only perform extremely well but under the right
circumstances can even outperform the ROI-LDDMM method (using our
previous default parameters) that we have used successfully to align
MTL (and striatal) regions with excellent accuracy even down at the
level of hippocampal subfields (see also here)."
> Unlike basic ITK which produce negative Jacobian (but good registration),
> both Diff. Demon and Thirion methods yiled non-negative Jacobian. However,
> Thirion got much better registration result with lower residual than Diff.
> Demon.
Good registration is really a matter of objective. If you need
invertible transformations, then an additive update rule (basic ITK
behavior) is usually not tolerable since it indeed often produces
negative Jacobians.
In practice a compositive update rule usually leads to invertible
transformation but this is not guaranteed from a theoretical point of
view. Note that I called such a compositive rule "Thirion's rule"
according to my interpretation of Thirion's MedIA paper. This is only
an interpretation since Thirion didn't really give all the details
necessary to implement his method. Proof if that this is not what has
been implemented in ITK.
On the other hand, using a diffeomorphic update rule guarantees
invertibility but suffers more from discretization problems.
> In addition, no matter how small step size is, in the
> Multi-resolution 1 and 2 (in Diff. Demon) it increases MSE instead of
> decreasing it. I know that the step size I used for Diff. Demon is very
> aggresive but even with default step size it increases MSE in the Multi-res
> 1& 2.
For some reason that needs more research, the variants of the
demons algorithm tends to converge fast in the first iterations but
once they reach a good solution, if you keep on iterating, the
solution will get worse.
What you can do is monitor the evolution of the registration by using
the -v parameter and choose the number of iterations according to the
evolution of the different metrics.
Another possibility is to use a smarter observer that will stop the
iterations when "convergence" has been reached. You can take a look at
the following examples to implement such a smart observer:
Examples/Registration/DeformableRegistration16.cxx
Examples/Registration/DeformableRegistration17.cxx
> I was wondering whether I am making a mistake or in general Thirion update
> works better while procuding diffeomorphic transformation? I mean, I think
> the advange of Diff. Demon is that it gaurantees to produce Diffeomorphic
> transformation but does it necessarily sacrify accuracy? or I am making a
> mistake somewhere? Do you think that combined method (sometimes Thirion
> sometimes Diff. Demon) works better? Or this method is not essentially
> proper for large deformation?
As said above, the method is usually proper for large deformations but
sacrifices some properties of advanced methods such as LDDMM for
computational resources.
Now in my experience, on real data, both the compositive update rule
and the diffeomorphic one tend to produce results that are very close
in terms of visual appearance to the one obtained with the additive
update rule but have transformations that are quite smoother and
usually invertible.
The difference between using the compositive update rule and the
diffeomorphic one is however often small. This might be explained by
the fact that the compositive rule is a good first order approximation
of the diffeomorphic update rule. See my thesis for a more detailed
explanation and discussion:
http://www.inria.fr/sophia/asclepios/Publications/Tom.Vercauteren/PhDThesis-TomVercauteren.pdf
So depending on your exact requirements on invertibility, I agree that
the compositive update rule might often be a better choice. In that
case, the main contribution of the diffeomorphic demons framework
would be manifold (no pun intended):
1) Putting all the demons variants into a unified theoretical framework
2) Showing that using an additive update rule as was done previously
in ITK (and elsewhere) may not be the best option
The advantage of putting it into a rigorous mathematical framework is
that it facilitates the development of other variants/extensions with
different properties. For example, we have proposed a new version of
the diffeomorphic demons that is symmetric with respect to the order
of the input images:
http://www.inria.fr/sophia/asclepios/Publications/Tom.Vercauteren/SymLogDemons-MICCAI08-Vercauteren.pdf
This extension heavily uses the diffeomorphic demons framework.
Unfortunately I haven't taken the time to write that code in a
distributable form yet.
I hope this information will help. Let me know if you still have questions.
Regards,
Tom Vercauteren
More information about the Insight-users
mailing list