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

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

Created by Richard Zapor

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

NASA AVIRIS

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.

Problem Group

Solution Statistics

10 correct solutions 14 incorrect solutions
Last solution submitted on Nov 26, 2014

Problem Comments