SPMIX

Linear spectra mixing


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

Back to top

Description


Evaluates a multiband image from a fraction vector map and a set of spectra.
Back to top

Parameters


spmix(file, specfile, dbic, dboc)

Name Type Caption Length Value range
FILE * str Input file name 1 -    
SPECFILE * str Spectrum library file name 1 -    
DBIC * List[int] Input raster channel(s) 1 -    
DBOC * List[int] Output raster channel(s) 1 -    

* Required parameter
Back to top

Parameter descriptions

FILE

Specifies the name of the image file that contains the input fraction vector map and to receive the output synthetic image.

SPECFILE

Specifies the name of the file that contains the input spectra. The number of spectra must equal the number of input channels specified through DBIC, and the number of measurement values in the spectra must equal the number of output channels specified through DBOC.

DBIC

Specifies the channels in the input file that comprise the fraction vector map. The number of input channels must equal the number of input spectra (SPECFILE).

The specified set of channels must not intersect the set of channels specified through DBOC.

DBOC

Specifies the channels in the input file to receive the output synthetic image. The number of output channels must equal the number of measurement values in the input spectra.

The specified set of channels must not intersect the set of channels specified through DBIC.

Back to top

Details

The N user-specified input channels are interpreted as a fraction vector map. Denote the N-dimensional input channel band vector at pixel location p by frac_p (fraction vector p). The i'th element of frac_p is taken from pixel location p in the i'th specified input channel.

SPMIX requires that the number of spectra in the input spectrum library file equals N, and the number M of user-specified output channels equals the number of measurement values in the spectra.

Let E be a M-by-N matrix in which the i'th column is evaluated to be the vector of measurement values in the i'th input spectrum. Then, out_p = E * frac_p is the output band vector for location pixel location p. The i'th element of out_p is written to the i'th specified output channel at pixel location p.

out_p is a linear combination of the input spectra, or a linear 'spectra mixing' result.

Back to top

Example

Evaluate channels 1 to 224 to a synthetic image. The 3 input endmember spectra may be extracted from cuprad.pix using the Focus spectra plotting panel. Here, the endmember spectra are stored in the USGS format file "in.spl".

from pci.spmix import spmix

file	=	'in.spl'
specfile	=	"in.xls"
dbic	=	[225,226,227]
dboc	=	list(range(1, 224 + 1))

spmix( file, specfile, dbic, dboc )
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, J. Lefebvre, and P. Hauff, "Automatic Endmember Extraction from Hyperspectral Data for Mineral Exploration", Proceedings of the Fourth International Airborne Remote Sensing Conference and Exhibition/ 21st Canadian Symposium on Remote Sensing, Ottawa, Ontario, Volume II pp. 891-897.

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