[Insight-users] itkSYN itkBsplineSYN Image Registration- Optimizer Documentation??

Nicholas Tustison ntustison at gmail.com
Wed Jan 22 11:39:46 EST 2014


Hi Emma,

I think there are a couple of assumptions you are making which are 
probably a bit confusing.  

> Is there a simple way to set the learning rate given a scaleEstimator for these methods (without using the ans registration helper ) or must one simply choose one at the beginning and hope for the best??

The scale estimators are unnecessary for the SyN methods.  The 
learning rate for these methods is modulated based on voxel spacing 
and the maximum metric gradient to produce the gradient descent
step size.   All that the normalization to determine the gradient step is 
handled internally to the method.  Therefore, whether you choose the
CC metric or MSQ metric and regardless of image resolution, a single 
learning rate is going to have good performance throughout the course
of your image registration optimization.  We typically choose a learning 
rate somewhere between 0.1 and 0.25  which can be roughly translated
as stating that you’re never going to go more than [0.1, 0.25] voxels in 
a single iteration.  All the displacement field-derived transforms work 
similarly.

> I am also finding it difficult to determine which optimizer these methods use as in the ANTS headers there are two options a GradientDescent and a conjugate gradient descent, any ideas??

The conjugate gradient descent and gradient descent optimizers are
*not* used in the registration methods which handle their own optimization
(e.g. BSplineSyN).  They are in the ANTs files because ANTS is also 
used for optimizing other transforms which don’t handle their own optimization
such as rigid, affine, gaussian displacement (i.e. Demons), B-spline,
etc.

Nick





More information about the Insight-users mailing list