Main Content

Hyperspectral Image Processing

Import, export, process, and visualize hyperspectral data

Image Processing Toolbox™ Hyperspectral Imaging Library provides MATLAB® functions and tools for hyperspectral image processing and visualization.

Use the functions in this library to read, write, and process hyperspectral data captured by using the hyperspectral imaging sensors in a variety of file formats. The library supports national imagery transmission format (NITF), environment for visualizing images (ENVI), tagged image file format (TIFF), and metadata text extension (MTL) file formats.

The library presents a set of algorithms for endmember extraction, abundance map estimation, dimensionality reduction, band selection, spectral matching, and anomaly detection.

The Hyperspectral Viewer app enables you to read hyperspectral data, visualize individual band images and their histograms, create a spectrum plot for a pixel or region in a hyperspectral data cube, generate color or false-color representations of hyperspectral images, and display metadata.

To perform hyperspectral image analysis, download the Image Processing Toolbox Hyperspectral Imaging Library from the Add-On Explorer. For more information on downloading add-ons, see Get and Manage Add-Ons.


Hyperspectral ViewerVisualize hyperspectral data


expand all

Read and Write

hypercubeRead hyperspectral data
enviwriteWrite hyperspectral data to ENVI file format
enviinfoRead metadata from ENVI header file

Band Selection and Band Removal

selectBandsSelect most informative bands
removeBandsRemove spectral bands from data cube

ROI Selection

assignDataAssign new data to hyperspectral data cube
cropDataCrop regions-of-interest

Color Transformation

colorizeEstimate color image of hyperspectral data

Radiometric Calibration

dn2radianceConvert digital number to radiance
dn2reflectanceConvert digital number to reflectance
radiance2ReflectanceConvert radiance to reflectance

Atmospheric Correction

empiricalLineEmpirical line calibration on hyperspectral data cube
flatFieldFlat field correction on hyperspectral data cube
iarrInternal average relative reflectance (IARR) correction on hyperspectral data cube
logResidualsLog residual correction on hyperspectral data cube
subtractDarkPixelSubtract dark pixels from hyperspectral data cube
sharcPerform atmospheric correction using SHARC

Spectral Correction

reduceSmileReduce spectral smile effect in hyperspectral data cube
hyperpcaPrincipal component analysis of hyperspectral data
hypermnfMaximum noise fraction transform of hyperspectral data
inverseProjectionReconstruct data cube from principal component bands
ppiExtract endmember signatures using pixel purity index
fippiExtract endmember signatures using fast iterative pixel purity index
nfindrExtract endmember signatures using N-FINDR
countEndmembersHFCFind number of endmembers
estimateAbundanceLSEstimate abundance maps
readEcostressSigRead data from ECOSTRESS spectral library
samMeasure spectral similarity using spectral angle mapper
sidMeasure spectral similarity using spectral information divergence
spectralMatchIdentify unknown regions or materials using spectral library
spectralIndicesCompute hyperspectral indices
ndviNormalized vegetation index
anomalyRXDetect anomalies using Reed-Xiaoli detector


Getting Started with Hyperspectral Image Processing

Basics of hyperspectral image processing.

Explore Hyperspectral Data in the Hyperspectral Viewer

This example shows how to explore hyperspectral data using the Hyperspectral Viewer app.

Hyperspectral Data Correction

Describes radiometric calibration and atmospheric correction.

Featured Examples