[ITK] optimizer scales and weights

Matt McCormick matt.mccormick at kitware.com
Mon Nov 9 12:52:51 EST 2015


Hi Luigi,

> If I've got it correctly the scale parameters tell the optimizer in which
> order of magnitude should move in every direction, while the weights are
> just used in order to privilege convergence according to a certain number of
> sub parameters.

Yes!


> I would rather ask you another question about the scales.  In the ITK
> software guide "3.18.2 General heuristics for parameters" it is suggested to
> scale the translation parameters of the optimizer in he following way
> // optimizerScales[9] = 1.0 / (10 * movingSpacing[0] * movingSize[0])
> // optimizerScales[10] = 1.0 / (10 * movingSpacing[1] * movingSize[1])
> // optimizerScales[11] = 1.0 / (10 * movingSpacing[2] * movingSize[2])
>
> Is this what is done by the SetScaleEstimator() method?

There are a few options for the ScalesEstimator; see the inheritance
diagram here:

  http://www.itk.org/Insight/Doxygen/html/classitk_1_1RegistrationParameterScalesEstimator.html

which basically follow the Software Guide recommendation, but they are
better in that they are more automatic, sophisticated, and
data-driven.

Thanks,
Matt


More information about the Community mailing list