L2 unmixing routine for spectral data

Contents

Syntax

    [weight_map, index_map, endmember, wavelength] = L2_unmixing(I, wl, Lib, Lib_wl, numEndmembers)

Description:

    This function unmixes spectral images into combinations of
    reference spectra or end-members. This routine uses NURBS to
    perform unmixing of spectral data with respect to end-members with
    different spectral resolutions.

Input:

    I: Hyperspectral image data cube. This can be either a 3-D array
        whose third dimension is the wavelength domain or a 2D array
        whose second dimension is indexed to wavelength
    wl: Vector of wavelengths used for the evaluation of the spectra in I.
    Lib: The input library of endmember spectra. This is a 2D array whose
        second dimension is the wavelength domain.
    Lib_wl: Vector of wavelengths used for the evaluation of the end-member spectra.
    numEndmembers: Number of end-members used for the unmixing operation.

Output:

    weight_map: The proportion of each of the end members corresponding
        to every pixel in the input reflectance image.
   index_map:The index of the end-member for weight_map
   endmember: Matrix of end members evaluated over the common wavelength
        range for both, the image data and the library.
   wavelength: Vector of common wavelength values for the image data and
        the end member library.