[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
>