Environments | PYTHON :: EASI :: MODELER |
Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Example :: Algorithm :: Acknowledgements :: References :: Related |
Back to top |
Back to top |
Name | Type | Caption | Length | Value range |
---|---|---|---|---|
CLUTFILI* | String | Input CLUT file name | 1 - 192 | |
DBSCL* | Integer | Input CLUT segment | 1 - 1 | |
FILI* | String | Input image file name | 1 - 192 | |
VALONLY | String | Valid bands only | 0 - 3 | YES | NO Default: NO |
FILO* | String | Output file name | 1 - 192 |
Back to top |
CLUTFILI
Specifies the name of the PCIDSK file that contains the input spectral line curvature lookup table.
DBSCL
Specifies the input segment that contains the spectral line curvature lookup table (CLUT).
FILI
Specifies the name of the image file that contains the data set to correct.
VALONLY
Specifies whether the selected bands are to be restricted to those with 'plot' or 'bmask' (begin mask) quality values.
This parameter has no effect if the input file contains no band-validity metadata.
FILO
Specifies the name of the output file to receive the transformed image data. The specified output file must not exist prior to running SLCCOR.
Back to top |
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 using 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 pratical purposes by smoothing (see SMSPEC). In many cases, however, the amount of noise is so large 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") so that it intersects multiple detector array rows. In general, spectral line curvature affects all wavebands of an image to a varying degree.
A correction for spectral line curvature is based on shifts to the nominal center-wavelength and FWHM values associated with the image data that is a function of image line coordinate (the image line dimension maps to the detector array row dimension) and band. GENCLUT can be used to generate a two-dimensional spectral line curvature lookup table (CLUT) that contains shifts that represent the effect of spectral line curvature. The CLUT can then be used in ATRLUT to resample the radiance spectra from the radiance lookup table (RLUT) so that they more closely match the actual (distorted) sensor relative response profiles for different band and across-scanline positions. SLCCOR can then be used to convolve the reflectance data set with the nominal relative response profile so that the profile will be valid over the entire data set.
Alternatively, the radiance data set can be convolved with the nominal relative response profile to remove the spectral line curvature before running ATRLUT. In this case, the CLUT is not input to ATRLUT.
Back to top |
This example demonstrates a complete atmospheric correction with 'smile' detection workflow using GENTP5, the MODTRAN4 program, GENRLUT, GENAWVC, GENCLUT, ATRLUT, and SLCCOR.
The details listed above were taken from the scene aquisition data that accompanied the original data distribution and are part of the image metadata held in panel.pix.
Because the gray panel was positioned approximately two meters from the sensor, a nominal scene elevation of 198m will be used.
Based on the nominal location and time, use the midlatitude summer atmospheric model and the rural aerosol model. Because you do not have a surface meteorological range value, allow MODTRAN4 to use the visibility it associates with the rural aerosol model by default.
Because the atmospheric conditions are noted as "clear", select "background" stratospheric profile and extinction.
The data set consists of 288 bands with center wavelengths from 406.1454nm to 949.987nm and a nominal FWHM of 3nm. Specify a wavelength interval of [350, 1000nm] and 18573 samples (1cm^-1 wavenumber resolution), to allow reliable resampling to the sensor response profile, which is stored in the panel.pix metadata.
The left and right field of view angles are 15.67 and 21.03 respectively, as specified by the sensor definition file and stored in the metadata of panel.pix. Therefore, specify a view zenith angle interval of [158.97deg,180deg]. Specify 12 samples in this interval.
Based on a nominal heading of 180.0deg and the knowledge that CASI is a pushbroom sensor, determine that the view azimuth is 180.0deg +/- 90deg, or is either 90.0deg or 270.0deg. The view-solar azimuth is positive clockwise starting from the view azimuth direction, and is therefore equal to the solar azimuth minus the view azimuth. Consequently, the relative view-solar azimuth is either (163.367401 - 90.0)deg = 73.367401deg or (163.367401 - 270.0)deg = 106.632599deg.
Specify a relative view-solar azimuth angle interval of [-106.632599deg, 73.367401deg] and three samples to account for the nadir pixel.
Specify the reflectance interval of [0.05, 0.60] and two samples, which is typically used by this atmospheric transformation method.
You have no records of the atmospheric water vapor content. Because you will use GENAWVC to extract the vertical water vapor content from the image data, specify seven samples in the range of [0.5g/cm^2, 1.5g/cm^2].
Prepare and run SLCCOR.
EASI>clutfili = "clut.pix" ! input CLUT file EASI>dbscl = 2 ! input CLUT segment EASI>fili = "p_refl.pix" ! image to correct EASI>valonly = "NO" ! do not restrict bands EASI>filo = "p_refl_final.pix" ! output corrected image EASI>run SLCCOR
SLCCOR produces the final atmospherically and "smile" corrected reflectance data set, stored in p_refl_final.pix. The output file will contain 288 32R channels and the same radiometric transformations as the input file p_refl.pix.
Back to top |
SLCCOR relies on the existence of a spectral smile curvature lookup table (CLUT) containing the relevant center wavelength and FWHM shifts that need to be applied to correct a data set.
Spectral line curvature correction is achieved by convolving the input spectra to the shifted band response profiles as defined by the CLUT.
The CLUT contains a single center wavelength shift and FWHM shift for each crosstrack pixel location/spectral band combination. Accordingly, every along-track spectrum for a fixed cross-track pixel location will be convolved to the same shifted band response profiles.
If only valid bands were selected, only the bands marked with "plot" or "bmask" will be convolved and output.
There are two possible approaches for performing "smile" correction coupled with a radiance to reflectance atmospheric transformation for a given hyperspectral image data set. Both approaches require the creation of an at-sensor radiance lookup table and the extraction of a vertical water vapor content map for the entire image. They differ, however, in the manner in which the "smile" correction and the atmospheric correction are applied.
CLUT format
The spectral line curvature correction lookup table (CLUT) is a two-dimensional array.
The dimensional sizes of a CLUT are determined from the input data set and the input sensor. The crosstrack dimension contains a CLUT entry for every data set crosstrack pixel. The band dimension contains a CLUT entry for every band, as identified by the sensor.
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.
When the CLUT is saved to disk, the CLUT entries are serialized into a system-independent byte stream and written to the binary segment.
Back to top |
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 |
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.