Create an Optimizer and Metric for Intensity-Based Image Registration
You can pass an image similarity metric and an optimizer technique to imregister. An image similarity metric takes two images and returns a scalar
value that describes how similar the images are. The optimizer you pass to
imregister defines the methodology for minimizing or maximizing the
similarity metric.
imregister supports two similarity metrics:
Mattes mutual information
Mean squared error
In addition, imregister supports two techniques for optimizing the
image metric:
One-plus-one evolutionary
Regular step gradient descent
You can pass any combination of metric and optimizer to imregister,
but some pairs are better suited for some image classes. Refer to the table for help choosing
an appropriate starting point.
| Capture Scenario | Metric | Optimizer |
|---|---|---|
| Monomodal | MeanSquares | RegularStepGradientDescent |
| Multimodal | MattesMutualInformation | OnePlusOneEvolutionary |
Use imregconfig to create the default metric and
optimizer for a capture scenario in one step. For example, the following command returns the
optimizer and metric objects suitable for registering monomodal images.
[optimizer,metric] = imregconfig("monomodal");Alternatively, you can create the objects individually. This enables you to create alternative combinations to address specific registration issues. The following code creates the same monomodal optimizer and metric combination.
optimizer = registration.optimizer.RegularStepGradientDescent(); metric = registration.metric.MeanSquares();
Getting good results from optimization-based image registration can require modifying
optimizer or metric settings. For an example of how to modify and use the metric and optimizer
with imregister, see Register Multimodal MRI Images.