ContinuumRemoval 1.1


Program by John Pierce, Jonathan Greenberg and George Scheer
Property of the CSTARS Lab at the University of California, Davis. Please ask for permission before distributing this script.


Introduction:

MATLAB function for performing continuum removal analyses on hyperspectral datasets using the trapezoidal method. This is calculated by taking the ratio of the area under the absorption curve and the area of the trapezoid formed by the two shoulders of the absorption feature. Here, the value is returned as a percentage (0 <= absorption value <= 100).

Note (3/15/02): If you may want to consider using 1 - continuum removal output to generate a postive slope when comparing the CR output to an amount of material to save yourself some effort explaining that the lower the ratio, the higher the absorption.


System Requirements:

This program needs quite a bit of memory, but you can modify this somewhat by lowering the "maxPixelRead" value.

With enough memory, this can be fairly speedy, but if it starts using virtual memory it can take awhile. Be patient. Go get some coffee and come back later.


Instructions:

1. Unzip the file with your favorite decompressor-- Unix users use "unzip [filename]", Macintosh users can use Stuffit Expander and Windows users have a myriad of decompressors (usually WinZip is the unzipper of choice).

2. Place the continuumRemoval.m file in your MATLAB:Toolbox:local folder.

3. You will need to first create a list of the wavelengths in BAND order of the sensor. A down-and-dirty way of doing this is to open the header of the image file and copy and paste the wavelengths into a separate text file. Each wavelength should be on a separate line. We used a text editor to search and replace all the commas with returns. Remember that it is important that you do NOT sort the wavelengths-- sensors like AVIRIS record data somewhat out of order, but we account for this in the program.

Note: we have included the text file for the full AVIRIS spectrum with this release, named "aviriswave.txt".

4. The command to initiate the function is "feval('continuumRemoval',inBipFile,inWaveFile,samples,lines,bands,header,minWave,maxWave,maxPixelRead,outBipFile)".


Change Log:

1.1: Added "maxpixelread" argument which reduces memory usage significantly.
1.0: Original release


Bugs:


Contact:

Jonathan Greenberg, greenberg@ucdavis.edu.


The software on this page has been created by CSTARS members, and may be freely downloaded by outside users. However, if you wish to distribute or use the source code of these applications, please ask permission from the author(s) first.