[Insight-users] Demons registration stopping criteria

Luis Ibanez luis.ibanez at kitware.com
Sun May 2 20:08:11 EDT 2010


Hi Luke,

You are correct.

The DemonsRegistrationFilter doesn't use the
Metric value directly as a convergence criterion.

The metric is only computed as a value to be
reported for monitoring purposes.

You will find its computation in

Insight/Code/Algorithms/
                 itkDemonsRegistrationFunction.txx

In lines 280-285.


If you want to introduce such a stopping criteria
based on the change of the metric, you could
overload the "Halt()" method in the modified
Demons filter.

The new method will look like:

DemonsFilter::Halt()
{
   bool returnSoFar = this->Superclass::Halt();
   if( returnSoFar )
      {
      return true;
      }

   double metricChange = this->GetMetric() -
       this->m_PreviousMetric

   if( metricChange > convergenceValue )
     {
     return true;
     }

}


Where, of course you have to add the
member variables that hold the values
of

* convergenceValue
* previous metric


For reference, please look at the Halt()
method in the file


Insight/Code/Common/
      itkFiniteDifferenceImageFilter.txx

in lines 214-241.


     Regards,


           Luis


-------------------------------------------------------------------------------
On Fri, Apr 30, 2010 at 11:45 AM, Luke Bloy <luke.bloy at gmail.com> wrote:
> I'm curious about the stopping criteria used in the demons based
> registrations.
>
> From looking at itkFiniteDifferenceImageFilter::Halt() it seems that the
> stopping criteria are one of either 2 things.
>   1) the number of iterations exceeds some maximum.
>   2) the RMS_change is less then some MaximumRMSError.
>
> In the demons algorithm the RMS_change is defined as the average of the
> length of the update displacement field. Which seems to never decrease
> significantly.
>
> Am I correct that there is no stopping criteria based on the image
> similarity metric? If not what would be the most sensible way/place to add
> such a criteria? Is there any interest in having this functionality?
>
> thanks,
> Luke
>
>
>
> _____________________________________
> 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.html
>
> 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 Insight-users mailing list