Step 1: data in eigenvector space → Step 2: find cone corners (extreme rays) → Step 3: unmix a pixel (non‑negative combo)
Step 1/3
pixels (projected)
cone corners (rays)
pixel to unmix
projection on cone
Step 1 — We scatter synthetic pixel spectra in a 2‑D space (think EV₂ vs EV₃ slice).
The true endmembers (unknown) generate these points through non‑negative mixing.
What you’re seeing
Blue cloud: data projected into a 2‑D slice (typical for visualizing CCA).
Red rays (Step 2): the cone boundaries (corners/extreme directions).
Green dot (Step 3): a pixel we’ll unmix into the two corners.
Complexity (high level)
Build spectral correlation R: O(N·B²) | Eigen/SVD (B×B): O(B³) |
Corner search (combinatorial in bands for general c): ~ O(B^{c-1}).
(Here we illustrate a 2‑corner case in 2‑D for clarity.)