Icarus Image VCA

## Icarus Image VCA

16 April 2014, last update 19 September 2016

Preface and Acknowledgement. Icarus Image and my own studies into hyperspectral image processing were inspired by David Coulter’s Remote Sensing Analysis of Alteration Mineralogy Associated with Natural Acid Drainage in the Grizzly Peak Caldera, Sawatch Range, Colorado, Colorado School of Mines doctoral dissertation, 2006. All aerial photography and imagery used herein were taken directly from Coulter’s dissertation, which represents a substantial effort on Coulter’s part organizing his acid-drainage study, conducting the ground mineralogical survey, and coordinating the remote-sensing overflights by the Jet Propulsion Laboratory’s AVIRIS aircraft and SpectIR Corporation’s HST instrument. My own desk-efforts in no way compare with David Coulter’s.

### Introducing Hyperspectral End Member Matching

Figure (1) is a ground photograph of the target of this exercise. Ruby Mountain (or Red Mountain) and its “East Red” companion lie in the southwest part of Colorado’s Grizzly Caldera, an extensive volcanic feature fifteen miles southeast of Aspen. Ruby Mountain and mine are readily found on Google Earth.1 Photo was taken from Enterprise Peak, on the Sawatch Range separating Grizzly Caldera from Taylor Park. Foreground drainage is the southern end of Lincoln Gulch. The distinctive orange color is characteristic of Hematite (a.k.a. “rust”), the primary natural oxidation state of iron. But there are contributions from Goethite and Jarosite as well, which form when iron weathers under more acidic conditions. Coulter sought to map, by remote sensing imagery, the geographic distribution of these three iron oxides in the target area, and thereby characterize naturally occuring acid seeps.

Figure (2) represents a simple example of supervised end-member classification. In this case the supervisor (David Coulter) painstakingly took “ground-truth” samples from select locations in the target area, and identified Hematite, Goethite, and Jarosite as the end-members of interest. Spectrally pure endmembers were determined by mineralogical estimation of the selected surface rocks, and their spectra measured and recorded for later matching against many (possibly millions) such pixels in the hyperspectral images. The target pixel’s spectrum is shown in red, the spectrum resulting from the best fits of the three end members by least-squares fitting and by the OCCM algorithm are shown in blue and green respectively, with vertical offsets added for clarity. The lowest-most curve illustrates the goodness-of-fit (Pearson’s $R=0.998$). The matching was done over two wavelength bands: 370-1100 nm, and 2000-2440 nm. The intervening 1100-2000 nm range is characterized by highly variable water absorbtion, and is frequently excluded from this sort of study. (Hence the figure’s flat plateau in this region.)

### Introducing Icarus Image VCA: Vertex Component Analysis and Refinement

In contrast, Icarus Image is part of an ongoing project to investigate algorithms for unsupervised hyperspectral endmember classification, that is, how to identify and map chemical endmember spectra in an image in absence of local ground-truth sampling. Icarus Image’s Qt-based graphical interface serves as a flexible test platform, enabling rapid changes in program option editing and display. At this point (January 2016) the GUI is completely standalone, with ability to export image and signature files to Ball Aerospace’ Opticks GIS.

The VCA (Vertex Component Analysis) and OCCM (Optimized Cross-Correlation Matching) functionality is implemented in a separate library, for which there is a separate command-line driver. This allows rapid and scripted execution of simple cases for test and development, and batch processing when desired. The Qt GUI introduces flexibility into the command line’s otherwise linear control flow. It also enables convenient display of the input and output images. Separating the VCA physics libraries from the GUI software is a development convenience.

Icarus Image screenshots are illustrated in Figures (3) through (9):

### Spectroscopy

2015 efforts included refining the refinement algorithm, noting some limitations, and contemplating future modifications to avoid them. Some cpu-intensive portions were moved to custom Cuda kernels. GPU speedup, while not spectacular, is good enough to suggest other, more robust and constrained vertex optimization approaches are well within grasp.

Spectral matching has progressed with introduction of Ball Aerospace’s Opticks GIS. Experience with the earlier OCCM supervised matching algorithms afforded some insight into what an automated matching program might entail; I was relieved to find a robust open-source GIS that will largely fill my needs.

Opticks is written with specific focus on multi- and hyper- spectral image analysis, with underlying image data structure and file formats tailored to that purpose. Its Spectral Plugin will likely be adequate as-is, after convolulution of JPL/USGS spectral libraries to the resolution of AVIRIS and Worldview sensors.

A few days effort yielded a port to my local Fedora development environment. Some early results:

(End)

1WGS84 / UTM Zone 13N at [362000E, 4320000N] meters.