SPCONVP

Convolve spectra with band response profiles


EnvironmentsPYTHON :: EASI :: MODELER
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Example :: Algorithm :: Acknowledgements :: References

Back to top

Description


Generates resampled spectra by convolving input spectra with the band response profiles for a set of sensor bands.
Back to top

Parameters


Name Type Caption Length Value range
SPECFILI* String Input spectral library file name 1 - 192  
SPECFILO* String Output spectral library file name 1 - 192  
FILOTYPE String Output spectral library file format 0 - 16 SPCB | XLS | TXT
Default: SPCB
FILE* String Input hyperspectral data set file 1 - 192  
WLENINT Float Wavelength interval (nm) 0 - 2  
VALONLY String Valid bands only 0 - 3 YES | NO
Default: NO

* Required parameter
Back to top

Parameter descriptions

SPECFILI

Specifies the name of the input spectral library file that contains spectrum records to be convolved.

SPECFILO

Specifies the name of a new spectra library file to receive the resampled spectra.

If the specified file already exists, it will be overwritten.

The following rules apply to the output spectral library file extensions:

FILOTYPE

Specifies the file format of the output spectral library file.

Supported formats are:
Note: If the "TXT" type is specified, the function also generates a file with a ".gav" extension; this file contains the schema for the file.

FILE

Specifies the name of the input hyperspectral data set file, which contains definitions of the target sensor for the convolved spectra.

WLENINT

Specifies that the output spectra bands are to be restricted to those sensor bands whose center wavelength are either inside or outside a closed interval, specified in nanometres.

VALONLY

Specifies whether the selected bands are to be restricted to those with 'plot' or 'bmask' (begin mask) quality values.

Available options are:

This parameter has no effect if the input file contains no band-validity metadata.

Note: Either upper- or lower-case characters may be used in the assigned strings.
Back to top

Details

SPCONVP first verifies all parameters, then extracts the sensor band response profiles from the input data set (FILE). The response profiles for all bands in the sensor definition are used, regardless of their associated band quality value or the setting of the VALONLY (Valid Bands Only) parameter. This is done because the quality of the image data stored in the data set (the data set's "band quality") is irrelevant to this operation.

SPCONVP then convolves each spectrum from the input library with the sensor band response profiles to produce a resampled spectrum where the wavelength samples align with the center wavelength values of the sensor. The resampled spectra are output to a new spectral library file (SPECFILO).

If the Valid Bands Only (VALONLY) parameter is set to "YES", only those measurement values in an input spectrum that have a "plot" or "bmask" quality value are input to the convolution operations. Otherwise, all measurement values are input.

Note: Measurement values are "plot" quality by the default if no quality values are recorded.

If the output file format can store quality values, all the output spectrum samples will have an associated "plot" quality value.

The total wavelength range of the input spectra can be less that that of the union of the band response profiles. In such a case, the resampled spectra will only have measurement values for the center wavelengths of band response profiles that encompass at least one input measurement value (at least one valid input measurement value if VALONLY is "YES").

Back to top

Example

Resample spectra in splib04b.spl to the wavelength sampling of cuprad.pix and outpout the results to an SPCB-format file.

EASI>specfili	=	"splib04b.spl"	! input spectral library
EASI>specfilo	=	"splib04b_cuprad.spl"	! output spectral library
EASI>filotype	=	"spcb"	! output file format
EASI>file	=	"cuprad.pix"	! input hyperspectral data set
EASI>wlenint	=		! output all bands defined in sensor
EASI>valonly	=		! default, no restriction

EASI>run SPCONVP
Back to top

Algorithm

All the spectra in a spectrum library file have measurement value 'places' for the same set of wavelength samples. However, a given spectrum may have no measurement value in a given place. In such a case, the measurement value for that spectrum and place is null and is indicated with a negative value in that place. Different spectra may have null values in different places.

SPCONVP calculates a convolution coefficient for each wavelength sample. The convolution coefficient for a wavelength sample is simply the value of the encompassing response profile at that wavelength. A response profile encompasses a wavelength sample if the wavelength sample falls within the full-width at half maximum (FWHM) interval for that response profile.

If a wavelength sample does not fall within the FWHM interval for any response profile, then no convolution coefficient is computed for it.

Let 'n' wavelength samples be encompassed by response profile 'b'. Let the convolution coefficient for the i'th wavelength sample encompassed by response profile 'b' be denoted by C_b,i. Let the measurement value in spectrum 's' for the i'th wavelength sample encompassed by response profile 'b' be denoted by M_s,b,i.

Define NonNull(M_s,b,i) such that it returns 1 if M_s,b,i is non- null. Otherwise, it returns 0.

Denote the resampled measurement value for response profile b by R_b.

In the case where VALONLY is "NO", R_b is computed according to:

s = Sum i=1,n (C_b,i * NonNull(M_s,b,i))
a = Sum i=1,n (M_s,b,i * C_b,i * NonNull(M_s,b,i))
if (s .ne. 0) then R_b = a / s else R_b = -1
Note: -1 indicates a null value for R_b.

Define Valid(M_s,b,i) such that it returns 1 if M_s,b,i has a quality value of "plot" or "bmask." Otherwise, it returns 0.

In the case where VALONLY is "YES", R_b is computed according to:

s = Sum i=1,n (C_b,i * NonNull(M_s,b,i) * Valid(M_s,b,i))
a = Sum i=1,n (M_s,b,i * C_b,i * NonNull(M_s,b,i) * Valid(M_s,b,i))

if (s .ne. 0) then R_b = a / s else R_b = -1
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-4902/12.

Back to top

References

McGraw-Hill Book Company, "Mathematical Handbook for Scientists and Engineers Second Ed."

Staenz, K., T. Szeredi, R.J. Brown, H. McNairn, R. Van Acker, "Hyperspectral Information Extraction Techniques Applied to Agricultural casi Data for Detection of Within-Field Variations".

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