| Environments | PYTHON :: EASI :: MODELER |
| Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Example :: References :: Related |
| Back to top |
| Back to top |
| Name | Type | Caption | Length | Value range |
|---|---|---|---|---|
| FILI * | String | Input haze-free image | 1 - 192 | |
| DBIC | Integer | Database input channel list | 0 - | 1 - |
| SRCBGD | String | Source background value | 0 - 192 | Default: FILE |
| ASENSOR | String | Sensor name | 0 - 192 | |
| CFILE | String | Calibration file (*.cal) | 0 - 192 | |
| MASKFILI | String | Input haze and cloud masks | 0 - 192 | 1 - |
| TERFILE | String | Input terrain derivatives file | 0 - 192 | |
| ILLUFILE | String | Input illumination and cast shadow file | 0 - 192 | |
| MEANELEV | Float | Average elevation value | 0 - 1 | |
| VISTYPE | String | Ground visibility | 0 - 192 | Default: constant, 30 |
| VISFILO | String | Output visibility map. | 0 - 192 | |
| ATMDEF | String | Atmospheric definition | 0 - 8 | Rural | Desert | Urban | Maritime Default: Rural |
| ATMCOND | String | Atmospheric conditions | 0 - 15 | |
| SATILAZ | Float | Sensor tilt and azimuth angle | 0 - 2 | 0.0 - 360 |
| SAZANGL | Float | Solar zenith and azimuth angles (deg) | 0 - 2 | |
| ADJACEN | String | Range for adjacency effect | 0 - 8 | OFF | ON Default: OFF |
| TOPONORM * | String | Topographic normalization method | 4 - 30 | Default: None |
| TERREFL | Integer | Number of terrain reflectance iterations | 0 - 1 | 0 - 100 Default: 0 |
| OUTUNITS | String | Output units | 0 - 28 | Default: 16bit_Reflectance |
| FILO * | String | Output atmospherically corrected image name. | 1 - 192 | |
| FTYPE | String | Output file type | 0 - 4 | Default: PIX |
| FOPTIONS | String | Output file options | 0 - 64 |
| Back to top |
FILI
Specifies the name of the input multispectral image from one of the supported sensors (see the ASENSOR parameter description).
The input image may be a raw image, an orthorectified image, or the output haze-free image from HAZEREM.
If the input file (FILI) contains a single channel, it is assumed to be the panchromatic file for the selected sensor.
DBIC
Optionally specifies the list of input channels to process. The specified channels must exist; by default, all channels from the input file are used.
If FILI does not contain metadata but has as many channels as sensor bands, this parameter may be left unspecified (empty). ATCOR will map the first channel to the first band, the second to the second band, and so on. To determine the expected number of bands for each sensor, verify the sensor files available in PCIHOME\atcor\cal\.
If FILI does not contain metadata and has more or fewer channels than bands for the selected sensor, DBIC must be specified. For instance, if the specified sensor is Landsat-7 and FILI contains all the reflective bands from Landsat (that is, six channels containing bands 1,2,3,4,5, and 7), DBIC should be specified as DBIC=1,2,3,4,5,6. If DBIC lists only 1 channel, it is assumed to be the panchromatic band.
If FILI contains the wavelength metadata information for each channel, this parameter may be left unspecified.
Ranges of channels or segments can be specified with negative values. For example, {1,-4,10} is internally expanded to {1,2,3,4,10}. When you are not specifying a range in this way, only 48 numbers can be specified explicitly.
SRCBGD
Specifies which pixels in the source image are to be considered as background (NoData) pixels. In general, if a pixel is considered NoData, the application handles the pixel in a special manner.
FILE [, <value>]: same as FILE, but defines the NoData value for every channel, when metadata does not exist.
For example, the default "FILE, 0" specifies that the function uses metadata. If the metadata is unavailable, pixels that have a value of 0 are considered NoData>.
ASENSOR
Optionally specifies the name of the sensor used to capture the input image.
See the Function Details section for a list of supported sensors.
If this parameter is not specified, the function checks for the PlatformName metadata tag at the file level.
If this parameter is not specified and the PlatformName metadata tag is not found, the function will error.
CFILE
Optionally specifies the path and name of the text file that contains, for each band, the calibration coefficients used to transform the values from the image to absolute radiance values. This information is typically provided with the data set as an offset and a gain for each channel.
c0 A [mW/cm2 sr micron], A[m2 sr micron/W]
1 0.00 1.299124
2 0.00 1.586023
3 1.529015 1.413787
4 0.00 8.179361
The atcor\cal\ folder in the CATALYST Professional installation directory contains sample calibration files for every sensor supported by ATCOR. Each row in a calibration file lists the calibration coefficients for each sensor band; the bands are listed in increasing band order.
Ensure that the offset (c0) and gain (c1) values correspond to the scene. These values must be provided in the expected units for the specific sensor (shown at the top right of the calibration file).
If this parameter is not specified, ATCOR will read the RadiometricTransOffset, RadiometricTransGain, and RadiometricTransUnits metadata tags for each channel in the input file. If the Calibration File (CFILE) parameter is not specified, or if the coefficients cannot be derived from the metadata, ATCOR will use the calibration files stored in the CATALYST Professional atcor\cal\ folder for the specified sensor.
For more information, see Preparing data for atmospheric correction.
MASKFILI
Optionally specifies the name of the input file that contains the Haze and Cloud mask produced by MASKING for the reference image. The specified file must match exactly the geocoding of the input image and the mask for cloud and haze. ATCOR assumes the first bitmap found to be the haze mask, and the second to be the Cloud mask.
TERFILE
Optionally specifies the name of the input file that contains the DEM, slope, aspect, and sky view produced by TERSETUP for the input image.
If the terrain file is not provided, the atmospheric correction will be applied assuming a constant elevation value (see the MEANELEV parameter).
ILLUFILE
Optionally specifies the name of the input illumination file that contains the illumination map and topographic cast shadow bitmap produced by ILLUMCAST for the input image.
If the illumination file is not provided, the information is computed on-the-fly when a Terrain Derivatives file (TERFILE) is provided.
MEANELEV
Optionally specifies, in meters, an approximated average elevation value used to apply a constant atmospheric correction.
If a Terrain Derivative file (TERFILE) is provided, this parameter may be left unspecified. If TERFILE is not provided, and this parameter is empty, an approximated elevation value is calculated from the system DEM file gmted2010. If both a Terrain Derivative file (TERFILE) and an Approximate Elevation value (MEANELEV) are specified, the MEANELEV value is ignored.
VISTYPE
Optionally specifies the ground visibility and atmosphere type required to describe the atmospheric conditions at the time of image acquisition.
An existing visibility file, previously computed from the input scene. For example, C:\Data\scene01_visibility.pix.
A keyword and, optionally, a visibility value.
where [<Ground_visibility_in_kilometers>] indicates the farthest distance (in km) from which a person could see a prominent object.
When the Constant options is used, the specified visibility value is used for every pixel in the scene and no visibility map is computed.
When the Varying visibility type is used, the specified visibility values is used as a starting point to compute the visibility for each pixel in the image.
A keyword and, optionally, the thresholds that define dark vegetation pixels used to compute the visibility map for the scene.
By default, a constant visibility of 30 km is used for the entire scene, which describes clear conditions. When a visibility file is not provided and the specified visibility type is VARYING, a visibility map is computed for the scene. This visibility map is used to more accurately specify the atmospheric conditions for different areas of the scene, at the time the image was acquired.
If a request is made to compute a visibility map (VISTYPE = "VARYING") and none of the combinations listed above can be found, ATCOR will error. These bands should be identified either through the metadata or by the VISIRCHN metadata tag in the image file.
If none of the combinations of bands listed above are available, the CONSTANT visibility type must be specified. The VARYING atmosphere requires a sufficient amount of reference pixels, determined based on the comparison of the Red and NIR (or SWIR) values. If, after several attempts, a sufficient amount of reference pixels cannot be found, ATCOR errors and the CONSTANT atmosphere type must be selected instead.
A pixel is considered 'reference' if its top-of-the-atmosphere reflectance value (or computed index) meets the ranges set by T1, T2, and T3. When T1, T2, and T3 are not specified, the default values of 0.5, 0.02, and 0.8 are used, respectively. These thresholds apply only to the VARYING visibility; if T1 or/and T2, or/and T3 are set for a CONSTANT visibility type, ATCOR will error.
VISFILO
Optionally specifies the path and file name of the computed visibility map under varying atmospheric conditions (VISTYPE = VARYING).
If this parameter is not specified, the visibility map is not saved.
The generated visibility map should be used to process the panchromatic and thermal bands under varying atmospheric conditions.
ATMDEF
Specifies the atmospheric definition to use during the correction process.
The range of conditions in the boundary layer of the atmosphere (up to 3 km) is represented by four different aerosol models (rural, urban, maritime or desert) for each of several meteorological ranges between 2 and 50 km, and as a function of humidity.
ATMCOND
Optionally determines the level of humidity used to estimate the water vapor column.
The water vapor content may be automatically computed if the sensor has spectral bands in water vapor regions (for example, 920-960 nm). If the scene does not contain spectral bands in water vapor regions (for example, Landsat TM, SPOT, IKONOS, GeoEye, etc.), the water vapor column may be inferred based on the season (summer, fall, winter).
Tropical applies to latitudes between 0 and ±15 degrees and subarctic to latitudes between 45-60 (or -45 to -60). By default, when a band in the water vapor region is not present, ATCOR will estimate the atmospheric condition based on the center of the scene and the acquisition date, available from the metadata. If the atmospheric condition cannot be estimated and this parameter is not defined, ATCOR will error.
For more information about how ATCOR defines the atmospheric condition, see the Details section.
SATILAZ
Optionally specifies the satellite tilt and azimuth angles. The satellite azimuth angle is required only when the tilt angle is greater than or equal to 3 degrees. If the sensor has a nadir view (looking perpendicular to the Earth), the tilt angle's value is 0 degrees (default for nadir view sensors).
SAZANGL
Optionally specifies, respectively, the solar zenith angle (0-90 degrees) and the solar azimuth angle (0-360 degrees) at the time of image acquisition. Both the solar zenith and solar azimuth angles are required when running ATCOR.
SAZANGL = [<zenith>, <azimuth>]
Solar zenith = 90 degrees - solar_elevation (in degrees)
If the solar zenith angle is outside of the range [20-70] degrees, ATCOR will error, because it cannot determine the atmospheric tables required for the correction.
If this parameter is not specified, ATCOR will try to retrieve the SolarZenith and Solar Azimuth values from the metadata tags in the input file. If none of the combinations listed above can be found in FILI and if this parameter is not specified, ATCOR will error.
ADJACEN
Optionally specifies whether a correction for the adjacency effect is required. This parameter is composed of a keyword and an optional filter size.
The adjacency is the radiation reflected from the neighborhood and scattered energy into the viewing direction. The effect is a result of atmospheric scattering, and depends on the reflectance contrast between a target pixel and its large-scale neighborhood, and decreases with wavelength. It reduces the apparent surface contrast by decreasing the top-of-the-atmosphere radiance over bright pixels and increasing the brightness of the dark pixels.
The adjacency effect causes a certain amount of blurring, known as crosstalk. This effect is often noticeable at the boundary of adjacent features; for example, roads passing through a forest may appear blurred. The adjacency effect is especially important for sensors of high spatial resolution, such as RapidEye, KazEOSat-2 and SPOT and is usually negligible for low spatial resolution sensors such as AVHRR and Landsat.
TOPONORM
Optionally specifies whether or not to perform topographic normalization when calculating ground reflectance. Default is None
The Topographic normalization correction is based on the illumination map and the solar zenith angle. When the atmospheric correction uses a constant elevation value (see MEANELEV / Approximate Elevation), this parameter is ignored, because the topographic effects are dismissed.
[<METHOD>][<FUNCTION>],[<THRSANG>],[<CORRFACT>]
If None or Lambertian are selected the remaining values in the parameter string are ignored.
TERREFL
Optionally specifies the number iterations used to apply adjacency effect corrections.
When the adjacency effects are omitted (ADJACEN=OFF), this parameter is ignored.
To omit the terrain iterations, specify 0 for this parameter, which will result in faster processing.
OUTUNITS
Optionally specifies the output units for the atmospherically corrected image.
FILO
Specifies the name of the output file to receive the atmospherically corrected scene.
The specified file must not already exist. The output file will contain as many channels as the input file (FILI) or the same number of channels specified in DBIC. The bit depth is determined by the OUTUNITS parameter.
FTYPE
Specifies the output file format type, represented by a three- or four-letter code. The format type must be a GDB-supported file type.
For example, this parameter could be set as follows: TOPONORM = "None" TOPONORM = "Lambertian" TOPONORM="Empirical,1,32.4532,75
For a complete list of GDB-recognized file types and their codes, see GDB file formats in the Technical Reference section of the CATALYST Professional Online Help.
FOPTIONS
Specifies the file creation options to be applied when creating the output file. These are specific to the file format; in each case, the default of no options is allowed. This parameter can be used to specify compression schemes, file format subtypes, and other information.
Different options are available for different file types (see the FTYPE parameter). The options are described in GDB file formats in the Technical Reference section of the CATALYST Professional Online Help.
| Back to top |
ATCOR is the core algorithm of the atmospheric correction package. It reduces the influence of the atmosphere (water vapor and aerosol type), solar illumination, sensor viewing geometry, and terrain illumination on the digital numbers composing optical imagery. This is especially useful when performing multi-temporal analysis and automated feature extraction.
The method applied in ATCOR was developed by Dr. Rudolf Richter from the DLR institute. This method is applicable to optical sensors with a small swath angle where the scanning angle effects on radiance and transmittance is negligible. The algorithm works with a database of atmospheric correction functions stored in lookup tables, for different altitude profiles of pressure, humidity, and aerosol type. The method computes the ground reflectance for each pixel, in each spectral band; this can then be used as input to derive vegetation indices, leaf area index, and energy balance or to compare reflectance values from certain features in the image against spectral libraries.
ATCOR receives as input a haze-free image, the cloud and cloud shadow, water, ice/snow and saturated pixel masks, and the terrain derivatives and illumination map for each scene to process to compute the visibility map and apply the atmospheric LUT to the scene, so that the atmospheric addition to the DN of each pixel can be removed. ATCOR allows users to prepare their data for analysis, such as GCP collection, segmentation, classification, or extraction of vegetation indices. ATCOR depends heavily on the quality of the visibility map and the accuracy of the atmospheric tables (based on MOTRAN1 code), as well as on the quality of the haze-free scene and terrain derivatives.
The input file (FILI) and MASKFILI (InputBitmap) file should have an overlap of 100%. ATCOR will error if the input Haze and Cloud mask file (MASKFILI) and illumincation file (ILLUFILE) do not fully overlap with FILI. If a terrain derivatives file (TERFILE) is provided, ATCOR uses the intersection with the image provided in FILI to define the output extents. If TERFILE and FILI overlap by less than 33 x 33 pixels, ATCOR will error.
The metadata and scene geometry is then used to populate all ATCOR required parameters. ATCOR verifies if the values provided trough the metadata (or trough the parameters) are within the expected range; if this is not the case, it errors.
The bands and sensor name will either be derived from metadata tags in the image file or from the VISIRCHN and ASENSOR metadata tags available in the output file generated by HAZEREM. If the output from HAZEREM does not contain these tags, ATCOR checks the metadata from FILI. If ATCOR still cannot determine the sensor and spectral range for each channel, it errors and prompts the user to provide the required metadata tags in the input cloud and haze mask file.
ATCOR uses the visibility raster (or value, when VISTYPE="Constant") to compute the atmospheric LUT. The computed visibility map is then used with the viewing geometry and DEM-derived products to retrieve the values from ATCOR's database for path radiance (LP), transmittance (T), irradiance (Es), global flux (EG), and a contribution from terrain reflectance in an iterative process to retrieve the at-ground surface reflectance value of each pixel.
The following table describes how the ATMCOND parameter is automatically defined by ATCOR:
|
Latitude |
Dec 22 to Jun 21 | Mar 22 to Jun 21 | Jun 22 to Sep 21 | Sep 22 to Dec 21 |
|---|---|---|---|---|
| 80 | ||||
| 70 | Mid. Lat. Winter | Mid. Lat. Winter | ||
| 60 | Mid. Lat. Winter | Mid. Lat. Winter | Subarctic Summer | Mid. Lat. Winter |
| 50 | Mid. Lat. Winter | Subarctic Summer | Subarctic Summer | Subarctic Summer |
| 40 | Subarctic Summer | Subarctic Summer | Mid. Lat. Summer | Mid. Lat. Summer |
| 30 | Mid. Lat. Summer | Mid. Lat. Summer | Tropical | Tropical |
| 20 | Tropical | Tropical | Tropical | Tropical |
| 10 | Tropical | Tropical | Tropical | Tropical |
| 0 | Tropical | Tropical | Tropical | Tropical |
| -10 | Tropical | Tropical | Tropical | Tropical |
| -20 | Tropical | Tropical | Mid. Lat. Summer | Tropical |
| -30 | Mid. Lat. Summer | Mid. Lat. Summer | Mid. Lat. Summer | Mid. Lat. Summer |
| -40 | Subarctic Summer | Subarctic Summer | Subarctic Summer | Subarctic Summer |
| -50 | Subarctic Summer | Subarctic Summer | Mid. Lat. Winter | Subarctic Summer |
| -60 | Mid. Lat. Winter | Mid. Lat. Winter | Mid. Lat. Winter | Mid. Lat. Winter |
| -70 | ||||
| -80 |
For those cells (latitude and time of the year) where the atmospheric condition is not defined, ATCOR errors. An error message is relayed, stating that the atmospheric condition cannot be defined, and prompting the user to specify the Atmospheric Condition (ATMCOND) parameter.
Supported sensors
| Back to top |
Atmospherically correct essen1000.pix Landsat-4/5 TM sensor with a previously haze-removed image.
HOTImg_essen100.pix was created by previously running HAZEREM.
EASI>fili = "essen100_hazefree.pix"
EASI>dbic =
EASI>srcbgd = ""
EASI>asensor = ""
EASI>cfile = "tm_standard.cal"
EASI>maskfili = "HOTImg_essen100.pix"
EASI>terfile = ""
EASI>illufile = ""
EASI>meanelev =
EASI>vistype = "constant,23.0"
EASI>visfilo = ""
EASI>atmdef = "Urban"
EASI>atmcond = "summer"
EASI>satilaz =
EASI>sazangl = 27.9,115.3
EASI>adjacen = ""
EASI>toponorm = ""
EASI>terrefl = 0
EASI>outunits = "16bit_Reflectance"
EASI>filo = "error100_corrected.pix"
EASI>ftype = ""
EASI>foptions= ""
EASI>run ATCOR
| Back to top |
Richter, R. (1998) Correction of Satellite Imagery over mountainous terrain. Applied Optics, 37 (18), 4004-4015.
Richter, R. (1996) Atmospheric Correction of Satellite Data with Haze Removal Including a Haze/Clear Transition Region. Computers & Geosciences, 22 (6), 675-681.
Zhang, Y., Guindon, B., Cihlar, J. (2002) An Image Transform to characterize and compensate for spatial variations in thin cloud contamination of Landsat Images. Remote Sensing of Environment, 82, 173-187.
Richter, R. (2010) Atmospheric / Topographic Correction for Satellite Imagery - ATCOR2/3 User Guide). DLR - German Aerospace Center, 1-165.
Richter, R., et al (2006) An automatic atmospheric correction algorithm for visibile/NIR imagery. International Journal of Remote Sensing, 27 (10), 2077-2085.
© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.