Notes on Optimized Spectral Unmixing Software

Notes on Optimized Spectral Unmixing Software

Edward Leaver
Icarus Resources LLC

June 15, 2009

This section highlights some development features of a linear/nonlinear endmember unmixing program for hyperspectral airborne images such as collected by AVIRIS and SpecTIR HST airborne, and ASTER satellite.

I call this Parallel Optimized Cross-Correlation Spectral Matching, POCCM. It’s purpose is to investigate various optimization methods for hyperspectral image endmember unmixing. The program is thus far standalone, and requires pre-orthorectfication and atmospheric correction of the input image.

The code is mostly C++ that links GDAL image IO and various Netlib Fortran library routines. I looked briefly into IDL, a very concise language for writing vector algorithms, but didn’t have a license and at the time the GDL alternative was... rather limited. POCCM parallelization is implemented via Intel’s Threading Building Blocks. Endmembers may be selected from the USGS and JPL spectral libraries. I use the GRASS GIS for mapping and image overlays.

Some POCCM Details

POCCM (Parallel Optimized Cross-Correlation Spectral Matching) comprises a small collection of programs that implement a select class of Optimized Cross-Correlogram Spectral Matching (OCCM) algorithms inspired by David Coulter’s Ph.D. dissertation: Remote Sensing Analysis of Alteration Mineralogy Associated With Natural Acid Drainage in the Grizzly Peak Caldera, Sawatch Range, Colorado by David W. Coulter, Colorado School of Mines, 2006.

Apart from some of the non-linear unmixing algorithms, this is all basic functionality found in commercial remote-sensing packages such as Exelis’ ENVI. Writing it gave some feel for that part of spectral-matching data flow from the corrected orthorectified sensor image through to linear (or nonlinear, should the case arise) endmember matching. This includes convolving high-resolution laboratory spectra down to sensor-resolution for use with the matching algorithm. It does not include analysis such as Maximum Likelihood or Segmentation classifications, Principal Component Transformation, or Minimal Noise Fraction: these are provided both by ENVI and by the freely available GRASS GIS.

The following group of utility programs are used to (1) convolve high-resolution laboratory endmember spectra with sensor wavelengths and fwhm, to obtain lower sensor (Aviris1996, Aviris2002, HST) resolution endmember spectra suitable for matching to acquired sensor images, (2) run OCCM unmixing algorithms on a single pixel against a set of endmembers and compare the original Unknown pixel spectra with matched spectra, and (3) Convert OccmResult output image data files, which may contain more than three endmembers, to a three-or-fewer image file in an

ENVI image format suitable for display by GRASS:

Intended future work will investigate the correlation (if any) between Optimized Cross-Correlation Spectral Matching and the Constrained Energy Minimization (CEM) and Mixture Tuned Match Filtering (MTMF(tm)) techniques.