No License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Image Registration (2D) using Mutual Information (Optimization toolbox needed)

3.7 | 3 ratings Rate this file 32 Downloads (last 30 days) File Size: 182 KB File ID: #6978 Version: 1.0
image thumbnail

Image Registration (2D) using Mutual Information (Optimization toolbox needed)



23 Feb 2005 (Updated )

This is an updated automatic image registration using mutual information for users of IP toolbox.

| Watch this File

File Information

[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(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'

Data types
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.


Automatic Image Registration Using (Normalized) Mutual Information For Users Of Ip Toolbox inspired this file.

Required Products Image Processing Toolbox
Optimization Toolbox
MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (8)
22 Nov 2012 dinesh

dinesh (view profile)

How to convert IM1 and IM2 images into a single .mat file(here as image.mat)

02 Nov 2012 dinesh

dinesh (view profile)

It works fine and i thank for it .After running the code ,in command window it shows like below.

x =


fval =


Elapsed time is 15.828456 seconds.

what is that "x,fval,elapsed time"and that elapsed time changes for each time i run it . why it is so .... I am very new to this area please explain

Comment only
22 Jul 2011 CAU

CAU (view profile)

I appriciate this helpful profile for MI

29 May 2009 Anders

Anders (view profile)

There seems to be an error in your code, you normalize the histogram by the size of the histogram instead of the size of the image! Otherwise the total probability is != 1

[r,c] = size(h); % THIS SHOULD BE size(image_1) !
b= h./(r*c); % normalized joint histogram

Comment only
26 Jun 2008 xmzshljz ljz


Comment only
16 May 2008 Josep M Serrainat

It is very helfull for may tesis, thanks

Comment only
19 Mar 2008 andy lee

I may try at once,thank you very much

26 Feb 2008 manju deshmukh

It is good and helpful

Comment only

Contact us