Fast mutual information of two images or signals

Version 1.6 (2.26 KB) by Jose Delpiano
Optimized function for mutual information of two images or signals
16K Downloads
Updated 23 Feb 2015

View License

Usage: I=mi(A,B), where A and B are equally sized images/signals.
Function hist2 (included) is used to determine the joint histogram of the images/signals.

Assumptions: 1) 0*log(0)=0, 2) mutual information is obtained on the intersection between the supports of partial histograms.

Example (in mi_test.m):

disp('Test: Mutual information between two images')
load mri
A=D(:,:,8);
B=D(:,:,9);
mi(A,B)

disp('Test: Mutual information between two signals')
load garchdata
nasdaq = price2ret(NASDAQ);
nyse = price2ret(NYSE);
mi(nasdaq,nyse)

Cite As

Jose Delpiano (2024). Fast mutual information of two images or signals (https://www.mathworks.com/matlabcentral/fileexchange/13289-fast-mutual-information-of-two-images-or-signals), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: Image mutual information, image_MI.m

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.6

Available as toolbox

1.5.0.0

Speed improvements suggested in comments by Andrew Hill.

1.1.0.0

Added support for signals (1D matrices) and for non-double images.

1.0.0.0

Needed modification of input arguments. Example added.