[ITK Community] [Insight-users] ITKBsplineSyN learning rate
Luis Ibanez
luis.ibanez at kitware.com
Thu Jan 23 09:06:45 EST 2014
Hi Ema
On Mon, Jan 20, 2014 at 11:17 AM, Emma Saunders
<emmasaunders123 at gmail.com>wrote:
>
> Can anyone clarify the method to set the learning rate for ITKBsplineSYN
> registration
>
Looking at lines 417-424 of itkSyNImageRegistrationMethod.hxx
might be helpful.
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Registration/RegistrationMethodsv4/include/itkSyNImageRegistrationMethod.hxx#L417
They are:
417 RealType scale = this->m_LearningRate / maxNorm;
418
419 typedef Image<RealType, ImageDimension> RealImageType;
420
421 typedef MultiplyImageFilter<DisplacementFieldType, RealImageType,
DisplacementFieldType> MultiplierType;
422 typename MultiplierType::Pointer multiplier = MultiplierType::New();
423 multiplier->SetInput( updateField );
424 multiplier->SetConstant( scale );
That is, in here the displacement field is normalized, to 1.0 vector length,
and scaled to the value of the m_LearningRate.
So, the LearningRate value is indeed the maximum "step" length, in physical
units
(e.g. millimeters), that the deformation field will have.
One way to approach the calibration is to set the Learning Rate to half the
dimension
of a pixel. You can do this by using your knowledge of the pixel spacing in
the image.
In this way, you would set up the registration method to move less than one
pixel
at every iteration. This is a smooth way to move, but it may also result in
a larger
number of iterations. That's a trade-off that you may have to evaluate in
the context
of your application.
This criteria of "moving less than one pixel per iteration" is similarly
applied in the
front propagation of Level Sets.
So, if your image has pixel spacing of 3mm,
then a good learning rate to start experimenting with,
could be
3mm / 2.0 = 1.5
HTH
Luis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140123/51c05905/attachment-0002.html>
-------------- next part --------------
_____________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php
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
More information about the Community
mailing list