Atmospheric Correction
ENVI offers several atmospheric correction tools. See the following sections:
- Dark Subtraction
- Empirical Line
- Emissivity and Temperature
- FLAASH®
- Flat Field
- IAR
- Log Residuals
- QUAC®
- Thermal Atmospheric Correction
Dark Subtraction
Use Dark Subtraction to remove the effects of atmospheric scattering from an image by subtracting a pixel value that represents a background signature from each band. This value can be the band minimum, an average based upon a region of interest (ROI), or a value that you specify.
You can write a script to perform dark subtraction using the DarkSubtractionCorrection task.
- From the Toolbox, select Radiometric Correction > Dark Subtraction. The Dark Subtract Input File dialog appears.
- Select an input file and perform optional spatial and spectral subsetting, then click OK. The Dark Subtraction Values dialog appears.
- Select a Subtraction Method as described in the following sections.
- Click OK. The Dark Subtract Parameters dialog appears.
- Select output to File or Memory.
- Click OK.
Select Band Minimum Subtraction
To automatically use the minimum DN value of each spectral band for the dark subtraction:
- In the Dark Subtraction Values dialog, select the Band Minimum radio button.
- Click OK.
Select Region of Interest Subtraction
To use the average of an ROI in each spectral band as the value for dark subtraction:
- Define the ROIs.
- In the Dark Subtraction Values dialog, select the Region of Interest radio button.
- From the list of available regions, select an ROI.
- Click OK.
Select User Value Subtraction
To enter a user-defined value to subtract from each band:
- In the Dark Subtraction Values dialog, select the User Value radio button. A list of the bands and a default value of 0.0000 appear under the Current Subtraction Values label.
- Select one of the band names.
- In the Edit Selected Item field, enter the subtraction value. Press Enter.
- Edit the other band values as desired.
- Click OK.
Empirical Line Correction
Use Empirical Line Compute Factors to force spectral data to match selected field reflectance spectra. A linear regression is used for each band to equate DN and reflectance. This is equivalent to removing the solar irradiance and the atmospheric path radiance. The following equation shows how the empirical line gain and offset values are calculated.
Reflectance (field spectrum) = gain * radiance (input data) + offset
ENVI’s empirical line method requires at least one field, laboratory, or other reference spectrum; these can come from spectral profiles or plots, spectral libraries, ROIs, statistics or from ASCII files. Input spectra will automatically be resampled to match the selected data wavelengths. If more than one spectrum is used, then the regression for each band will be calculated by fitting the regression line through all of the spectra. If only one spectrum is used, then the regression line will be assumed to pass through the origin (zero reflectance equals zero DN). You can also perform a correction on a dataset using existing factors.
Compute Factors and Correct Data
Typically, you should choose a dark and a bright region in the image for use in the empirical line correction (providing that reference spectra are available for these regions). This provides a more accurate linear regression. Using as many paired data/field spectra as you can will also improve the correction. At least one spectral pair is necessary.
To use spectra from ROIs, define the ROIs before running this function.
- From the Toolbox, select Radiometric Correction > Empirical Line Compute Factors and Correct. The Empirical Line Input File dialog appears.
- Select an input file and perform optional spatial and spectral subsetting, then click OK. The Empirical Line Spectra dialog appears.
- Collect image spectra and reference spectra, and pair spectra using the procedures described in the following sections.
Collect Data (Image) Spectra
Use the Data Spectra Collection dialog to collect the image spectra (non-corrected spectra), which can come from a plot or profile, a spectral library, ROI, or ASCII spectrum. Use the Import menu and other interactive options to import and collect spectra.
- In the Empirical Line Spectra dialog, click Data Spectra: Import Spectra.
- Collect spectra using the Import menu.
- After the data spectra are selected, click Apply. The spectra names are entered into the Empirical Line Spectra dialog.
Collect Field Spectra
After importing Data (image) spectra into the Empirical Line Spectra dialog, import the corresponding Field (reference) spectra.
- In the Empirical Line Spectra dialog, click Field Spectra Import Spectra.
- Collect spectra using the Import menu.
- Click Apply to enter the spectra names.
Pair Spectra
After importing Data and Field (reference) spectra into the Empirical Line Spectra dialog, use the following procedure to pair the Data and Field (reference) spectra for use in the regression.
- In the Empirical Line Spectra dialog, select the data spectrum name at the top list.
- In the bottom list, select the corresponding field spectrum name.
- Click Enter Pair to associate the two spectra. The paired spectra are listed in the Selected Pairs field.
- Repeat the selection process for as many data and field spectra pairs as desired.
- Click OK. The Empirical Line Calibration Parameters dialog appears.
Complete the Correction
- After collecting and pairing spectra, select output to File or Memory in the Empirical Line Calibration Parameters dialog.
- Click OK. When processing is complete, the correction factors are plotted and the output image is added to the Layer Manager.
To save the correction coefficients in an ASCII file, enter a second filename in the Output Correction Filename field.
The default extension for correction coefficients files is .cff
.
Correct Using Existing Factors
Use Empirical Line Correct Using Existing Factors to run Empirical Line Correction using output correction factors that were saved during another session.
- From the Toolbox, select Radiometric Correction > Empirical Line Correct Using Existing Factors.
- Select an input file and perform optional spatial and spectral subsetting, then click OK. The Enter Calibration Factors Filename dialog appears.
- Choose a factors file (
.cff
) created during a previous Empirical Line Correction session. - Click OK. The Empirical Line Calibration Parameters dialog appears.
- Select output to File or Memory.
- Click OK.
Emissivity and Temperature
The radiation emitted from a surface in the thermal infrared wavelengths is a function of both the surface temperature and emissivity. The emissivity relates to the composition of the surface and is often used for surface constituent mapping.
ENVI uses three techniques to separate the emissivity and temperature information in radiance data measured with thermal infrared sensors.
-
Emissivity From Alpha Residuals assumes a fixed emissivity value and produces emissivity output.
-
Emissivity From Normalization assumes all pixels in a single band image have a fixed emissivity value and produces emissivity and temperature outputs.
-
Emissivity From Reference Channel assumes a fixed emissivity value and produces emissivity and temperature outputs.
Both the Emissivity from Normalization and Emissivity from Reference Channel techniques assume a fixed emissivity value and produce emissivity and temperature outputs. The Emissivity from Alpha Residuals technique does not provide temperature information
Hook, S. J., A. R. Gabell, A. A. Green, and P. S. Kealy, 1992. A comparison of techniques for extracting emissivity information from thermal infrared data for geologic studies. Remote Sensing of Environment, Vol. 42, pp. 123-135.
Kealy, P. S. and S. J. Hook, 1993., Separating temperature and emissivity in thermal infrared multispectral scanner data: Implications for recovering land surface temperatures. IEEE Transactions on Geoscience and Remote Sensing, Vol. 31, No. 6, pp.1155-1164.
Emissivity From Alpha Residuals
Use Emissivity From Alpha Residuals to produce alpha residual spectra that approximate the shape of emissivity spectra from thermal infrared radiance data. ENVI uses Wien’s approximation of the Planck function so it can linearize the equation with logarithms. ENVI separates the temperature and emissivity terms, and uses means to subtract the temperature term out.
The alpha residual spectra are a function of emissivity only and have a similar shape as emissivity spectra but have a zero mean. Therefore emissivity spectra must be scaled for direct comparison to alpha residual spectra. You can calculate emissivity spectra from alpha residual spectra using empirical data as described in Kealy (1993).
You can also write a script to calculate emissivity values using the EmissivityFromAlphaResiduals task.
-
From the Toolbox, select Radiometric Correction > Emissivity From Alpha Residuals. The Emissivity From Alpha Residuals dialog appears.
- Select an input raster and perform optional spatial and spectral subsetting, then click OK.
-
From the Data Scale Factor drop-down list, select the value needed to scale your data to units of W/m2/μm/sr. The options are:
-
1.0 (default)
-
0.001
The image output from this atmospheric correction uses the same units as the input image. For example, if the results of the correction are used to calculate emissivity and temperature, then the same scale factor must be specified.
-
- Enter a filename and location for the Output Raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
-
Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
- Click OK. ENVI adds the resulting output to the Data Manager and, if the Display Result check box was enabled, adds the layer to the Layer Manager and displays the output in the view.
Emissivity From Normalization
Use Emissivity From Normalization to calculate emissivity and temperature values from thermal infrared radiance data. The emissivity from normalization technique calculates the temperature for every pixel and band in the data using a fixed emissivity value. The highest temperature for each pixel is used to calculate the emissivity values using the Planck function. You can enter the desired fixed emissivity value. See References.
You can also write a script to calculate emissivity and temperature values using the EmissivityFromNormalization task.
-
From the Toolbox, select Radiometric Correction > Emissivity From Normalization. The Emissivity From Normalization dialog appears.
- Select an input raster and perform optional spatial and spectral subsetting, then click OK.
-
From the Data Scale Factor drop-down list, select the value needed to scale your data to units of W/m2/μm/sr. The options are:
-
1.0 (default)
-
0.001
The image output from this atmospheric correction uses the same units as the input image. For example, if the results of the correction are used to calculate emissivity and temperature, then the same scale factor must be specified.
-
- In the Emissivity Value field, enter a fixed emissivity value between 0.0 and 1.0 to use to calculate the temperatures. The default is .95.
- Enter a filename and location for the Output Temperature Raster.
- Enter a filename and location for the Output Raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
-
Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
- Click OK. ENVI adds the resulting output to the Data Manager and, if the Display Result check box was enabled, adds the layer to the Layer Manager and displays the output in the view.
Emissivity From Reference Channel
Use Emissivity From Reference Channel to calculate emissivity and temperature values from thermal infrared radiance data. The reference channel emissivity technique assumes that all the pixels in the one channel (band) thermal infrared data have a constant emissivity. Using this constant emissivity, a temperature image is calculated and those temperatures are used to calculate the emissivity values. Provide a single band thermal infrared data that is assumed to have a constant emissivity value. See the previous references for more information.
You can also write a script to calculate emissivity and temperature values using the EmissivityFromReferenceChannel task.
-
From the Toolbox, select Radiometric Correction > Emissivity From Reference Channel. The Emissivity From Reference Channel dialog appears.
- Select an input raster and click the Spectral Subset button to select which band to use. Perform optional spatial subsetting, then click OK.
-
From the Data Scale Factor drop-down list, select the value needed to scale your data to units of W/m2/μm/sr. The options are:
-
1.0 (default)
-
0.001
The image output from this atmospheric correction uses the same units as the input image. For example, if the results of the correction are used to calculate emissivity and temperature, then the same scale factor must be specified.
-
- In the Emissivity Value field, enter a fixed emissivity value between 0.0 and 1.0 to use to calculate the temperatures. The default is .95.
- Enter a filename and location for the Output Temperature Raster.
- Enter a filename and location for the Output Raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
-
Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
- Click OK. ENVI adds the resulting output to the Data Manager and, if the Display Result check box was enabled, adds the layer to the Layer Manager and displays the output in the view.
FLAASH®
Fast Line-of-sight Atmospheric Analysis of Spectral Hypercubes (FLAASH) is an atmospheric correction method in ENVI for retrieving spectral reflectance from hyperspectral radiance images. FLAASH incorporates the MODTRAN radiation transfer model to compensate for atmospheric effects.
FLAASH is part of the Atmospheric Correction Module: QUAC and FLAASH and is available for purchase from NV5 Geospatial Solutions or your ENVI distributor. Contact your sales representative or NV5 Geospatial Solutions for more information.
Flat Field Correction
Use Flat Field Correction to normalize images to an area of known "flat" reflectance. This is particularly effective for reducing hyperspectral data to relative reflectance. The average spectrum from a region of interest (ROI) can be used as the reference spectrum, which is then divided into the spectrum for each pixel of the image.
You can write a script to perform dark subtraction using the FlatFieldCorrection task.
- Define an ROI over a spectrally flat area.
- From the Toolbox, select Radiometric Correction > Flat Field Correction. The Flat Field Correction dialog appears.
- Select an input raster and perform optional spatial and spectral subsetting and masking, then click OK.
- Select an Input ROI that covers a spectrally homogenous area.
- Specify a filename and location for the output raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
- Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow and select Save Parameter Values, then specify the location and filename to save to. Note that some parameter types, such as rasters, vectors, and ROIs, will not be saved with the file. To apply the saved task settings, click the down arrow and select Restore Parameter Values, then select the file where you previously stored your settings.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
-
To see a model-based version of this tool that shows how the tool is constructed from individual tasks, click Open in Modeler.
- Click OK.
IAR Reflectance Correction
Use IAR Reflectance Correction (Internal Average Relative Reflectance) to normalize images to a scene-average spectrum. This is particularly effective for reducing hyperspectral data to relative reflectance in an area where no ground measurements exist and little is known about the scene. It works best for arid areas with no vegetation. An average spectrum is calculated from the entire scene and is used as the reference spectrum, which is then divided into the spectrum for each pixel of the image.
You can also write a script to perform dark subtraction using the IARReflectanceCorrection task.
- From the Toolbox, select Radiometric Correction > IAR Reflectance Correction. The IAR Reflectance Correction dialog appears.
- Select an input raster and perform optional spatial and spectral subsetting and masking, then click OK.
- Specify a filename and location for the output raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
- Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow and select Save Parameter Values, then specify the location and filename to save to. Note that some parameter types, such as rasters, vectors, and ROIs, will not be saved with the file. To apply the saved task settings, click the down arrow and select Restore Parameter Values, then select the file where you previously stored your settings.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
- Click OK.
Log Residuals Correction
The Log Residuals Correction tool is designed to remove solar irradiance, atmospheric transmittance, instrument gain, topographic effects, and albedo effects from radiance data. This transform creates a pseudo reflectance image that is useful for analyzing mineral-related absorption features. Log residuals correction is similar to IARR in that both tools use only in-scene statistics to produce a result.
You can also write a script to perform log residuals correction using the LogResidualsCorrection task.
The logarithmic residuals of a dataset are defined as the input spectrum divided by the spectral geometric mean, then divided by the spatial geometric mean. The geometric mean is used because the transmittance and other effects are considered multiplicative; it is calculated using logarithms of the data values. The spectral mean is the mean of all bands for each pixel and removes topographic effects. The spatial mean is the mean of all pixels for each band and accounts for the solar irradiance, atmospheric transmittance, and instrument gain.
- From the Toolbox, select Radiometric Correction > Log Residuals Correction. The Log Residuals Calibration dialog appears.
- Select an input raster and perform optional spatial and spectral subsetting and masking, then click OK.
- Enter a filename and location for the Output Raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
-
Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
- Click OK. ENVI adds the resulting output to the Data Manager and, if the Display Result check box was enabled, adds the layer to the Layer Manager and displays the output in the view.
Reference
Green, A.A., M.D. Craig, “Analysis of aircraft spectrometer data, with logarithmic residuals”, Proceedings of the Airborne Imaging Spectrometer Data Analysis Workshop, April 8-10, 1985, G. Vane and A. Goetz editors, JPL, pp111-119.
QUick Atmospheric Correction®
QUick Atmospheric Correction (QUAC) is an automated atmospheric correction method in ENVI for retrieving spectral reflectance from multispectral and hyperspectral images.
QUAC is part of the Atmospheric Correction Module: QUAC and FLAASH and is available for purchase from NV5 Geospatial Solutions or your ENVI distributor. Contact your sales representative or NV5 Geospatial Solutions for more information.
Thermal Atmospheric Correction
Use Thermal Atmospheric Correction to approximate and remove the atmospheric contributions from thermal infrared radiance data. Thermal image data must be converted to radiance before performing the atmospheric correction. TIMS data should be converted to radiance using TIMS Radiance tool before performing the atmospheric correction. TIMS Radiance tools apply the correct band coefficients to convert to radiance in the appropriate units. No data scale factor is then required during the atmospheric correction. Perform the correction before converting your data to emissivity for the best results.
Note: ENVI does not check to make sure the images are thermal infrared data. Be sure that your data wavelengths measure between 8 and 14 μm before applying this correction.
You can also write a script to perform thermal atmospheric correction using the ThermalAtmosphericCorrection task.
The atmospheric correction algorithm used in ENVI is similar to the In-Scene Atmospheric Compensation algorithm, ISAC (see references at the end of this section). This algorithm assumes that the atmosphere is uniform over the data scene and that a near-blackbody surface exists within the scene. The location of the blackbody surface is not required for this correction. A single layer approximation of the atmosphere is used. No reflected downwelling radiance is also assumed.
The algorithm first determines the wavelength that most often exhibits the maximum brightness temperature. This wavelength is then used as the reference wavelength. Only spectra that have their brightest temperature at this wavelength are used to calculate the atmospheric compensation. At this point, for each wavelength, the reference blackbody radiance values are plotted against the measured radiances. A line is fitted to the highest points in these plotted data and the fit is weighted to assign more weight to regions with denser sampling. The compensation for this band is then applied as the slope and offset derived from the linear regression of these data with their computed blackbody radiances at the reference wavelength.
Upwelling atmospheric radiance and atmospheric transmission are approximated using the following method. First, the surface temperature of every pixel is estimated from the data and used to approximate the brightness temperature using the Planck function and assuming an emissivity of 1. Next, a line is fitted (using one of two methods) to a scatter plot of radiance vs. brightness temperature. The atmospheric upwelling and transmission are then derived from the slope and offset of this line.
-
From the Toolbox, select Radiometric Correction > Thermal Atmospheric Correction. The Thermal Atmospheric Correction dialog appears.
- Select an input raster and perform optional spatial and spectral subsetting, then click OK.
-
From the Data Scale Factor drop-down list, select the value needed to scale your data to units of W/m2/μm/sr. The options are:
-
1.0 (default)
-
0.001
The image output from this atmospheric correction uses the same units as the input image. For example, if the results of the correction are used to calculate emissivity and temperature, then the same scale factor must be specified.
-
-
From the Regression Pixels drop-down list, select one of the following to determine which pixels to use in the surface temperature estimation regression:
-
All Pixels: Estimates the surface temperature for each pixel by using the maximum value of the brightness temperatures found throughout the input wavelengths.
-
Maximum Hit: Estimates the surface temperature for only those pixels that have their maximum brightness temperatures at a particular wavelength. The wavelength used is the wavelength that has the largest number of pixels with a maximum brightness temperature value.
-
- From the Fitting Technique drop-down list, select the scatter plot fitting technique:
- Top of Bin: Fits a line to the top of the scatter plot of radiance vs. brightness temperature. The top of the scatter plot corresponds to those pixels whose emissivity is closest to 1. Top of Bin fit is achieved by doing a standard least squares regression on the top 5% of the data in the scatter plot. This technique is susceptible to sensor noise which may occur at the top of the scatter plot.
- Normalized Regression: First fits a line to the scatter plot of radiance vs. brightness temperature by doing a standard least squares regression. The residuals of this fit are then compared to a normal probability plot. Another regression is done on the residuals in the normal plot. Points that are 3 times the noise equivalent sensor response (NESR) away from the regression line are deemed outliers and are removed. A final regression is done on the scatter plot using this reduced set of pixels. This method uses all the points in the scatter plot that are not outliers and does not fit to only the top of the scatter plot where the emissivity values are closest to 1.
- If you chose Normalized Regression as the fitting technique, enter a value for the Noise Equivalent Spectral Radiance. The default value is 1.
- Enter a filename and location for the Output Raster.
- Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
-
Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.
-
To run the process in the background, click the down arrow and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.
- Click OK. ENVI adds the resulting output to the Data Manager and, if the Display Result check box was enabled, adds the layer to the Layer Manager and displays the output in the view.
References
Johnson, B. R. and S. J. Young, “In-Scene Atmospheric Compensation: Application to SEBASS Data Collected at the ARM Site,” Technical Report, Space and Environment Technology Center, The Aerospace Corporation, May 1998.
Hernandez-Baquero, E., “Characterization of the Earths Surface and Atmosphere from Multispectral and Hyperspectral Thermal Imagery,” Ph.D. Dissertation, Rochester Institute of Technology, Chester F. Carlsom Center for Imaging Science, Rochester, NY, 2000.