GENCLUT

Generate a spectral line curvature correction lookup table


EnvironmentsPYTHON :: EASI :: MODELER
Batch ModeYes
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Algorithm :: Acknowledgements :: References :: Related

Back to top

Description


GENCLUT generates a two-dimensional lookup table of center wavelength and FWHM shift values that correct for the effect of spectral line curvature in the input multiband radiance data set. The table dimensions correspond to image line (crosstrack) and band.
Back to top

Parameters


Name Type Length Value range
InputRLUT: Radiance LUT segment* LUT port 1 - 1  
Input: Input file name* Raster port 1 -    
InputDEM: Input DEM channel Raster port 0 - 1  
InputAOD: Input aerosol optical depth map Raster port 0 - 1  
InputSMR: Input surface meteorological range Raster port 0 - 1  
InputWVC: Input vertical water vapor column map Raster port 0 - 1  
Output: Output spectral line curvature correction LUT* LUT port 1 -    
Radiometric Transformation Level Integer 0 - 1 0 -
Nominal Vertical Water Vapor Column Float 0 - 1 0.0 -
Nominal Aerosol Optical Depth Float 0 - 1 0.0 -
Nominal Surface Meteorological Range Float 0 - 1 0.0 -
Nominal Elevation Float 0 - 1  
Spectrum Filter Type String 0 - 1 GAU | MED
Default: GAU
Filter Width Float 0 - 1 0.0 -
Default: 30.0
Filter Size Float 0 - 1 0.0 -
Default: 3.0
Atm. Feature Range Start* Float 3 - 16  
Atm. Feature Range End* Float 3 - 16  
Wavelength Shifts* Float 3 - 3  
Bandwidth Shifts* Float 3 - 3  
Fit Region Start Band Integer 0 - 16 0 -
Fit Region End Band Integer 0 - 16 0 -
Fit Region Interpolation Method String 0 - 1 Default: POLYNOMIAL
Wavelength Polynomial Fit Order Integer 0 - 16 0 - 10
Default: 2
Bandwidth Polynomial Fit Order Integer 0 - 16 0 - 10
Default: 2
Swath Polynomial Fit Order Integer 0 - 1 0 - 10
Default: 2

* Required parameter
Back to top

Parameter descriptions

InputRLUT: Radiance LUT segment

Specifies the input segment that contains the radiance lookup table.

Input: Input file name

Specifies the name of the input file containing the data set to be corrected.

InputDEM: Input DEM channel

Specifies the input channel containing a DEM map of the scene to be corrected.

If this parameter is not specified, a nominal elevation, specified by the Nominal Elevation parameter, is used over the entire scene.

Only one channel may be specified.

InputAOD: Input aerosol optical depth map

Specifies the input channel containing an aerosol optical depth map of the scene to be corrected.

If this parameter is not specified, the Nominal Aerosol Optical Depth is used over the entire scene.

Only one channel may be specified.

The Aerosol Optical Depth (DBAOD) parameter is used as an alternative to the Surface Meteorological Range (DBSMR) parameter; only one of these two parameters may be specified.

InputSMR: Input surface meteorological range

Specifies the input channel containing a surface meteorological range map of the scene to be corrected.

If this parameter is not specified, the Nominal Surface Meteorological Range is used over the entire scene.

Only one channel can be specified.

The Surface Meteorological Range (DBSMR) parameter is used as an alternative to the Aerosol Optiocal Depth (DBAOD) parameter; only one of these two parameters may be specified.

InputWVC: Input vertical water vapor column map

Specifies the input channel containing a vertical water vapor column map of the scene to be corrected.

If this parameter is not specified, the Nominal Vertical Water Vapor Column value is used over the entire scene.

Only one channel can be specified.

Output: Output spectral line curvature correction LUT

Specifies the channel in the output file to receive the output spectral line curvature correction lookup table.

Radiometric Transformation Level

Specifies the radiometric transformations already associated with the data set that are to be applied to the stored pixel values before they are involved in the smile correction computations. By default, the full sequence of transformations is applied.

This parameter has no effect if the data set metadata contains no radiometric transformation parameter values.

Nominal Vertical Water Vapor Column

Specifies a nominal vertical water vapor column value (in g/cm^2)to be used over the entire scene. If the RLUT was created by leaving the vertical water vapor column settings unspecified in GENTP5 and GENRLUT, this parameter should be left unspecified. If the input water vapor column channel (DBWVC) is specified, this parameter is ignored.

