Research Article

Distributed Parallel Endmember Extraction of Hyperspectral Data Based on Spark

Algorithm 1

Endmember extraction based on IEA.
Input: Hyperspectral data , the number of endmembers m.
(1) Initialization: Threshold of (spectral angle), the number R for averaging the vectors
  with the largest error, and endmember matrix .
(2) Calculate the mean vector of the hyperspectral data .
(3) Perform the constrained unmixing on using as endmember matrix, and
   get the image of the errors (named “error image”) remaining after the unmixing.
repeat
(4) Find R pixel vectors with the largest error in the error image, and extract the subset of
   the set of R vectors, consisting of all those vectors which fall within the angle of the
   maximum error vector.
(5) Average the vectors in the subset to decrease the effects of outliers and noise, denoted
   as , and update endmember matrix .
until m endmembers are extracted.