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 including the Interactive Cloud Masking and Interactive Spectral Plot tools. More information about the ATCOR workflow is available from the Geomatica Help documentation (Contents Tab > 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 Focus from the Geomatica toolbar
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
- Click OK
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.
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, Thermal, and Quality. Choose MS (Multispectral).
Note: The _MTL.txt file must be used for inputting the imagery as this file contains all of the required metadata for further processing.
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.
4. Finally, specify the output folder location for your results under Output Files
Haze and Cloud Masking
1. Click on the Settings… button under the Cloud Masking section of the window
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 were kept for this tutorial.
8. Click Next
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 and Ground Reflectance
The final ATCOR window includes the visibility and ground reflectance options. This section includes the Spectral Plot Tool. This tool allows users to experiment with different atmospheric settings to determine how they affect the reflectance values in the data.
- Leave the Atmospheric Correction and Satellite Viewing Geometry options as their defaults for now.
- Visibility Map is the third section. By default, the ATCOR workflows uses 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.
- Once visibility has been determined you can click on the Spectral Plot…
With this tool, 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. 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 ATCOR folder (C:\PCI Geomatics\Geomatica 2018\atcor\spec_lib).
- The Spectral Reflectance Plot window opens and the multispectral image is loaded into the Focus window. The main purpose of this window is to determine how similar your atmospherically corrected values are to library spectra. In the Spectral Plotting window you will see a Target and Reference
- Click on the Reference
- Click Import spectra. The Open Reference Spectra window loads and the corresponding sensor spectral library are automatically populated.
- Shift and select all of the reference spectra available.
- Click Add To Plot
- Uncheck all of the classes so they are no longer visible in the plot window. We will come back to these later.
- Click on the Target tab
- Click New five times in order to add five new classes
- Click on the name of the class and modify it to your required new class name
- Click on the arrow besides the Color field and modify the color for each class
- Select the water class from the Target window
- In the Focus viewer you will notice a new layer has been added under the New Area Maps tab. Select this layer: New target layer.
- Select the arrow on the New Shapes icon on the Focus toolbar and select Point. When collecting data for each class it is required that you collect point data and try to collect information in a linear fashion.
- Select an area in the middle of a large water body and click to drop a point. Drop a number of points to collect more information. You will notice the graph shown in the Spectra Reflectance Plot changes based on the new information provided.
- You can change the order of your bands in order to better see certain classes. In this case I’ve modified my image to show band order R:5 G:6 G:2 which better shows healthy vegetation.
- Right click on the image in the Maps tab and select RGB Mapper. Modify the channels as required.
- Select the next class in the Spectra Reflectance Plot list: crop
- Select the new shapes point tool and collect points representing the crop class
- Repeat the steps above to collect samples for the remaining classes
- Once complete you will see all of the collected classes represented in the graph
- In the Target tab select the water class to view. Uncheck all other classes.
- Select the Reference tab
- Compare all of the water specific signatures to your data. You will notice that the water_average_lake_ol signature is the best match to the collected data.
The example below shows that the colored lines represent the library spectra. The black line represents the pixel that the curser is currently placed on in the Focus viewer and the dark blue line represents the collected data for our class.
- On the Target tab, right click on water and select Link to Reference > water_average_lake_ol
- You will notice the Selected Spectra goodness of fit for this link is 0.162. Ideally we would want a correlation coefficient closest to 1. If you notice that your correlation coefficient for water is not high, this is expected as water does not normally give off the best results due to its very low signal.
- We will now repeat the steps above for the crop class. From the Target tab uncheck the water class and select the crop class.
- From the Reference tab you will notice that the alfalfa_ol and the meadow_ol are the two signatures that match most closely.
- On the Target tab, right click on crop and select Link to Reference > meadow_ol
- The Selected Spectra goodness of fit for this link is 0.858.
- Continue to link the rest of the classes with the best matched reference signatures. For this image the best links are as follows:
Forest > spruce_ol
Soil > mixed_soil_vegetation_ol
Tar > asphalt_ol
To improve the goodness of fit value, we will adjust the ATCOR parameters. In the ATCOR section of the Spectral Reflectance Plot panel you can modify the Aerosol type, Atmospheric Conditions, Constant height and Visibility.
- We will select all of the classes that we want to keep in the analysis. Since the correlation coefficient was fairly poor for our tar class we will skip this class in our calculation. Ctrl and Select all of the classes except for tar. The selected classes will appear in blue.
- Under the ATCOR section of the window, update the following parameters.
This image is mostly Urban so change the Aerosol type to Urban. Notice the Selected Spectra goodness of fit value changes. You can adjust this information based on your specific imagery.
- Based on the images MetaData we can tell that the image was acquired in September. Change the Atmospheric condition to Fall/spring
- Increase or decrease the visibility for the image.
Experiment with the atmospheric information to see which information best matches your data. If these were set as constant values you can experiment with these values to determine how changing the values will affect the Spectral Reflectance Plot.
- Once you are satisfied with the variables from the Spectral Plotting window click Close. The values that you changed in this window will be modified and saved in the ATCOR window.
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.
An after product of the ATCOR images is the log file recorded to the files History. These log files tell you the parameters which were used during atmospheric correction and can be used for future image processing or as metadata.
- To view the parameters used in the ATCOR workflow, click on the Files tab
- Expand the ATCOR corrected image
- Right click on the image and select Properties
- The File Properties window opens. Click on History > Extended