Nominal Aerosol Optical Depth

Specifies a nominal aerosol optical depth to be used over the entire scene. If either an input aerosol optical depth map (DBAOD) or an input surface meteorological range map (DBSMR) is specified, this parameter is ignored.

If the RLUT was created by leaving the surface meteorological range settings unspecified in GENTP5 and GENRLUT, this parameter should be left unspecified.

The Nominal Aerosol Optical Depth (NOMAOD) parameter is used as an alternative to the Nominal Surface Meteorological Range value (NOMSMR); only one of these two parameters can be specified.

Nominal Surface Meteorological Range

Specifies a nominal surface meteorological range value (in km) to be used over the entire scene. If either an input aerosol optical depth map (DBAOD) or an input surface meteorological range map (DBSMR) is specified, this parameter is ignored.

If the RLUT was created by leaving the surface meteorological range settings unspecified in GENTP5 and GENRLUT, this parameter should be left unspecified.

The Nominal Surface Meteorological Range value (NOMSMR) parameter is used as an alternative to the Nominal Aerosol Optical Depth (NOMAOD); only one of these two parameters can be specified.

Nominal Elevation

Specifies a nominal elevation value (in meters with respect to the WGS84 vertical datum) to be used for the entire scene.

Either a Nominal Elevation (NOMELEV) value or an Input DEM value (DBDEM) must be specified. If an Input DEM value (DBDEM) is specified, this parameter is ignored.

Spectrum Filter Type

Specifies the type of filter to use for filtering the band vectors.

Supported values are:

Filter Width

Specifies the filter width, in nanometers. The default is 30nm. For a Gaussian convolution filter, the width is the standard deviation of the Gaussian function.

Filter Size

Specifies the high pass filter size, in samples. The default is 3.

Atm. Feature Range Start

Specifies the start wavelength of each atmospheric feature to be used for smile correction, in nanometers.

At least three atmospheric features must be specified, to a maximum of 16. No overlapping of atmospheric features is allowed.

Atm. Feature Range End

Specifies the end wavelength of each atmospheric feature to be used for smile correction, in nanometers.

At least three atmospheric features must be specified, to a maximum of 16. No overlapping of atmospheric features is allowed.

Wavelength Shifts

Specifies the wavelength shifts to be applied to the target sensor.

Three values must be specified:

All shifts are considered to be in nanometers (nm). The start and end shifts will be adjusted to ensure that a shift of 0 nm belongs to the shift grid.

Bandwidth Shifts

Specifies the bandwidth shifts to be applied to the target sensor.

Three values must be specified:

All shifts are considered to be in percentage of the original band response profile bandwidths. The start and end shifts will be adjusted to ensure that a shift of 0% belongs to the shift grid.

Fit Region Start Band

Specifies the start band of each fit region.

A maximum 16 fit regions can be specified. No overlapping of fit regions is allowed. This value defaults to a single fit region encompassing all sensor bands.

Fit Region End Band

Specifies the end band of each fit region.

A maximum 16 fit regions can be specified. No overlapping of fit regions is allowed. This value defaults to a single fit region encompassing all sensor bands.

Fit Region Interpolation Method

Specifies the fit region interpolation method to be used.

Supported values are:

Wavelength Polynomial Fit Order

Specifies the wavelength polynomial fit order for each fit region.

If the fit region interpolation method (FRMETHOD) is set to PIECEWISE, this parameter is ignored.

The number of values specified for this parameter must match the number of fit regions specified. Polynomial orders of 0 to 10 are supported. If insufficient atmospheric features are selected for the fit regions, the polynomial order will be automatically reduced. If this parameter is not specified, it defaults to 2.

Bandwidth Polynomial Fit Order

Specifies the bandwidth polynomial fit order for each fit region.

If the fit region interpolation method (FRMETHOD) is set to PIECEWISE, this parameter is ignored.

The number of values specified for this parameter must match the number of fit regions specified. Polynomial orders of 0 to 10 are supported. If insufficient atmospheric features are selected for the fit regions, the polynomial order will be automatically reduced. If this parameter is not specified, it defaults to 2.

Swath Polynomial Fit Order

Specifies the swath polynomial fit order.

Polynomial orders of 0 to 10 are supported. If the data set crosstrack dimensions are insufficient for the selected fit order, the polynomial order will be automatically reduced. If this parameter is not specified, it defaults to 2.

Back to top

Details

