| Environments | PYTHON :: EASI :: MODELER |
| Batch Mode | Yes |
| Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Algorithm :: Acknowledgements :: References :: Related |
| Back to top |
| Back to top |
| Name | Type | Length | Value range |
|---|---|---|---|
| Input Window | Integer | 0 - 4 | Xoffset, Yoffset, Xsize, Ysize |
| InputBitmap: Input bitmap segment | Bitmap port | 0 - 1 | 1 - |
| Spectral Library * | String | 1 - | |
| Output * | Integer | 1 - 1024 | |
| RMSError: Output RMS-Error channel | Raster port | 0 - 1 | 1 - |
| Non-Negative Constraint | String | 0 - 1 | YES | NO Default: NO |
| Sum-to-One Constraint | String | 0 - 1 | YES | NO Default: NO |
| Radiometric Transformation Level | Integer | 0 - 1 | 0 - |
| Input: Input raster channel(s) | Raster port | 0 - 1024 | |
| Wavelength Interval | Float | 0 - 2 | |
| Valid Bands Only | String | 0 - 1 | YES | NO Default: NO |
| Report | String | 0 - 192 | See parameter description |
| Back to top |
Input Window
Optionally specifies the rectangular window (Xoffset, Yoffset, Xsize, Ysize) of image data read from the input channels. If this parameter is not specified, the entire image is processed by default.
Xoffset, Yoffset define the upper-left starting pixel coordinates of the window. Xsize is the number of pixels that define the window width. Ysize is the number of lines that define the window height.
Either DBIW (input window) or DBIB (input bitmap) may be specified.
InputBitmap: Input bitmap segment
Specifies a bitmap segment that defines the image region to which the unmixing will be limited.
Either DBIW (input window) or DBIB (input bitmap) may be specified.
Spectral Library
Specifies the name of the input spectra library file that contains endmembers for unmixing.
All spectra in the library file are used.
Output
Specifies the output channels to receive the output endmember fraction maps. One output channel must be specified for each endmember. Output channels must be 32-bit real. The i'th endmember corresponds to the i'th channel in the specified channel number list.
Duplicate channels are NOT allowed. No data set band channels can be specified.
RMSError: Output RMS-Error channel
Specifies the output channel to receive the residual error map. If this parameter is not specified, the residual error image is not saved.
No data set band channel or fraction map channel can be specified.
Non-Negative Constraint
Specifies whether a constraint is imposed whereby all endmember fractions found will be non-negative.
Sum-to-One Constraint
Specifies whether a constraint is imposed whereby the output endmember fractions sum to 1.0 for each pixel.
Radiometric Transformation Level
Specifies the radiometric transformations associated with the data set that is applied to the stored pixel values.
RTLEVEL cannot be greater than the number of radiometric transformations available for the selected data set. If this parameter is not specified, it defaults to the number of radiometric transformations present for the selected data set.
Input: Input raster channel(s)
Specifies the input channels to process. The image metadata indicates which channels store data set bands. If this parameter is not specified, all data set band channels are processed by default. Only data set band channels can be specified.
Wavelength Interval
Specifies that the selected bands are to be restricted to those whose center wavelength is either inside or outside a closed interval, specified in nanometers. By default, no restriction is applied.
This parameter has no effect if the input file contains no band center wavelength metadata.
Valid Bands Only
Specifies whether the selected bands are to be restricted to those with "plot" or "bmask" (begin mask) quality values. The default is NO.
This parameter has no effect if the input file contains no band-validity metadata.
Report
Specifies where to direct the generated report.
Available options are:
| Back to top |
Traditional image classifiers classify each image pixel into one of a number of classes. In contrast, spectral unmixing permits multiple classes to be associated with each image pixel, under the assumption that an image pixel may be the result of sensing a part of the scene composed of a mixture of multiple spatially homogenous material types (endmembers). In the case of linear spectral unmixing, any image band-vector is assumed to be a linear combination of the endmember band-vectors, and a classification result for a pixel is the fractional contribution of each endmember to that pixel's band vector (that is, the 'endmember fractions' for the pixel).
Spectral unmixing is particularly valuable when the image data is of low spatial resolution with respect to the scene cover types of interest. This is often the case with hyperspectral images.
Linear spectral unmixing requires the dimension of the band-vectors (that is, the number of image bands) to be greater than or equal to the number of endmembers, and the endmembers should be as linearly independent as possible.
To perform spectral unmixing, you must provide a set of spectra that are interpreted as the endmember band-vectors. These 'endmember spectra' are read from the specified spectra file.
If necessary, the input reference spectra are automatically resampled to match the image wavelength sampling.
The endmember spectra can come from ground-level field measurements or laboratory measurements, or from the image. In the former case, the endmember spectra usually represent material reflectance, and the image must be transformed into an accurate estimate of scene reflectance before spectral unmixing. This requires some form of correction for the effect of the atmosphere between the sensor and the scene on the image values. An advantage of using field- or laboratory-measured spectral is that the material type of the endmembers is clearly known.
When the endmembers are extracted from the image, they may be used to unmix parts of the image where the cover types, illumination conditions, and terrain slope and aspect are represented in the parts of the image from which the endmembers were extracted. ENDMEMB may be used to automatically generate endmembers for an image.
To achieve good unmixing results, the endmember set must be complete with respect to the part of the image to be unmixed. It is also important that redundant endmembers be excluded.
Report
An example output listing produced by SPUNMIX is shown below. This listing can be directed to any report device. In this example, we have separated 4 endmembers.
The number of non-convergent pixels found is reported first; this is the number of pixels within the processed area that were found to not converge mathematically. This value gives an indication of the number of pixels in the image for which the unmixing process is not properly constrained. These pixels will, for example, have missing endmembers.
Here is a sample output listing:
Statistical Results from SPUNMIX Number of Non-Convergent Image Pixels: 0 Emb Ave Min Max Rep +--------------------------------------------+ 1 0.124 0.000 1.000 0.094 2 0.791 0.000 1.000 0.837 3 0.079 0.000 1.000 0.069 4 0.006 0.000 0.255 0.000
An interpretation of these numbers is proided in the "Example" section.
| Back to top |
This section provides a brief overview of the nature of the problem solved by spectral unmixing, and discusses how it is solved.
Formulation
For one wavelength, the linear mixing model can be written as:
E(1) x frac(1) + ... + E(m) x frac(m) = I
If we employ multiple wavelengths, we get a system of multiple linear equations (one per wavelength) that can be represented as:
_E x _frac = _I
where _E, _frac, and _I are matrix/vector versions of E, frac, and I, above.
Specifically, the endmember data matrix is defined as:
(E(wave_1, emb_1) ... E(wave_1, emb_m) )
_E = ( . ... . )
(E(wave_n, emb_1) ... E(wave_n, emb_m) )
The endmember fraction vector is defined as:
( frac(1) )
_frac = ( . )
( frac(m) )
and the image band-vector is defined as:
( I(1) )
_I = ( . )
( I(n) )
The spectral mixing problem is equivalent to knowing _E and _frac and solving for _I. The spectral unmixing problem is equivalent to knowing _E and _I and solving for _frac.
Solution
To solve the unmixing problem, we must solve a system of linear equations. This system can be solved in many ways; however, a least-squares solution is appropriate, and is used in SPUNMIX. SPUNMIX employs a process known as "Singular Value Decomposition" to solve the linear systems.
These constraints have obvious physical meaning, and may be applied individually or together. SPUNMIX applies these constraints by modifying the linear system to be solved, and by the selection of the numerical algorithm chosen to determine the endmember fractions; it does not simply apply normalization factors to the endmember fractions determined without any constraints applied.
| 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-4902/12.
| Back to top |
Neville, R. A., K. Staenz, T. Szeredi, and P. Hauff, 1997, "Spectral Unmixing of SFSI Imagery in Nevada", Proceedings of the Twelfth International Conference and Workshops on Applied Geologic Remote Sensing, Denver Colorado, pp. 449-456.
Winter, M.E., "Comparison of Approaches for Determining End-Members in Hyperspectral Data", Aerospace Conference, Proceedings 2000 IEEE, Big Sky MT., Vol. 3 pp 305-313.
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.
© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.