X
6672

How do I get my data into the correct format for processing in FLAASH?

This Help article describes the data format necessary for input to FLAASH (Fast Line-of-Sight Atmospheric Analysis of Spectral Hypercubes)

ENVI's add-on atmospheric correction utility, FLAASH, is a first-principles atmospheric correction modeling tool for retrieving spectral reflectance from hyperspectral radiance images using the MODTRAN4 radiation transfer code. FLAASH works by comparing MODTRAN outputs to radiance data, presumed to be in specific scaled units. This is why it is necessary to prepare the image cubes to be in the units FLAASH is expecting.

Most spectral data cubes come from data providers as scaled integer (either signed or unsigned) radiance values that typically have been sensor corrected but not atmospherically corrected. However, the recorded radiance values for scenes containing vegetation, dirt, rock, or urban features (buildings) are typically floating point values ranging from 2 - 20 microW/(cm^2/sr/nm). Water will show lower values, as will a low sun angle. The scale factor is normally used to permit storing data in 2-byte integers (which requires less space than 4-byte floating point data) as well as providing an adequate dynamic range (100-32000). FLAASH uses the scale factor to get back to radiance in the particular physical units it expects, which is the microW/cm2/sr/nm range.

Sometimes, a data provider will supply data in a different data format or in different units than FLAASH needs. In these cases, it is necessary to prepare the data cube prior to applying FLAASH.

Calibrating data to radiance

ENVI provides built in calibration tools for converting Landsat, QuickBird, and ASTER data to radiance. It is necessary to convert the data cube to units of radiance that are expected for FLAASH. Please see the ENVI User's guide for the radiance units that are produced from these tools so that the correct scale factor can be applied when importing the data to FLAASH.

Note: The ASTER Radiance tool is no longer present in ENVI 4.2 because the ASTER 1B scale factors are automatically applied to the data when it is opened in ENVI.

Converting band interleave:

FLAASH requires that the band interleave of the file is either BIP (band interleaved by pixel) or BIL (band interleaved by line). If your image is stored as BSQ (band sequential), you can convert the file using Basic Tools -> Convert Data (BSQ, BIL, BIP).

Stacking data layers

Some data might be distributed in separate files, such as ASTER data. The VNIR and SWIR bands are stored separately because of the differences in pixel size. It would be useful to process the data as one file by stacking these data layers together using ENVI's Layer Stack utility. Select the higher resolution VNIR file as the base layer and add the SWIR file so that the resulting layer stacked file has the higher resolution pixel size. This tool can be found under Basic Tools ->Layer Stacking.

Applying sensor gain and bias (offset):

If your data have gain and bias (offset) values that need to be applied for sensor correction, try the Apply Gain and Offset utility under Basic Tools in the main ENVI menu.

Scaling the input data units:

FLAASH expects the units of the file to be processed to be in radiance units of microW/(cm^2/sr/nm). However, some data providers might provide data in other radiance units such as W/(m2/sr/micron). While FLAASH can process an image in these units, the results will be incorrectly scaled (i.e., the cube will appear 10 times more reflective than it should be). The proper units can be obtained by using the input scaling parameters in the FLAASH dialog. When inputting an image for processing in FLAASH, you are prompted to enter the scale factors that will be used to convert the data to floating point radiance.

Another scale to consider in FLAASH is the Output Scale Factor. This parameter is used to scale the output reflectance image from 4-byte floating point data into 2-byte integer data space. However, some users prefer to analyze their data in fractional reflectance. In these cases, it is necessary to be aware of the value of the output scale factor parameter.

Calculating fractional reflectance from FLAASH scaled reflectance:

Using Band Math (under Basic Tools in the main ENVI menu), type the expression:

float(b1)/10,000

where 10,000 is the specified output scale factor found in the FLAASH dialog under Advanced Settings -> Output Scale Factor. The above expression should yield reflectance values of 0-1.0.


Review on 12/31/2013 MM