[Insight-users] parameter tuning for image registration.

Luis Ibanez luis.ibanez at kitware.com
Mon Apr 26 15:11:27 EDT 2010


Hi Xi,

Thanks for your detailed posting.

Your observations are correct.

The toolkit currently provides a large family of components
for performing image registration, but it lacks on the high
level management of those components. Particularly on how
to tune their parameters.

As you pointed out, in a typical BSpline deformable registration,
you will have to deal with

  * Transform fixed parameters:   About 6 parameters
  * Metric parameters :                 About 5 parameters
  * Optimizer:                                About 3 parameters

Not to mention the selection of the components themselves.

For example, you can easily choose from among five
different optimizer for attacking the same problem.

To this date we have addressed this difficulties by providing
many examples of typical cases and suggesting some
heuristic practices on how to progressively fine tune the
many parameters of a registration problem.

Curiously, such an essential problem is rarely discussed in
the literature, except in the typical context of authors trying
to imply that their proposed registration method is better
than others.    :-/

---

My suggestion is to start from trivial cases.

A) Provide a "manual" rough alignment of the images
B) Start always with only a Translation transform.
C) Focus on fine-tunning the Metric parameters first
D) Use a trivial optimizer first.
E) Support your exploration with visualization

The reason for focusing first in the Metric, is that
if the metric is poorly configured, then nothing you
do with the other components can compensate for
the deficiency of the metric.

Regarding (E), Just as Matt suggested, there are
tools that can assist you with the exploration of
parameters.

One of the is visualization.

For example, the files:

* itkRegisterITKMonitorVTK.cxx
* vtkRegistrationMonitor.cxx
* vtkRegistrationMonitor.h

available in

InsightApplications/Auxiliary/vtk

http://public.kitware.com/cgi-bin/viewcvs.cgi/Auxiliary/vtk/?root=InsightApplications




   Regards,


         Luis


--------------------------------------------------------------------------------------------
On Sun, Apr 25, 2010 at 6:48 PM, Xi Liang <liangxi1986317 at hotmail.com>wrote:

>
> Dear all,
>
> Parameter tuning in the image registration is really a tough job for me,
> due to lack of analysis skills. Everytime when I have a new application, I
> have to spend a huge amount of time to find the right parameter set. Or
> maybe I was "guessing" the parameters. I understand there are so many
> different algorithms in image registration, and in each algorithm, again so
> many different choice for each component, e.g. optimizer, sampler, and
> metrics. In each component, there are several parameters to tune.
>
> Is there any reference that help parameters tuning in image processing? Any
> introduction on how to analyse the result by changing parameters, not only
>  from high level, e.g. improve the metric value. It is more like, if I want
> to tune the parameters in an optimizer, I might want to analyse the
> gradients, or might draw some graph on the step size, or convergence.
>
> I understand the parameter tuning in this way, as a starter of image
> processing. All comments are highly appreciated. There is no uniform good
> and robust parameter set for a registration algorithm. If you want to choose
> the right parameters, you have to understand each component in a
> registration algorithm how they work, and can be able to mathematically
> analysis on results in each components. However, this seems a bit
> unrealistic.
>
>  Another quick way is start from the code and parameters available, and
> gradually understand the algorithm, which is what I am doing. However, at
> this stage, I still cannot do a systematically analyse on each component in
> a Bspline based registration result by using different parameters. I just
> try different combination to get the highest value of SSD, or MI, or those
> metric value, or just though visual check. I would like to analyse the
> behavior of each component in a lower level, but only look at the final
> registration result.
>
> Or maybe I should not ask how to do parameter tuning, I should ask how to
> do image analysis. However, most of the book just discuss on the algorithm,
> and do not discuss how to analyse or "debug" the wrong component.
>
> This question might be a little bit confusing, and I just try to analyse
> and figure out what is the true problem while typing.
>
> Kind regards,
>
> Xi
>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100426/c90db055/attachment.htm>


More information about the Insight-users mailing list