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

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

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.

12 correct solutions
15 incorrect solutions

Last solution submitted on Dec 24, 2014

2 Comments