Environments | PYTHON :: EASI :: MODELER |
Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Examples :: Acknowledgements :: References :: Related |
Back to top |
Back to top |
genawvc(rlutfili, dbsrl, file, dbdem, dbaod, dbsmr, dbwvc, dblwt, dbsse, rtlevel, nomaod, nomsmr, nomelev, wlen1, wlen2, inivwvc, maxiter, adjdim)
Name | Type | Caption | Length | Value range |
---|---|---|---|---|
RLUTFILI* | str | Radiance LUT input file name | 1 - | |
DBSRL* | List[int] | Input radiance LUT segment | 1 - 1 | |
FILE* | str | Input file name | 1 - | |
DBDEM | List[int] | Input scene elevation channel | 0 - 1 | |
DBAOD | List[int] | Input Aerosol Optical Depth map channel | 0 - 1 | |
DBSMR | List[int] | Input surface meteorological range map channel | 0 - 1 | |
DBWVC* | List[int] | Output water vapor content channel | 1 - 1 | |
DBLWT | List[int] | Output leaf water thickness channel | 0 - 1 | |
DBSSE | List[int] | Output SSE channel | 0 - 1 | |
RTLEVEL | List[int] | Radiometric transformation level | 0 - 1 | 0 - |
NOMAOD | List[float] | Nominal aerosol optical depth | 0 - 1 | 0.0 - |
NOMSMR | List[float] | Nominal surface meteorological range value | 0 - 1 | 0.0 - |
NOMELEV | List[float] | Nominal scene elevation value | 0 - 1 | 0.0 - |
WLEN1 | List[float] | Start wavelength | 0 - 1 | 400 - 2400 Default: 850 |
WLEN2 | List[float] | End wavelength | 0 - 1 | 400 - 2400 Default: 1250 |
INIVWVC | List[float] | Initial water vapor content guess | 0 - 1 | 0.11 - 5.09 Default: 2.5 |
MAXITER | List[int] | Maximum number of iterations | 0 - 1 | 5 - 100 Default: 25 |
ADJDIM | List[int] | Adjacency effect window dimension | 0 - 1 | 0 - Default: 1 |
Back to top |
RLUTFILI
Specifies the name file containing the radiance lookup table (RLUT).
DBSRL
Specifies the PCIDSK file segment that contains the radiance lookup table.
FILE
Specifies the name of the PCIDSK file containing the data set for which the atmospheric vertical water vapor content map is to be extracted.
DBDEM
Optionally specifies the input channel containing a DEM map of the scene for which the atmospheric water vapor content is to be extracted.
If this parameter is not specified, a nominal elevation, specified by NOMELEV, will be used over the entire scene. Only one channel may be specified.
DBAOD
Optionally specifies the input channel containing an aerosol optical depth map of the scene for which the atmospheric water vapor content is to be extracted.
If this parameter is not specified, a nominal aerosol optical depth, specified by NOMAOD, will be used over the entire scene. Only one channel may be specified.
This parameter is used as an alternative to DBSMR (InputSMR) for evaluating a surface meteorological range map; specify either DBAOD or DBSMR.
DBSMR
Optionally specifies the input channel containing a surface meteorological range map of the scene for which the atmospheric water vapor content is to be extracted.
If this parameter is not specified, a nominal surface meteorological range, specified by NOMSMR, will be used over the entire scene. Only one channel may be specified.
This parameter is used as an alternative to DBSMR (InputSMR) for evaluating a surface meteorological range map; specify either DBSMR or DBAOD.
DBWVC
Specifies the output channel to receive the extracted atmospheric water vapor content map over the scene.
Exactly one channel must be specified. The output channel must exist prior to running GENAWVC.
DBLWT
Specifies the output channel to receive the extracted leaf water absorption map over the scene.
If this parameter is not specified, the leaf water thickness map is discarded. The specified channel must exist prior to running GENAWVC.
DBSSE
Optionally specifies the output channel to receive the Sum of Squared Errors map over the scene.
If this parameter is not specified, the error map is discarded. The specified channel must exist prior to running GENAWVC.
RTLEVEL
Specifies the radiometric transformations already associated with the data set that are to be applied to the stored pixel values before they are used in the water vapor extraction computations. By default, GENAWVC applies the full sequence of transformations.
If the data set metadata contains no radiometric transformation parameter values, this parameter has no effect.
NOMAOD
Specifies a nominal aerosol optical depth to be used over the entire scene.
For example:
NOMAOD = 1.1725
specifies an aerosol optical depth of 1.1724 over the entire scene, equivalent to an approximately 5 km meteorological range.
This parameter is used as an alternative to NOMSMR (Nominal SMR) for evaluating a nominal surface meteorological range value. Specify either NOMAOD or NOMSMR.
If either DBAOD (input AOD) or DBSMR (Input SMR) is specified, this parameter is ignored.
NOMSMR
Specifies a nominal surface meteorological range value (in km) to be used over the entire scene.
If the input RLUT was created by leaving the surface meteorological range settings unspecified in the programs GENTP5 and GENRLUT, this parameter should also be left unspecified.
If DBSMR (InputSMR) is specified, this parameter is ignored.
NOMELEV
Specifies a nominal elevation value (in meters, with respect to the WGS84 vertical datum) to be used for the entire scene.
Either NOMELEV or DBDEM (InputDEM) must be specified; if DBDEM is specified, this parameter is ignored.
WLEN1
Specifies the start of the wavelength range, in nanometers, to be used for the extraction of the atmospheric water vapor content map.
A wavelength range start e must be such that:
400nm < e < 2400nm
The default wavelength start value is 850nm.
WLEN2
Specifies the end of the wavelength range, in nanometers, to be used for the extraction of the atmospheric water vapor content map.
A wavelength range end e must be such that:
400nm < e < 2400nm
The default wavelength end value is 1250nm.
INIVWVC
Specifies an initial atmospheric water vapor content guess, in g/cm^2, to be used as a starting value in the spectra fitting algorithm.
A water vapor content guess e must be such that:
0.11 <= e <= 5.09
The default initial water vapor content guess value is 2.5 g/cm^2.
MAXITER
Specifies the maximum number of iterations to be performed by the non-linear spectra fitting algorithm.
A maximum number of iterations e must be such that:
5 <= e <= 100
The default maximum number of iterations is 25.
ADJDIM
Specifies the dimension of the neighborhood window to include in the computation of adjacency radiance effects due to heterogeneous terrain reflectance.
Back to top |
GENAWVC is used to extract atmospheric water vapor and leaf water absorption maps from an image data set and a matching RLUT. It builds on the results of GENTP5 GENRLUT, and RESRLUT, and outputs data that can later be used in ATRLUT and GENCLUT.
GENAWVC employs an inversion algorithm for retrieval of atmospheric water vapor content and leaf water thickness. The inversion algorithm operates on the spectrum of each spatial element and generates an atmospheric water vapor map over the entire scene. A non-linear least-squares fitting approach, coupled with a radiance lookup table generated by GENTP5 and GENRLUT, is used to minimize the error between the target spectrum within the start/end wavelength range specified and a modeled radiance spectrum. For reliable results, the range must cover the water absorption spectrum features.
GENAWVC will perform automatic resampling of the input at-sensor radiance lookup table (RLUT) if the wavelength dimension sampling does not match the data set band center wavelengths. Alternatively, the user may use RESRLUT to resample the RLUT to match the response profile of the data set before running GENAWVC; this will result in a considerable reduction of the GENAWVC execution time.
On completion, GENAWVC outputs the retrieved atmospheric water vapor content map, the equivalent leaf water thickness map, and the sum of squared errors (SSE) map to the user-specified output channels. If enabled, the generated report lists all image pixels for which the non-linear least-squares fitting technique failed and the reason for that failure. For all pixel locations for which the standard non-linear fitting method failed, an alternative slower but more robust method will be used instead (namely, the Downhill Simplex Method).
Back to top |
This example is an extension of the one given in the EXAMPLE section of GENTP5, GENRLUT, and RESRLUT, which showed how to generate and resample an RLUT for transforming the cuprad.pix radiance data set into a reflectance data set. Here, we demonstrate the use of that RLUT with GENAWVC in extracting the atmospheric water vapor content map prior to running ATRLUT.
First, regenerate the at-sensor radiance lookup table with more samples along the wavelength dimension:
from pci.gentp5 import gentp5 tape5 = "tape5" # write output to a file named "tape5" in # the current working directory atmod = "MLS" # midlatitude summer atmospheric model vwcins = [0.25,4,16] # 16 samples in [0.25g/cm^2, 4g/cm^2] msalg = "ISAACS" # use ISAACS scattering model nstr = [] # ignored for the ISAACS scattering model aermod = "DES" # desert aerosol model aodins = [] # default visibility range for desert smrins = [] # default visibility range for desert prex = "BSBS" # background stratospheric profile and extinction wlenins = [355, 2515, 2161] # 2161 samples in [355nm, 2515nm] reflins = [0.05, 0.60, 2] # the two samples are 0.05 and 0.60 razins = [-80.8, 99.2, 3] # the three samples are -80.9deg, 9.2deg, and 99.2deg vzains = [165, 180, 4] # the four samples in [165deg, 180deg] szains = [14.4, 14.4, 1] # the one sample is 14.4deg elevins = [1524, 1524, 1] # the one sample is 1524m saltins = [21036, 21036, 1] # the one sample is 21036m date = [19,6,1997] # set the date of acquisition to June 19, 1997 gentp5( tape5, atmod, vwcins, msalg, nstr, aermod, aodins, smrins, prex, wlenins, reflins, razins, vzains, szains, elevins, saltins, date )
The tape5 file you created in Example 1 is used to store information necessary to perform an atmospheric correction in a format that can be read by the MODTRAN4 program.
To run MODTRAN4 using the information stored in the tape5 file, you must first copy the MODTRAN4 executable (4V3R1.exe) into the directory where you saved the tape5 file. Then, run MODTRAN4 by double-clicking on the executable or by running it through a command window.
Run GENRLUT to create the RLUT from the "tape7" file generated by MODTRAN4.
from pci.genrlut import genrlut rlutfilo = "rlut.pix" # write output to PCIDSK file rlut.pix # in the current working directory dbos = [] # create a new output segment on rlut.pix tape7 = "tape7" # use the tape7 file generated by MODTRAN4 vwvcins = [] aodins = [] smrins = [] reflins = [] razins = [] vzains = [] szains = [] elevins = [] saltins = [] genrlut ( rlutfilo, dbos, tape7, vwvcins, aodins, smrins, reflins, razins, vzains, szains, elevins, saltins )
All GENRLUT parameters other than TAPE7, RLUTFILO and DBOS are shared with GENTP5. Those parameters should be evaluated to the same values both programs when they are run in sequence in order to create an RLUT.
Resample the RLUT to match the response profile of cuprad.pix.
from pci.resrlut import resrlut rlutfili = "rlut.pix" dbsrl = [2] rlutfilo = "rlut.pix" dbos = [] fili = "cuprad.pix" resrlut( rlutfili, dbsrl, rlutfilo, dbos, fili )
The resampled RLUT is now stored in segment 3 of rlut.pix.
Add three extra 32R channel for the water vapor content map, the equivalent water thickness map, and the error map.
from pci.pcimod import pcimod file = "cuprad.pix" pciop = "ADD" pcival = [0,0,0,3] pcimod( file, pciop, pcival )
Because "cuprad.pix" has 224 16S channels, the newly created 32R channels will be numbered 225, 226, and 227.
Use GENAWVC to extract the water vapor content map from "cuprad.pix"
from pci.genawvc import genawvc rlutfili = "rlut.pix" # PCIDSK file created by GENRLUT dbsrl = [3] # the resampled RLUT is stored in segment 3 of rlut.pix file = "cuprad.pix" # extract the water vapor map for "cuprad.pix" dbdem = [] # use default nominal elevation as specified by NOMELEV dbaod = [] # surface meteorological range was not specified for # the GENTP5 and GENRLUT runs dbsmr = [] # surface meteorological range was not specified for # the GENTP5 and GENRLUT runs dbwvc = [225] # use channel 226 to store the extracted vertical # water vapor content map dblwt = [226] # use channel 227 to store the leaf water thickness map dbsse = [227] # use channel 228 to store the error map rtlevel = [] # apply the full radiometric transformation sequence # stored in cuprad.pix before transforming nomaod = [] # surface meteorological range was not specified for # the GENTP5 and GENRLUT runs nomsmr = [] # surface meteorological range was not specified for # the GENTP5 and GENRLUT runs nomelev = [1524] # elevation sample used in generating the RLUT wlen1 = [] # use default wavelength range start at 800nm wlen2 = [] # use default wavelength range end at 1250nm inivwc = [1] # use initial water vapor guess of 1g/cm^2 maxiter = [] # use default maximum number of iterations adjdim = [1] # ignore adjacency effects genawvc( rlutfili, dbsrl, file, dbdem, dbaod, dbsmr, dbwvc, dblwt, dbsse, rtlevel, nomaod, nomsmr, nomelev, wlen1, wlen2, inivwc, maxiter, adjdim )
On completion, channels 225, 226, and 227 will contain, respectively, the atmospheric water vapor content, the equivalent leaf water thickness, and the error maps. The water vapor map may then be used in ATRLUT for improving the precision of the atmospheric transformation.
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 |
K. Staenz, Williams, D.J., 1997. Retrieval of Surface Reflectance from Hyperspectral data Using a Lookup Table Approach, Canadian Journal of Remote Sensing, Vol. 23, pp. 354-368.
Robert O. Green, and Co., An Inversion Algorithm for Retrieval of Atmospheric and Leaf Water Absorption From AVIRIS Radiance With Compensation for Atmospheric Scattering, Jet Propulsion Laboratory, California Institute of Technology.
Palmer, K.F, D. Williams, 1974, "Optical Properties of Water in the Near Infrared", Journal of Optical Society of America Vol. 64, pp. 1107-1110
Staenz, K., T. Szeredi, J. Schwarz, 1998., "ISDAS - A System for Processing/Analyzing Hyperspectral Data", Canadian Journal of Remote Sensing, Vol. 24, No. 2, pp. 99-113
Wessels, G.J.; Buchheit M., Espesset A.; "The Development of a High Performance, High Volume Distributed Hyperspectral Processor and Display System," IEEE International Geoscience and Remote Sensing Symposium and the 24th Canadian Symposium on Remote Sensing, Toronto, Canada, June 24-28 2002
© PCI Geomatics Enterprises, Inc.®, 2024. All rights reserved.