Fast mutual information of two images or signals

Optimized function for mutual information of two images or signals

You are now following this Submission

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 (2026). 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 .

Acknowledgements

Inspired: Image mutual information, image_MI.m

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
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.