File Exchange

image thumbnail

Hyperspectral Image Index Analysis

version (197 KB) by Aristidis Vaiopoulos
This program calculates 8 image indices: Bias,Correlation,DIV,Entropy,ERGAS,Q,RASE and RMSE.


Updated 28 May 2013

View License

Major Update Notification

Please visit the new, improved, GUI version of this program here:

Major Update Notification

This is a program which utilizes the included functions in order to calculate 8 image indices (Bias, Correlation coefficient, DIV, Entropy, ERGAS, Q, RASE and RMSE). The purpose of the program is to produce the results fast, easily and in a convenient way for the user (see Outputs). Initially, its purpose was to perform index analysis in hyperspectral and multispectral satellite imagery. It has been used and tested in fused hyperspectral products for quality assessment of the spectral fidelity. However, it is estimated that it can be used for image comparison of similar or processed images, of completely different origin. Every included function can be used separately.

*For citation please go to bottom of description.*

Program Structure:

0) User runs the program by typing 'imanalysis' in the command window.

1) User must provide the program with the number (nin) of the test images
(test) he desires to compare, with the original image (orig).
*** All images must have the exact same resolution ***
2) After image inputs, user is being asked for the h/l ERGAS ratio.
3) Then, the user has to input the filenames, first that of the original
image and afterwards, those of the (nin) test images declared in step 1.

Index analysis:
4) Program performs computation of all eight indices for every image and
for every band, by using seven independent functions. The average value
is calculated for every index. Total values are also computed for
Entropy, ERGAS and RASE indices.

5) Program outputs an Excel file, containing each index analysis results
in a homonymous spreadsheet. For ease, or later statistical operations,
a column has been added to the left, numbering the bands of the tested
imagery and a row above, containing the filename. User of course, can
examine and plot the index results from Matlab command window. By typing
before the index 'c' and after the index 's', the cell array containing
the certain index is shown. For example, to display ERGAS index, we must
type 'cergass'. See lines 326-333 in imanalysis, for every index (2nd arg in xlswrite).

-Oldest Matlab version tested: 7.0.1 (R14SP1). Bear in mind that you will
not be able to analyze hyperspectral images with this version.
-Oldest Matlab version known to have full functionality: 7.6 (R2008a).

*This program does NOT use sliding windows in index computations.*

Citation / Link to paper

This is the citation and link to the study/paper, where you can find an application of the present program in fused hyperspectral and multispectral satellite imagery.

If you are using this program for academic purposes, it would be very kind of you if you cite it properly:

A. D. Vaiopoulos, "Developing Matlab scripts for image analysis and quality assessment", Proc. SPIE 8181, 81810B (2011);

Link of the paper above:

Link to program download (current page):

Cite As

Aristidis Vaiopoulos (2020). Hyperspectral Image Index Analysis (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (13)

Daniel Luna

hi, Mr Vaiopoulos,
I'm Daniel from Colombia, Im a student from Bogota interested in the paper that explains better the usage of the script in the image analisys Ive been workin with the old version of the script and everything was perfect but i think that need more information about the script.All these for academic purposes.
thanks for all


Dear Johnnyy,

Thank you for your interest in this project.
Please check your mail. I have sent you the original paper related to this code and a more recent work based on the same indexes, but using local evaluation of the indexes (through sliding windows). Therefore, I strongly recommend you to use the newer, more meaningful and practical version of this software which can be found here:
A standalone version of the program is available here:


Hi, Mr Vaiopoulos.

I'm a student from Colombia interested in the work realized in this script. At the moment, i'm studying different techniques for processing digital images, so I want the paper with academic purposes.

My email is
Greetings from 4°N, -74°W (Bogotá).
Thank you so much.

Dear Lintao,

Thank you for your interest. :)
Please check your inbox.


Developing Matlab scripts for image analysis and quality assessment
I need this paper.
My university didn't buy the database.
Please help me.

Please send it to
Thank you so much.



Dear David

The program does require the image processing toolbox and this is specified in the Required Products section of the File Information.


Although not specified, this program requires the imaging processing toolbox

Thank you very much for your kind comment!

I 'm glad you found this program useful. It's likely that I will update the function and the main program, in order to make possible index calculations by sliding window operations as well. :-)

Thanks ! very good work ...


-Corrected the description.

Notified users for the new GUI version.

-Added citation and paper/study link.

-Updated the code of imanalysis.m in order to make file inputs easier. Also dealt with invalid inputs.

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

Inspired by: progressbar