Apparent Reflectance Raster Function

apparent reflectanceThe Apparent Reflectance raster function calibrates image brightness values (DN) for some satellite sensors. The main advantage of apparent reflectance function is to adjust the images to a theoretically common illumination condition, so there should be less variation between scenes from different dates and from different sensors. This can be useful for image classification, color balancing, and mosaicking.

The function performs two calibrations. The first calibration is to convert the DN value to the top of atmosphere (TOA) radiance based on the sensor properties (i.e. gain/bias or LMAX/LMIN). The second calibration is to convert the TOA radiance to apparent reflectance, based on sun elevation and acquisition date. The formulas used in the two conversions can be found in section 11.3.1 and 11.3.2 of the Landsat 7 Science Data User Handbook.

Apparent reflectance is a ratio and its native output range is 0-1. For display purposes, in this function, the ratio is multiplied by 255, and the output is therefore stretched from 0-1 to 0-255. When using default 8-bit unsigned integer output data type, the value is rounded down to integers.

Some scientific research (e.g. serving as input of atmospheric model to achieve surface reflectance) requires the original ratio. This can be achieved by 1) selecting apparent reflectance raster function output type to be 32 Bit float, and 2) adding an arithmetic raster function immediately after this function to divide the value by 255.

Before Apparent Reflectance

Before Apparent Reflectance

After Apparent Reflectance

After Apparent Reflectance

This function can only be used with specific imagery and may be automatically applied when adding data to a mosaic dataset using the appropriate raster type. The applicable sensors are Landsat, IKONOS, and QuickBird. If this function is applied to a dataset that is invalid it will slow the function chain but make no adjustments.

This function modifies the image values, so previous statistics and histograms are no longer valid. This function should be applied early in the function chain, after band extraction (reordering) and prior to any stretching or other radiometric function.

Written by: Hua Wei

This entry was posted in Imagery and tagged , , . Bookmark the permalink.

Leave a Reply

5 Comments

  1. uriel80 says:

    Thank you ??, ^_^

  2. cheetospuffs4 says:

    Hello, I am trying to use this function but I have no idea where to find this function and how to enter the pre-requisite meta data information? It is not included in any of the documentation. Please help!

    Thanks

    • Simon Woo says:

      The function can be added to a mosaic dataset item or a function rater, via the Function Editor Window. The metadata from several sensors will automatically populate the gains\bias and sun elevation. The sensors that currently read the metadata automatically are: Landsat(MSS & TM), Quickbird and Ikonos. In future releases we will try to support more sensors where we can read the metadata automatically.

  3. dcazar says:

    I am attempting to atmospherically correct a Quickbird image downloaded in NITF format. I would like to use the apparent reflectance function. The .imd information is buried inside an xml document that download with the ntf file, however the nft file has some header information store that ArcGIS is able to read.

    ArcGIS is able to calculate the Sun Elevation, which shows up automatically. I assume the Earth-Sun distance is also being used by the function behind the scenes. The problem is that gain and bias values are not in the imd file, even though the help says that they are. The imd file only provides an absolute calibration factor. Converting to radiance is easy enough but I need to process this quickly and don’t have time to repeat the programming steps of the Julian day to get accurate solar geometry.

    Can you please provide guidance on the relationship of the calibration factor to the gain and offset entries?

    • Simon Woo says:

      Here is a response from one of the developers that worked on the apparent reflectance function:

      The information in this post comes from the DigitalGlobe document “Radiometric Use of QuickBird Imagery”, Technical Note, prepared by Keith Krause, released 11/7/2005. This is the definitive document on the subject and the one we used during development.

      The function does two things: convert DN to radiance based on gain and bias, then convert radiance to reflectance using sun illumination.

      As noted, QuickBird metadata does not store gain and bias, but rather an absolute calibration factor for each band, referred to as “Kband” in the document. It is related to the gain by the effective band width for that band. Bias (or Offset) is applied during product generation is ignored for apparent reflectance.

      On page 8 of that document, the following equation is given (with terms rearranged):

      Radiance = DN * (Kband / bandwidth)

      Where DN is the image value
      Kband is the absolute calibration factor
      And bandwidth is the effective bandwidth in microns.

      The term (kBand/bandwidth) is the inverse gain used to convert the image values to radiance, since DN was previously defined as
      DN = Radiance * radiance_to_DN_Gain + Bias (and we are ignoring Bias)

      So, the gain we calculate for the apparent reflectance function (DN_to_radiance_gain) is the absolute calibration factor divided by the effective band width for each band. Does this answer the question?

      The absolution calibration factors for each band should be stored in the .imd file, but the effective band widths are not. However, they are constants that are listed on page 3 of the document and reprinted here:

      Band Effective Band Width
      Pan 0.398
      Blue 0.068
      Green 0.099
      Red 0.071
      Near Infrared 0.114

      The conversion from radiance to reflectance accounts for differences in illumination based on sun elevation and the solar irradiance constants for each band. As observed, ArcMap calculates the sun elevation and hard-codes the irradiance constants into the function.

      This table is listed in the document on page 4 and is reprinted here:

      Band Spectral Irradiance
      Pan 1381.79
      Blue 1924.59
      Green 1843.08
      Red 1574.77
      Near Infrared 1113.71

      All of this is handled by the QuickBird Builder when an image is loaded into a mosaic dataset. For a raster dataset the dn_to_radiance_gains can be calculated as above and set into the function arguments. The bias values can be set to 0.

      Note: Since QuickBird uses only one gain setting for multispectral bands, the largest improvement from Apparent Reflectance will be as a result of the sun elevation. As observed, the function handles the sun distance behind the scenes.

      Note: These calibration factors apply only to 11-bit imagery. For 8-bit imagery, the values must be scaled. Page 11 of the document addresses this issue.

      Hope this helps.