Sequential N-FINDR algorithms

N-finder algorithm (N-FINDR) is probably one of most popular and widely used algorithms used for endmember extraction. Three major obstacles need to be overcome in its practical implementation. One is that the number of endmembers must be known a priori. A second one is the use of random initial endmembers to initialize N-FINDR, which results in inconsistent final results of extracted endmembers. A third one is its very expensive computational cost caused by an exhaustive search. While the first two issues can be resolved by a recently developed concept, virtual dimensionality (VD) and custom-designed initialization algorithms respectively, the third issue seems to remain challenging. This paper addresses the latter issue by re-designing N-FINDR which can generate one endmember at a time sequentially in a successive fashion to ease computational complexity. Such resulting algorithm is called SeQuential N-FINDR (SQ N-FINDR) as opposed to the original N-FINDR referred to as SiMultaneous N-FINDR (SM N-FINDR) which generates all endmembers simultaneously at once. Two variants of SQ N-FINDR can be further derived to reduce computational complexity. Interestingly, experimental results show that SQ N-FINDR can perform as well as SM-N-FINDR if initial endmembers are appropriately selected.