IES Module¶
-
class
spectral_libraries.core.ies.
Ies
[source]¶ Bases:
object
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.
Citations:
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>)[source]¶ 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.
Parameters: - 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)
Returns: numpy array with the indices of the selected endmembers [+ summary as a dict in case requested]
-