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, radiometric and atmospheric correction, 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 different 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 (Since R2020a)


expand all

Read and Write

hypercubeRead hyperspectral data (Since R2020a)
enviwriteWrite hyperspectral data to ENVI file format (Since R2020a)
enviinfoRead metadata from ENVI header file (Since R2020a)

Band Selection and Band Removal

selectBandsSelect most informative bands (Since R2020a)
removeBandsRemove spectral bands from data cube (Since R2020a)

ROI Selection

assignDataAssign new data to hyperspectral data cube (Since R2020a)
cropDataCrop regions-of-interest (Since R2020a)

Color Transformation

colorizeEstimate color image of hyperspectral data (Since R2020a)
denoiseNGMeetDenoise hyperspectral images using non-local meets global approach (Since R2020b)
sharpencnmfSharpen hyperspectral data using coupled nonnegative matrix factorization (CNMF) method (Since R2020b)

Radiometric Calibration

dn2radianceConvert digital number to radiance (Since R2020b)
dn2reflectanceConvert digital number to reflectance (Since R2020b)
radiance2ReflectanceConvert radiance to reflectance (Since R2020b)

Atmospheric Correction

correctOOBCorrect out-of-band effect using sensor spectral response (Since R2020b)
empiricalLineEmpirical line calibration of hyperspectral data (Since R2020b)
fastInScenePerform fast in-scene atmospheric correction (Since R2020b)
flatFieldApply flat field correction to hyperspectral data cube (Since R2020b)
iarrApply internal average relative reflectance (IARR) correction to hyperspectral data cube (Since R2020b)
logResidualsApply log residual correction to hyperspectral data cube (Since R2020b)
rrsCompute remote sensing reflectance (Since R2020b)
subtractDarkPixelSubtract dark pixel value from hyperspectral data cube (Since R2020b)
sharcPerform atmospheric correction using satellite hypercube atmospheric rapid correction (SHARC) (Since R2020b)

Spectral Correction

smileMetricCompute spectral smile metrics of hyperspectral data (Since R2021a)
reduceSmileReduce spectral smile effect in hyperspectral data cube (Since R2020b)
hyperpcaPrincipal component analysis of hyperspectral data (Since R2020a)
hypermnfMaximum noise fraction transform of hyperspectral data (Since R2020a)
inverseProjectionReconstruct data cube from principal component bands (Since R2020a)
ppiExtract endmember signatures using pixel purity index (Since R2020a)
fippiExtract endmember signatures using fast iterative pixel purity index (Since R2020a)
nfindrExtract endmember signatures using N-FINDR (Since R2020a)
countEndmembersHFCFind number of endmembers (Since R2020a)
estimateAbundanceLSEstimate abundance maps (Since R2020a)
readEcostressSigRead data from ECOSTRESS spectral library (Since R2020a)
resampleSignatureResample spectral signature to required wavelengths (Since R2024a)
removeContinuumNormalize spectral signature (Since R2024a)
samMeasure spectral similarity using spectral angle mapper (Since R2020a)
sidMeasure spectral similarity using spectral information divergence (Since R2020a)
jmsamMeasure spectral similarity using Jeffries Matusita-Spectral Angle Mapper method (Since R2020b)
sidsamMeasure spectral similarity using spectral information divergence-spectral angle mapper hybrid method (Since R2020b)
ns3Measure normalized spectral similarity score (Since R2020b)
spectralMatchIdentify unknown regions or materials using spectral library (Since R2020a)
detectTargetDetect target in hyperspectral image (Since R2024a)
anomalyRXDetect anomalies using Reed-Xiaoli detector (Since R2020a)
spectralIndicesCompute hyperspectral indices (Since R2020b)
customSpectralIndexCompute hyperspectral index using custom formula (Since R2023a)
ndviNormalized difference vegetation index (Since R2020a)
hyperslic2-D superpixel oversegmentation of hyperspectral images (Since R2023b)
hyperseganchor Segment hyperspectral images using fast spectral clustering with anchor graphs (Since R2024a)


Get Started


Region Identification