[Insight-users] Affine transformation with convergence on metric value

Siddharth Srivastava siddys at gmail.com
Tue Nov 8 14:10:12 EST 2011


Hi all,
      I want the affine transform to converge on the change on metric value
across iterations.
The various components in my registration are defined as below:

     typedef itk::AffineTransform<coordRepType, 2> TransformType;
    typedef itk::RegularStepGradientDescentOptimizer OptimizerType;
    typedef itk::MeanSquaresImageToImageMetric< BFrameType, BFrameType >
MetricType;
    typedef itk::LinearInterpolateImageFunction< BFrameType, coordRepType >
InterpolatorType;
    typedef itk::ImageRegistrationMethod<BFrameType, BFrameType>
RegistrationType;

I looked at the examples available on the net with similar approaches, but
the closest examples I
could find was specifying the minimum step length as the stopping
criterion. I already have a Command
Observer attached to the filter to observe the metric value per iteration,
so I can calculate the change
as the registration progresses. I was wondering how I can
1) specify the change in metric value as a stopping criterion, and
2) send a terminate (or equivalent) command to the
registration process when metric_previous - metric_current attains a
certain threshold, after which it should
return the current parameters?

If someone can point me to a good example on the net, that would be great
too. Or maybe a mail thread on
a similar topic which I missed....

I am still struggling why my release version crashes with a
SystemAccessViolation while definine a SmartPointer
to the registration object (my earlier mail, using ITK 3.20.0), but for
now, to maintain continuity, I wanted to move forward with the
rest of the implementation...

Thanks for all the help,
Sid.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20111108/0b8991fb/attachment.htm>


More information about the Insight-users mailing list