Iterative Endmember Selection (IES) is used to identify the spectral library subset that provides the best class separability. The basis for this is a RMSE-based kappa coefficient. In an iterative manner, endmembers are added and removed from the subset until the kappa coefficient no longer improves.
Schaaf, A.N., Dennison, P.E., Fryer, G.K., Roth, K.L., and Roberts, D.A., 2011, Mapping Plant Functional Types at Multiple Spatial Resolutions using Imaging Spectrometer Data, GIScience Remote Sensing, 48, p. 324-344.
Roth, K.L., Dennison, P.E., and Roberts, D.A., 2012, Comparing endmember selection techniques for accurate mapping of plant species and land cover using imaging spectrometer data, Remote Sensing of Environment, 127, p. 139-152.
execute(library: numpy.array, class_list: numpy.array, constraints: tuple = (-0.05, 1.05, 0.025), forced_list: numpy.array = None, forced_step: int = None, multiprocessing: bool = True, summary: bool = False, set_progress: callable = None, log: callable = <built-in function print>)¶
Execute the IES algorithm. The result is a 1-D numpy array of selected endmembers. In case a summary is requested, it is delivered as a second output variable.
- library – spectral library [spectra as columns], scaled to reflectance values, without bad bands
- class_list – int array with the numerical class for each spectrum (e.g. GV = 1, SOIL = 2)
- constraints – min fraction, max fraction and max RMSE.
- forced_list – int array with indices of the endmembers that should be forcefully included
- forced_step – the loop in which the forced_list should be included (starting from 0)
- multiprocessing – use multiprocessing or not (option is deactivated)
- summary – return a summary of the process or not
- set_progress – communicate progress (refer to the progress bar in case of GUI; otherwise print to console)
- log – communicate messages (refer to the print_log tab in the GUI; otherwise print to the console)
numpy array with the indices of the selected endmembers [+ summary as a dict in case requested]
Replacement for the GUI progress bar