Spectral line curvature (also called "spectral smile") is a feature of image data acquired with a pushbroom-type imaging spectrometer employing a two-dimensional detector array. This is a common design for imaging spectrometers. When an image that exhibits spectral line curvature is atmospherically corrected by a method that relies on accurate center-wavelength and FWHM data for the image bands, the along-band dimension of the result may exhibit noise (spiking) in the neighborhood of absorption bands.

If the amount of such noise is small enough, it may be removed effectively enough for practical purposes by smoothing (see SMSPEC). The amount of noise is often so large, however, that the degree of smoothing required to remove it will distort the data. It is often preferable to reduce spectral line curvature from the data before performing atmospheric correction, to reduce the amount of smoothing required afterwards.

Spectral line curvature occurs when the image of the spectrometer entrance slit within a particular waveband does not fall entirely on the detector array row that corresponds to that waveband. The slit-image may curve (or "smile") such that it intersects multiple detector array rows. In general, spectral line curvature will affect all wavebands of an image to a varying degree.

A correction for spectral line curvature consists of shifts to the nominal center-wavelength and FWHM values associated with the image data that are a function of image line coordinate (the image line dimension maps to the detector array row dimension) and band. GENCLUT generates a two-dimensional spectral line curvature lookup table (CLUT) that contains such correction shifts.

The generated CLUT may then be used by SLCCOR to adjust the data set response profiles before they are used to resample the radiance lookup table.

CLUT format

The spectral line curvature lookup table (CLUT) is a two-dimensional array.

A CLUT table entry is a pair of real values:
Each CLUT dimension is labeled according to the image dimension that it represents:

One or more samples are identified on each dimension. The crosstrack dimension contains a number of samples equal to the crosstrack image dimension for which smile detection was performed. The band dimension contains a number of samples equal to the number of hyperspectral bands present in the input image.

A CLUT is stored exclusively in a PCIDSK binary segment. One CLUT can be stored per segment. All CLUT attributes are saved as metadata for that binary segment.

The following metadata tags are recognized by the CLUT processing algorithms:

Upon saving the CLUT to disk, the CLUT entries are serialized into a system-independent byte stream and written to the binary segment.

Back to top

Algorithm

The method described here uses the atmospheric absorption features combined with selected Fraunhofer lines in the exo-atmospheric irradiance as spectral calibration references. The accuracy of the results is dependent upon the validity of the atmospheric absorption model.

Simply stated, the absorption features in the measured radiance are compared to those in a modeled, at-sensor radiance, calculated using MODTRAN. The difficulty is in knowing what to use as the target reflectance in the calculation of the modeled radiance. If one had a test area for which the reflectances were known for the whole area, these could be used; however, even if the scene were to contain a radiometric validation test site, it would have insufficient spatial extent for most sensors, especially for satellite-borne instruments. In most cases, the reflectance spectra are unknown, and one must calculate them using the sensor signal data. This is done by performing an atmospheric correction to extract the at-ground reflectances, using the sensor's nominal band-center wavelength and bandwidth values. Because these are generally incorrect, spikes occur in the neighborhood of the atmospheric features. These spikes are suppressed by spectral smoothing over the affected regions to provide approximate reflectance spectra for the scene. These reflectances are then input to the radiance modeling process to achieve the at-sensor modeled radiance spectra. To ensure that the measured spectra have the best possible signal-to-noise ratios, the scene pixels are averaged along-track over a large number of image lines to provide a single spectral-spatial radiance frame.

GENCLUT employs a lookup table (LUT) approach for performing the atmospheric correction. A "raw" LUT is created for the date, time, location, elevation, and appropriate atmospheric conditions, using GENTP5, the MODTRAN4 radiative transfer code, and GENRLUT. In a typical atmospheric correction procedure, a sensor-specific LUT is created by convolving the band response profiles with the "raw" LUT values. This "convolved" LUT is then sampled at a sensor's band wavelength values. In the smile detection procedure, the LUT spectra are convolved on the fly as required for each band-center and bandwidth shift.

The absorption features selected for this procedure depend upon the spectral resolution and signal-to-noise of the sensor under study. The deeper and better-resolved the feature appears in the measured spectra, the lower the error estimates of the resulting wavelength measurements. The comparison between the measure and modeled radiance spectra is performed separately for each selected absorption feature. The wavelength estimates for each of theses features and for each across-track pixel are extended to all elements in the array by interpolation or extrapolation. For this, either a low-order polynomial fit or a piecewise linear interpolation is used.

