PCI Geomatics Help Center

How can we help you today?

ATCOR - Ground Reflectance Workflow

PCI Geomatics -

PCI Geomatica’s Atmospheric Correction wizard provides users with the easiest and fastest way to perform a variety of atmospheric corrections. The wizard automatically populates most of the required parameters using the image metadata and guides the user through each major step. This tutorial outlines the atmospheric correction workflow which now includes two new features, added in Geomatica 2015.

These new features are: Interactive Cloud Masking and Interactive Spectral Plot. More information about the ATCOR workflow is available from the Geomatica Help (Contents > Geomatica Help > Focus > Atmospheric Correction).

In this tutorial atmospheric correction is being performed on Landsat-8 Imagery (LC80180302014247LGN00) which is available online from the Earth Explorer website: http://earthexplorer.usgs.gov/.


Initial Project Setup

1. Open the Geomatica 2015 Focus application


2.Turn Auto Re-enhance on:

  • In the menu bar, click on the Tools drop-down menu and select Options
  • In the Options panel, click on the Layers branch in the left pane
  • Click the checkbox next to Auto re-enhance grayscale and RGB layers


3. Open the ATCOR-Ground Reflectance window: select Analysis > Atmospheric Correction > ATCOR – Ground Reflectance


4. The Atmospheric Correction panel opens and contains 4 standalone workflows.

ATCOR Wizard General Design
The ATCOR wizard includes 4 completely standalone workflows that can be run completely independently of one another. The four (4) workflows are:

  1. TOA (Top of Atmosphere) Reflectance Calculates top of atmosphere reflectance for any supported sensor
  2. Haze RemovalPerforms Cloud masking and haze removal and outputs the result in DN values (Scaled at-sensor radiance)
  3. ATCOR – Ground Reflectance Calculates ground reflectance values for supported optical imagery and optionally performs haze removal and cloud masking. The output is in reflectance values (0-100%)
  4. ATCOR – Surface Temperature Calculates surface temperature for TIR bands from supported satellite sensors.

The ATCOR wizard is equipped with indicator symbols that indicate to a user that a given major step in the workflow is correctly setup and the user can proceed to the next step.

  • Red - Step is not correctly setup
  • Green - Step is correctly setup


5. Select the Sensor and image settings step in the ATCOR – Ground Reflectance workflow.


Sensor and Image Settings

1. Click browse beside the multispectral box and select the MTL file from the Landsat-8 dataset. A box will appear with the options PAN, MS and Thermal. Choose MS (Multispectral).


2. You can also choose to add a panchromatic band to the Panchromatic box using the same method as above but choosing PAN.


3. Once the MS and PAN bands have been chosen the sensor information will automatically be filled in.


Automatic Parameter Setup:

The ATCOR wizard will automatically read the metadata that is ingested when the image is imported into a PIX file. Where necessary, these values will be converted so that they can be used inside ATCOR. The following is a list of Sensor parameters that are automatically set:

  • Sensor Type 
  • Solar Zenith & Azimuth
  • Acquisition Date
  • Calibration Coefficients
  • Band-Channel Combination

Note: This is only a partial listing of the parameters that are automatically set using the image metadata.

Channel-Band setup & Calculation of Calibration Coefficients

  • In the Radiometric Information section, choose the calibration coefficients source:  Channel Metadata (used in this example), Import from Text File or Manual Entry. Click on Band Setup… button
  • The Band Setup panel opens with the following table.

Calibration coefficients (Gain/Offset) are automatically calculated and converted to ATCOR units. Each input band has been associated to their correct channel.

4. In the Output Files section, click on the Browse button and select your output file directory
5. Click OK
6. Click Next


Haze and Cloud Masking

The new cloud masking window has been added to this step of the ATCOR workflow.

1. At the top of the next page is the Cloud Masking section. Click on the Settings… button.


2. The Cloud Masking Settings widow will open.


3. In this window you can adjust the Seed TOA, Lowest TOA and Maximum Dilation values. As you change these values you can see the changes that are made to the cloud masks in the Preview window. Experiment with different values to achieve the amount of cloud masking that you prefer. As you change the values make sure to pan around the image using the Overview window. The following definitions from the help briefly outline each of the Threshold values.

  • Seed TOA value: The Seed TOA value represents the brightest pixels on clouds. If a cloud has at least one pixel above this value, it is included in the mask. If all pixels in a cloud are below this value, the cloud is excluded from the cloud mask. If urban or other bright features are being misclassified as clouds, try increasing this value. If the mask is missing most of the clouds, try decreasing this value.
  • Lowest TOA value: The Lowest TOA value represents the lowest value of all pixels in a cloud. If some portion of the cloud is being excluded from the mask, try decreasing this value. If clouds extend to urban features or other bright features, try increasing this value.
  • Maximum Dilation value: The Maximum dilation value represents the growing distance (in pixels) of each cloud. This distance does not consider the pixel values.

4. Once you have the correct Threshold values click OK. The values will have populated in the ATCOR GUI.

5. For the data in this tutorial the following values worked well: Seed: 10, Lowest: 17 and Dilation: 2. You will notice in the preview image that clouds are masked but haze and water are not.

6. In the next section of this ATCOR step you can specify the water masking options. You can choose to create a new water mask, import a mask from file or omit the mask. The following values were set for the water mask.

7. The final section in this step is to set the haze removal parameters. You can choose whether to perform haze removal or not. If you choose to perform haze removal you will need to enter the percentage of the image that is covered in haze and the maximum wavelength of the band on which to apply haze removal. The defaults of 50% and 0.85 micrometers we kept for this tutorial.

8. Click Next


Illumination Conditions

