GRASS logo

NAME

i.pysptools.unmix - Extract endmembers from imagery group and perform spectral unmixing using pysptools

KEYWORDS

imagery, endmember, spectral unmixing

SYNOPSIS

i.pysptools.unmix
i.pysptools.unmix --help
i.pysptools.unmix [-n] input=name [output=name] [prefix=string] [endmembers=name] endmember_n=integer [extraction_method=string] [unmixing_method=string] [maxit=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

-n
Do not use Automatic Target Generation Process (ATGP)
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog

Parameters:

input=name [required]
Input imagery group
output=name
Text file storing endmember information for i.spec.unmix
prefix=string
Prefix for resulting raster maps
endmembers=name
Vector map representing identified endmembers
endmember_n=integer [required]
Number of endmembers to identify
extraction_method=string
Method for endmember extraction
Options: FIPPI, PPI, NFINDR
Default: NFINDR
unmixing_method=string
Algorithm for spectral unmixing
Options: FCLS, UCLS, NNLS
Default: FCLS
maxit=integer
Maximal number of iterations for endmember extraction (default=3*number of bands)

Table of contents

DESCRIPTION

i.pysptools.unmix extracts endmembers from imagery group and performs spectral unmixing using pysptools. The module creates an endmember text file and endmember raster maps.

The module is a wrapper around the pysptools Python library, that integrates its functionality for Endmember Extraction and Spectral Unmixing into GRASS GIS.

It requires that the Python libraries pysptools and scikit-learn are installed (see below).

Supported algorithms for Endmember Extraction are:

Supported algorithms for Spectral Unmixing are:

NOTES

Number of endmembers to extract (endmember_n) is supposed to be lower than the number of bands in the imagery group. Only the PPI method can extract more endmembers than there are bands in the imagery group.

EXAMPLE

Example for the North Carolina sample dataset:
# Create list of bands excluding thermal bands
bands=`g.list type=raster pattern="lsat7_2002*" exclude="lsat7_2002_6?" separator=','`
echo "$bands"

# Create imagery group
i.group group=lsat_2002 input="$bands"

# set computation region
g.region raster=lsat7_2002_10 -p

# Extract Endmembers and perform spectral unmixing using pysptools
# resulting in an endmember text file and raster maps (here: 5 endmember)
i.pysptools.unmix input=lsat_2002 endmembers=endmembers endmember_n=5 \
  output=spectrum.txt prefix=lsat_spectra --v

# Compare to result from i.spec.unmix addon
i.spec.unmix group=lsat7_2002 matrix=sample/spectrum.dat result=lsat7_2002_unmix \
  error=lsat7_2002_unmix_err iter=lsat7_2002_unmix_iterations

REQUIREMENTS

REFERENCES

SEE ALSO

i.spec.unmix

AUTHORS

Stefan Blumentrath, Norwegian Institute for Nature Research (NINA), Oslo, Norway
Zofie Cimburova, Norwegian Institute for Nature Research (NINA), Oslo, Norway

SOURCE CODE

Available at: i.pysptools.unmix source code (history)


Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2020 GRASS Development Team, GRASS GIS 7.8.3dev Reference Manual