The comparison process calculates the Pearson correlation coefficients for each of the band-center-shift and bandwidth values. Minimization is then performed within the selected shift range using the bisection method. The band-center and bandwidth combination that provides the maximum correlation value is selected as the "correct" value. This is performed for each of the selected features and for each across-track pixel, providing the shift, and hence, the band-center wavelength and bandwidth values for each pixel across the sensor's total field of view. To reduce the potential influence of the background scene reflectance, features are chosen which are spectrally narrow or which consist of a number of narrow sub-features, and which are still resolvable by the instrument under study. In addition, both the measured spectra and the modeled spectra are filtered with a high-pass filter before the correlations are performed, again to reduce the influence of the scene reflectance.

If the pixel-to-pixel uniformity (responsivity) coefficients are not sufficiently accurate to eliminate striping in those bands involved in the features analyses, errors in the wavelength estimates will result. To cancel these effects and those caused by the discrete shift increment, a low-order polynomial is fitted to the final band-center and bandwidth values. Normally, a second-order polynomial is adequate, and is in keeping with theory for the grate spectrometer case, where a cosine dependence is predicted. This assumes that the angular range (at the grating) is small.

This procedure gives the band-center wavelength and bandwidth values for all the across-track pixels in the neighborhoods of the atmospheric and solar absorption features observed in the sensor spectral data. To obtain calibrated values for all bands in the array, one can interpolate between the selected feature wavelengths using a fitted low-order polynomial; extrapolation to bands beyond the range spanned by these features must be done with care. GENCLUT uses a 0-th order polynomial extrapolation to replicate the boundary values beyond the selected features range.

The following is a summary of the described algorithm:


For each cross-track pixel {

   Average the at-sensor radiance image along-track to yield a 
   single measured at-sensor radiance spectrum.

   High-pass filter the wavelength dimension of the measured
   at-sensor radiance spectrum.

   For each selected band-center and bandwidth shift {

      Shift the center-wavelength and FWHM values of the band 
      response profiles for all bands.

      Convolve the "raw" LUT with the shifted band response profiles.

      For each along-track pixel {

         Use the resampled LUT to transform the original (non-high- 
         pass filtered) radiance spectra to reflectance spectra.

         Smooth the atmospheric features of the reflectance spectrum.

         Smooth the full reflectance spectrum.

         Transform the smoothed reflectance spectrum back to an 
         at-sensor radiance spectrum.
      }

      Average the modeled along-track at-sensor radiance spectra to yield 
      a single modeled at-sensor radiance spectrum.

      High-pass filter the modeled at-sensor radiance spectrum.

      Compute the Pearson correlation coefficient for each atmospheric
      feature of the modeled at-sensor radiance spectra and the 
      measured at-sensor radiance spectrum.
   }

   For each atmospheric feature {

      Use the computed grid of correlation coefficients
      for all band-center and bandwidth shifts to find the maximum 
      correlation coefficient and its corresponding band-center and 
      bandwidth shift.

      Store the best band-center and FWHM adjustment, in 
      association with the cross-track pixel coordinate and the 
      representative mean band number of the atmospheric feature.
   }
}

For each atmospheric feature {

   Fit a SWFORDER order polynomial to the center-wavelength shift as a 
   function of cross-track coordinate.

   Fit a SWFORDER order polynomial to the FWHM shift as a function of 
   cross-track coordinate. 
}

For each cross-track coordinate {

   For each fit region {

      Interpolate and extrapolate the swath fitted band-center shifts over 
      the fit region band range using a WLFORDER order polynomial or a
      linear piecewise method depending on the value of FRMETHOD. 

      Interpolate and extrapolate the swath fitted FWHM shifts over 
      the fit region band range using a BWFORDER order polynomial or a
      linear piecewise method depending on the value of FRMETHOD. 
   }
}

Save the final shifts in the CLUT table.

Back to top

Acknowledgements

PCI Geomatics received financial support from the Canadian Space Agency/L'Agence Spatiale Canadienne through the Earth Observation Application Development Program (EOADP) for the development of this software, under contract 9F028-0-4914/09.

Back to top

References

R.A. Neville, L. Sun, K. Staenz, 2003. Detection of Spectral Line Curvature In Imaging Spectrometer Data, "Proceedings of AeroSense: Algorithms and Technologies for Multispectral, Hyperspectral, and Ultraspectral Imagery IX," 21-25 April 2003, Orlando, Florida.

© PCI Geomatics Enterprises, Inc.®, 2024. All rights reserved.