QUAC is an atmospheric correction method for multispectral and hyperspectral imagery that works with the visible and near-infrared through shortwave infrared (VNIR-SWIR) wavelength range. See Background on QUAC for more information on its scientific application.

You can also write a script to run QUAC using the QUAC task. To compute gains and offsets for QUAC, use the CalculateQUACGainOffset task.

Before You Begin


  • The input data for QUAC can be in radiance, apparent reflectance, or raw/uncalibrated units.
  • The output from QUAC is apparent reflectance integer data, where pixel values range from 0 to 10,000 (representing 0 to 100% reflectance). To scale the pixels to floating-point values that range from 0 to 1.0, use the Band Math tool to divide pixel values by 10,000.
  • You should apply a mask to images with large borders or background regions prior to using the image in QUAC. See Calculate a Cloud Mask for Landsat for an example.
  • Input files must have at least three bands and valid wavelengths.
  • QUAC works best with scenes that contain diverse materials such as water, soil, vegetation, and man-made structures.
  • QUAC should not be used with scenes over oceans or large water bodies. FLAASH is a better choice for these scenes.
  • QUAC performs best when the imagery is uniformly illuminated, such as clear-sky conditions or when airborne sensors fly under complete cloud cover. If the imagery contains clouds and cloud shadows, you can mask out the clouds and shadows. Or, split the imagery into separate solar-illuminated and shadowed regions, then apply the QUAC process to each image before optionally mosaicking them back together.

Using QUAC


  1. From the Toolbox, select Radiometric Correction > Atmospheric Correction Module > QUick Atmospheric Correction (QUAC). The QUick Atmospheric Correction Input File dialog appears.
  2. Select an input raster, perform optional spatial and spectral subsetting and/or masking, then click OK.
  3. ENVI determines the best sensor match according to the input raster, and it populates the Sensor Type selection accordingly. If it cannot determine the appropriate sensor, it defaults to Generic/Unknown Sensor. Other choices are described as follows:
    • Select the Highly Vegetated Scenes option if the image is highly vegetated.
    • Select the Near Infrared (NIR) option if the input raster has more than 70 bands and the wavelengths span the near-infrared region.
    • Select the Near-Shortwave Infrared (NIR-SWIR) option if the input raster has more than five bands and the wavelengths span the near-shortwave infrared region.
  4. To write the output to disk, select the File radio button and specify a filename and location. To produce output in memory only, select the Virtual radio button.

  5. 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.
  6. 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.
  7. 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.

  8. 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.

  9. Click OK. QUAC creates a surface reflectance image, scaled into two-byte unsigned integers using a reflectance scale factor of 10,000.

If the mean spectra of endmembers extracted from the image has a very low response in a certain band, that band is set as a "bad band." Those bands are generally in the 1400 to 1900 nm range. Strong atmospheric attenuation from water vapor can occur in this range. Since it is not possible to correct these regions, the result may have bad bands.