1. In the next window you can define the Elevation Information Setup by specifying a Constant Height value or by selecting a digital elevation model (DEM).


  • If you do not have a DEM file, you can accept the default Constant Height which is a value that represents a constant elevation for the area covered by the image. This value is automatically populated using the gmted2010.pix file and the image center.
  • Otherwise, select the DEM File option and click the down arrow beside the field to select a DEM file available in the current session, or click Browse to select a file. When you select a DEM file, the DEM File window automatically appears listing the information for the selected DEM. This is automatically populated using the file’s metadata. The selected file must be reprojectable. You may also click the DEM Settings button to access this window.


2. Click Next


Visibility Information
The new spectral plot tool has been added to this step of the workflow. This tool allows users to experiment with different atmospheric settings to determine how they affect the reflectance values in the data. Users add library signatures to the graph and compare the reflectance values of their image to the library spectra. The graph will adjust the image reflectance values based on the placement of the crosshair pointer on your image. With this tool you can compare analogous ground cover types in the image to their corresponding library spectra. For example, the user can compare a pixel of a pine tree in an image to the library signature for pine trees and test different atmospheric settings to get the closest match. This provides confidence to the user that the atmospheric settings accurately model the atmosphere at the time of the image capture.

In addition to imagery, a spectral library is also required for use with the spectral plot tool. Spectral libraries are available from the Geomatica 2014 atcor folder (C:\PCI Geomatics\Geomatica 2014\atcor\spec_lib).

1. On the final window of the ATCOR GUI there are five sections. You can leave the first two sections as their defaults for now.

2. Visibility Map is the third section. By default, the ATCOR workflows use a constant visibility of 30 km. You can set the constant visibility to a different value up to 180km. Alternatively, you may also calculate a visibility map for varying atmospheric conditions (if the red and NIR bands are provided).

Select Calculate (spatially varying conditions) and click Settings to calculate a visibility map for varying conditions. The program will compute a visibility map for the scene, using Dark Vegetation pixels. These are defined based on NDVI and top-of-the-atmosphere reflectance in the red band.
The final option is to choose an existing file that contains the visibility values. This specified file must be reprojectable to the image, and the image must be fully contained within the visibility map.

3. Once visibility has been determined you can click on the Spectral Plot button.


4. The new spectral plotting window will open. Make sure that the Window size around cursor is set to 1, the Spectra quantity to sample is set to ground reflectance and that the Use these parameters for entire image checkbox is checked.

5. With the Spectral Plotting window open you can move the cursor on your image in Focus. The graph will change depending upon the pixel that is covered by the cursor. Move the cursor around onto different land cover types to see the changes in the graph.

6. The main purpose of this window is to determine how similar your atmospherically corrected values are to library spectra. In the Spectral Plotting window choose From Spectra File.


7. Navigate to the spec_lib folder (C:\PCI Geomatics\Geomatica 2014\atcor\spec_lib) and choose Landsat8.spl.

8. You can then choose which land type spectra you want to add to the Spectral Plotting graph. In the example below Bright Soil has been added to the graph. The red line represents the bright soil library spectra and the black line represents a bright soil pixel from the image. The spectral signature from the image pixel is similar to the library spectral signature.


9. In the Spectral Plotting window there are many different options that can be modified. The variable below the spectra table is Adjacency Correction. If adjacency is set to 1 only the one pixel that the cursor is on is displayed on the graph. If adjacency is set to n, a window of n x n pixels around the cursor pixel is taken into account and the adjacency effects of these pixels are calculated. The graph will then display the calculated value of the window of pixels.


10. In the Actor section of the Spectral Plot panel you can change the Atmospheric Conditions, Aerosol type, visibility and height.


Visibility and ground reflectance step:
The atmospheric Information parameters are used to define the atmospheric model that is used to convert the at-sensor radiance values to surface reflectance values. Three pieces of information are required:

  1. Aerosol type (molecular and particulate makeup of atmosphere) This parameter must be defined by the user
  2. Condition (Water vapor content of atmosphere) This parameter is automatically estimated based on the scene’s latitude and acquisition date/time
  3. Visibility (aerosol optical depth (AOD))User can manually adjust this value until an optimum is found or select Calculate to auto-estimate the AOD from dark vegetation

The satellite viewing geometry is automatically calculated from sensor metadata for those sensors with tilt capabilities. The default output is the reflectance value in floating point precision from 0-100%. The user can optionally scale the values to fit into 8 or 16 bit channels.

  • This specific image was collected in September so the Atmospheric information is set to Fall/Spring. The majority of this image is rural area so the Aerosol type is Rural. You can adjust this information based on your specific imagery.
  • Experiment with the atmospheric information to see which information best matches your data.
  • The third and fourth options are Constant Height and Visibility. Both of these options were set previously. If these were set as constant values you can experiment with these values to determine how changing the values will affect the spectral plot.
  • Check the box Use these parameters for the entire image.


11. Once you are satisfied with the variables from the Spectral Plotting window click Close. The values that you changed in this window will be saved in the ATCOR GUI.



1. You can now run the atmospheric correction. At the bottom of the ATCOR window click Run.

2. If you have chosen the same options as specified in this tutorial, the following files will be created.

The atmospherically corrected image can now be used in further analysis. You will notice that the cloud mask is identical to the mask that you defined in the cloud masking tool. The masks can be used in future workflows to exclude these areas of the image from the analysis.

The illumination map helps to normalize affects caused by solar illumination. The map helps the algorithm determine how illuminated a pixel is regardless of the surface feature type. This is based off of the solar angle, relative to the slope and aspect angle of the pixel. For example, pixels oriented towards the sun are brighter, whereas pixels oriented away from the sun will be darker in the map.

Have more questions? Submit a request


Powered by Zendesk