Authors: J. Bobin
Language: IDL
Download: IDL
Description: The scripts required to compute the CMB map from WMAP and Planck data


Local-generalised morphological component analysis is an extension to GMCA. Similarly to GMCA it is a Blind Source Separation method which enforces sparsity. The novel aspect of LGMCA, however is that the mixing matrix changes across pixels allowing LMCA to deal with emissions sources which vary spatially.

Running LGMCA on the WMAP9 temperature products requires the main script and a selection of mandatory files, algorithm parameters and map parameters.



Authors: J. Bobin
Language: Matlab and Python
Download: Python | Matlab
Description: A toolbox for solving Blind Source Separation problems.



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:

\mathbf{Y} = \mathbf{A}\mathbf{S},

where \mathbf{Y} is the data matrix, \mathbf{S} is the source matrix, and \mathbf{A} is the mixing matrix. The goal of blind source separation is to retrieve \mathbf{A} and \mathbf{S} 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.

Please check out the project's GitHub page.

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).
  • Robust BSS in transformed domains with tr-rGMCA . 

 We are now developping a python-based toolbox coined pyGMCALab, which is available at this location.