GMCALab is a set of Matlab toolboxes that focus on solving Blind Source Separation problems from multichannel/multispectral/hyperspectral data. In essence, multichannel data provide different observations of the same physical phenomena (e.g. multiple wavelengths, ), which are modeled as a linear combination of unknown elementary components or sources:
where is the data matrix, is the source matrix, and is the mixing matrix. The goal of blind source separation is to retrieve and from the knwoledge of the data only.
Generalized Morphological Component Analysis, a.k.a. GMCA, is a BSS method that enforces the sparsity of the sought-after sources:
A lightweight Matlab/Octave version of the GMCALab toolbox is available at this location. Illustrations are provide here.
It is worth noting that GMCA provides a very generic framework that has been extended to tackle different matrix factorization problems:
- Non-negative matrix factorization with nGMCA
- Separation of partially correlated sources with AMCA
- The decomposition of hyperspectral data with HypGMCA (available soon)
- The analysis of multichannel data in the presence of outliers with rAMCA at this location (updated the 14/06/16).
We are now developping a python-based toolbox coined pyGMCALab, which is available at this location.