[Insight-users] Residual error when using ImageRegistration1 ?

Luis Ibanez luis.ibanez at kitware.com
Wed Sep 9 08:58:45 EDT 2009


Hi Joel,

         Parameters, parameters, parameters....

It is a common mistake to blame an algorithm for a poor
selection of parameters.  This is a common symptom of
having passed too much time reading non-reproducible
journals, and not enough time tinkering with code.

---

The RegularStepGradientDescent optimizer has several
convergence criteria.

One of them is the size of the step length.

Whenever the optimizer detects that the gradient has
changed directions, it reduces its step length by a
factor (given by the "relaxation factor" which by
default is set to 0.5).

If your optimizer has bounced a lot during the initial
17 iterations, the step length may have been reduced
already below the threshold set in

    optimizer->SetMinimumStepLength( 0.01 );

You can verify this by printing, at the end of the
registration, the criterion that stopped the optimizer.

  std::cout << optimizer->GetStopConditionDescription() << std::endl;

and/or

  std::cout << optimizer->GetStopCondition() << std::endl;


If the step length is the reason why the optimizer is stopping
too early, you can simply reduce the initial step length (to
avoid unnecessary bouncing) and increase the relaxation
factor (to, for example : 0.9).



      Regards,


             Luis


--------------------------------------------------
On Wed, Sep 9, 2009 at 2:50 AM, Daouk Joël <Daouk.Joel at chu-amiens.fr> wrote:

>  Hi every-body,
>
> I am a newbie in ITK and I tried to use the ImageRegistration1.cxx with 2
> (very) simple images. The fixed image was a 168x168 null image (pixel
> spacing = 1.0 and element size = 1.0) where I drew a centered filled square
> (pixel value = 35). The moving image was the same image with a simple
> translation of the square (dx = 10, dy = 5 pixels). When using
> ImageRegistration1 (MaximumStepLenght = 4.0, MinimumStepLenght=0.01,
> MaximizeOff, NumberOfIterations=200, MinimizeOn) with these data, the
> algorithm stops after only 17 iterations and gives translation parameters
> equal to dx=10.0000014214 dy=4.999978 and a final final non-equal to 0
> (around 3e-9). Why ImageRegistration1 can not find the real solution on a so
> simple test data set ?
> Thanks in advance.
>
> Cheers
>
> Joël DAOUK
>
> Unité TEP
> CHU Amiens hôpital Sud
> Avenue Laennec
> 80480 Salouel
>
> Tel : +33 3 22 45 60 15
>
>
> LEGAL CONFIDENTIAL: The information in this e-mail and in any attachment
> may contain information which is legally privileged. It is intended only for
> the attention and use of the named recipient. If you are not the intended
> recipient, you are not authorized to retain, disclose, copy or distribute
> the message and/or any of its attachments. If you received this e-mail in
> error, please notify me and delete this message. Thank-you.
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.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/20090909/0ea25488/attachment.htm>


More information about the Insight-users mailing list