Problem 843. Hyperspectral Processing: Determine Material Components given a Hyperspectral vector

Given a hyperspectral data set and Reflectance Spectral Signature Library determine a pixel's component percentages.


A Ground Square is imaged by hundreds of pixels, each at a different wavelength. The signal on pixel 1(500nm to 505nm) is a sum of the components (Concrete/Tree/Grass...) by percentage of area covered times the material reflectance. Pixel 2 (510-515nm) is different by the Reflectance deltas between Concrete and a Tree.

Let S(i,j) be the response of Material i for band j

g( j )= %(Concrete)*S(1,j)+%(Tree)*S(2,j)+...%(Grass)*S(end,j);

A 300-Band 9-Material Spectral file is loaded. Comparison between foliage and rocks is quite significant. The materials are Bush, Calcite, Concrete, Conifer, Grass (not that type), Fir tree, Gypsum, Maple, Sage

g=S*f where f is the percentage of the imaged pixel covered by the material.

Input: g spectral sum [301,1]; S spectral material response [301,9] Nine materials

Output: Solve for f ....( eg f=[0 .5 0 .25 .25 0 0 0 0]' )

( f should sum to 1, max(f) is 1 and min(f) is 0 )

The test Suite will round to 2 decimal places. Cases of "other materials" which will induce negative values are not tested.

This is introductory and ignores atmospheric absorption.

There is a matrix operation hint in the test suite for a method to solve for f.

AVARIS Free Data These data files are large with 224 bands x 750 channels x 2000 samples

To expand these files may require a tar converter NASA readme ...and... NASA Tools bottom Left There are some possible issues with the NASA tar tool. Two non-standard files can be found at libiconv-2.dll and libintl-2.dll

See the Test Suite for details on opening the AVIRIS Moffett Field file.

Solution Stats

44.44% Correct | 55.56% Incorrect
Last solution submitted on Dec 24, 2014

Problem Comments

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!