1. A process for identifying one or more materials in a scene by determining a subset consisting of a number N of members, denoted as endmembers, of a data set of spectral vectors, denoted as spectra, such that the endmembers may be taken in positive linear combinations to approximate the remaining spectra of the data set, comprising: a. gathering image data of the scene with a sensor; b. providing a data set comprised of a plurality of spectra from the image data; c. defining an error metric dependent on a vector difference between two spectra in the data set; d. selecting a first spectrum from the data set as the first endmember; e. for each spectrum in the data set, determining an initial weighting factor of the first endmember, such that (1) the initial weighing factor is non-negative and (2) when the first endmember from step d is multiplied by the initial weighting factor and subtracted from the spectrum, the resulting vector difference, denoted as the residual, generates a smallest error metric; f. selecting as a new endmember the spectrum from the data set whose residual generates the largest error metric; g. designating the new endmember as the currently-considered endmember; h. for each spectrum in the data set, (1) determining a trial weighting factor of the currently-considered endmember, such that (i) the trial weighting factor of the currently-considered endmember is non-negative, and (ii) when the currently-considered endmember is multiplied by the trial weighting factor of the currently-considered endmember and subtracted from the spectrum, the resulting vector difference, designated as the trial current residual, generates a smallest error metric; (2) determining a trial revised residual by subtracting the trial current residual multiplied by the trial weighting factor for the currently considered endmember from the residual determined just prior to the trial current residual; (3) determining trial revised weighting factors of each of the endmembers selected prior to the currently-considered endmember by subtracting from the weighting factors of each of the endmembers selected prior to the currently-considered endmember the product of the trial weighting factor of the currently-considered endmember and the weighting factors of the endmembers selected prior to the currently-considered endmember for the currently-considered endmember; i. for each of the endmembers selected prior to the currently-considered endmember, identifying the trial revised weighting factors that are negative, and determining revised weighting factors and revised residuals such that the revised weighting factors are non-negative and the revised residuals generate a smallest error metric; j. designating the revised weighting factors as weighting factors and the revised residuals as residuals; k. repeating steps f, g, h, i and j for all or a subset of spectra in the data set one or more times, until a total of N endmembers have been determined.