SPUNMIX

Linear spectral unmixing


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

Back to top

Description


Linearly unmixes a hyperspectral image. The user submits a set of endmember spectra, under the assumption that the band-vector at each image location is a linear combination of the endmember spectra. SPUNMIX evaluates a fraction-map for each spectrum in the set. The pixel values in the fraction-map for a given spectrum are estimates of the fractional contribution of the spectrum to corresponding pixels in the hyperspectral image. The image file must contain band response profile metadata.
Back to top

Parameters


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

* Required parameter
Back to top

Parameter descriptions

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.

The wavelength interval may be specified as follows:

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

Details

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.

Determining endmember fractions for each image pixel is useful when:

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.

Each column in the output table contains the following information:

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

Algorithm

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
where:

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) )
where:

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.

Not only must a solution to the linear system be found, but due to the nature of the unmixing problem, it may be desirable to solve the linear system with some constraints. Reasonable constraints are:

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

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

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.