[2D Mutual Information Matching using Optimization toolbox]
This is an updated automatic image registration using mutual information for users of IP toolbox coded by Kateryna Artyushkova from The University of New Mexico.
The object function 'image_registr_MI.m' was originally coded by the person and modified by me.
I added a scale factor for complete image registration using Optimization toolbox. Therefore, the Optimization toolbox is required to run this program.
The zip file contains three files.
- opti_MI_scaling.m % Main code
- image_registr_MI.m % Object function
- image.mat % Image matrics
In 'image.mat', IM1 and IM2 were included only for example purpose.
- IM1: 230 X 230 MRI 8-bit image
- IM2: 512 X 512 CT 8-bit image
To run this code, enter the commands as follows:
>> x0=[50; 50; -15; 0.5];
>> [x, fval]=fminsearch(@image_registr_MI,x0)
Run 'opti_MI_scaling' without any options to see an example.
Your selection of initial point, x0, is critical for this matching.
-x0(1): First index of row for cropping the rotated IM2 with x0(3) angle
-x0(2): First index of column for cropping the rotated IM2 with x0(3) angle
-x0(4): Scale factor
Select them as close to the final matching points as possible; otherwise the matching will fail.
The 'fminsearch' function in the Optimization Toolbox is used. The objection function for this optimization technique is 'image_registr_MI.m'
The pixel size of IM1 is bigger than IM2 and the image size of IM1 is smaller than that of IM2. Every image should be 8-bit gray scale image. If not, you must change it.
Hosang Jin (2023). Image Registration (2D) using Mutual Information (Optimization toolbox needed) (https://www.mathworks.com/matlabcentral/fileexchange/6978-image-registration-2d-using-mutual-information-optimization-toolbox-needed), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!