How to set minimum step size in optimizer for image registration?

5 views (last 30 days)
I am solving a registration type problem where I know my images can be apart by large parameter values (perhaps, up to 20 pixel shift, 0.5 scaling factor and 30 degrees). When I use an optimizer, it takes sub-pixel steps and ends up in a minimum that is (or rounds off to) my original guess. Is there a way to set the step size to e.g. 1 pixel, 1 degree etc? I am trying to use fminsearch but do have the optimization toolbox.
Also, is it possible to pass images to the optimizing function without doing file reads/writes?
Thank you, Bogdan

Answers (1)

Image Analyst
Image Analyst on 7 May 2014
Why not just use imregister() or imregtform() to do the registration? They're in the Image Processing Toolbox - do you have that?
Bogdan Dzyubak
Bogdan Dzyubak on 7 May 2014
These are fast-acquisition MRI images where emphasis was not on anatomic quality. There's significant inhomogeneity, motion artifact, and fat suppression, so I do not want to fit image-to-image directly for fear of over-fitting. There are custom criteria I'd like to put in and I don't think imregister will have the flexibility with pre-processing alone.
Image Analyst
Image Analyst on 7 May 2014
imregtform has a choice of optimizers. It may be equivalent to the optimizers you want to use. imregtform is meant for aligning images that may be way out of alignment or not be so close in appearance. Here's the description:
tform = imregtform(moving,fixed,transformType,optimizer,metric) estimates the geometric transformation that aligns the moving image moving with the fixed image fixed. transformType is a string that defines the type of transformation to estimate. optimizer is an object that describes the method for optimizing the metric. metric is an object that defines the quantitative measure of similarity between the images to optimize. The output tform is a geometric transformation object that maps moving to fixed.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!