Skip to content

Robust successive projection for endmember selection#151

Open
jpolchlo wants to merge 6 commits intomasterfrom
feature/rspa
Open

Robust successive projection for endmember selection#151
jpolchlo wants to merge 6 commits intomasterfrom
feature/rspa

Conversation

@jpolchlo
Copy link
Contributor

@jpolchlo jpolchlo commented Jul 13, 2021

Overview

For unmixing operations, one must possess an operable set of descriptive endmembers. Oftentimes, the best source for these endmembers is the scene itself, due to difficulties in acquiring sufficiently descriptive endmembers via other means (i.e., lab- or field-based spectrometers).

There are a variety of methods for determining which spectra to choose, but one class of algorithm (successive projection) relies on an iterative process of selecting a candidate spectrum and subsequently projecting the remaining spectra onto the subspace orthogonal to the chosen spectrum vector, repeating until the desired number of endmembers have been identified. This PR provides an implementation for one such algorithm—robust successive projection algorithm (RSPA)—that examines a group of potential endmembers at each stage and picks the one with the lowest scene-wide projection error, thus reducing the effects of outliers.

Closes #146
Closes #70

Demo

See the included notebook for an example.

Notes

This contribution adds a requirement for pysptools which provides other endmember extraction algorithms, including NFINDR, which is compared to RSPA in the demo notebook.

Checklist

  • CI passes after rebase
  • README.md updated if necessary to reflect the changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement robust endmember selection Investigate automatic endmember selection

1 participant