[Insight-users] About optimizer bounds

Luis Ibanez luis.ibanez at kitware.com
Fri, 30 Apr 2004 17:14:09 -0400


Hi Francois,

ITK optimizers do not test for bounds in the parameters.

You will have to test your paramters at every step of the
optimizers.


Here are several options on how you could do this in ITK:



A) Create your own optimizer deriving from one of the
    ITK optimizers.  For example the RegualarStepGradientDescent.

    In this case you simply need to overload the virtual method:

          AdvanceOneStep();

    This is the place where the next position in the parametric
    space is computed.  You could add to your optimizer a couple
    of itkArray<double> containinng min and max values for each
    parameter, in the same way that we are right now passing
    scales for each parameter.

    Then, you can decide what to do when the parameter gets out
    of your defined bounds. Probably just truncate it and stay
    at the bound value....

OR

B) Connect a Command/Observer to your optimizer, in order to
    listen for the IterationEvent.  Then in the Execute() method
    of your observer you check the bounds of the parameters, correct
    any one that is out of bound and set again the array of
    paramters as SetInitial paramters. Then restart the optimization.


OR


C) You can be more Lagrangian and create ImageMetrics that
    penalize the parameters when they go out of bounds.
    You could create such metrics by derving or by containing
    any of the existing ITK ImageToImage metrics and just
    adding your penalty terms to the metric value. Note that
    every metric has a different type of range, so you will
    have to adapt the penalty terms accordingly.




     Regards,



      Luis


------------------------
Bignalet Francois wrote:

> Hi All!
> 
> I am working on registration and I am searching a way to impose bounds for the transform parameters...
> Is this included in optimizers?
> Do we have to manually test our parameters on each step to check they stay in the allowed aera?
> 
> Thanks a lot!
> François
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>