Storing MeanSquare​s/MattesMu​tualInform​ation Metric Value from Imregister

1 view (last 30 days)
How can I store the values of the registration metric after optimization when using imregister.
Using DisplayOptimization 'true', the iteration and corresponding metric value (Mean Square Error/Mattes Mutual Information) is displayed in the command window.
However, I would like to store the value so I can compare the quality of a series of registrations using the metric. regmex.mexw64 in imregtform.m performs the registration but I cannot access the mex code.
Is there a straightforward way to do this? Any help would be much appreciated.
  2 Comments
Matt J
Matt J on 3 Feb 2016
Luca Baldassarre asked:
Is there any update on this? I am also trying to evaluate the performance of the image registration, but I cannot output the value of the optimized metric.
Michael Price
Michael Price on 4 Jan 2017
Same here. Right now I'm using 'DisplayOptimization',true with diary, but that's a ridiculous kluge. Ideally the underlying objective function could be directly called. There are many reasons one would want to do this, such as to calculate the Hessian.

Sign in to comment.

Answers (1)

Matt J
Matt J on 25 Sep 2013
Edited: Matt J on 25 Sep 2013
You could probably use EVALC to grab it off the screen.
I would just implement your own metric. It seems dangerous to rely on a metric whose implementation is hidden from you for any kind of follow-up assessment.
  1 Comment
Matt J
Matt J on 25 Sep 2013
Edited: Matt J on 26 Sep 2013
I agree, though, that it would be nice if the registration.metric.MattesMutualInformation and similar classes had some public methods defined so that you could compute these things.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!