pyGMCALab

 

Authors: J. Bobin, J.Rapin, C.Chenot, C.Kervazo
Language: Python
Download: Python
Description: A toolbox for solving Blind Source Separation problems.
Notes:  

 


GMCALab

GMCALab is a Python 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:

\underset{\mathbf{A},~\mathbf{S}}{\text{argmin}}~\|\mathbf{Y}-\mathbf{A}\mathbf{S}\|_2^2+\|\mathbf{\Lambda}\odot\mathbf{S}\|_1,

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.

LGMCA

 

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


LGMCA

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.

GMCALab

 

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

 


GMCALab

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:

\underset{\mathbf{A},~\mathbf{S}}{\text{argmin}}~\|\mathbf{Y}-\mathbf{A}\mathbf{S}\|_2^2+\|\mathbf{\Lambda}\odot\mathbf{S}\|_1,

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.

Blind separation of sparse sources in the presence of outliers

 

Authors: C.Chenot, J.Bobin
Journal: Signal Processing, Elsevier
Year: 2016
Download: Elsevier / Preprint

 


 

Abstract

 

Blind Source Separation (BSS) plays a key role to analyze multichannel data since it aims at recovering unknown underlying elementary sources from observed linear mixtures in an unsupervised way. In a large number of applications, multichannel measurements contain corrupted entries, which are highly detrimental for most BSS techniques. In this article, we introduce a new {\it robust} BSS technique coined robust Adaptive Morphological Component Analysis (rAMCA). Based on sparse signal modeling, it makes profit of an alternate reweighting minimization technique that yields a robust estimation of the sources and the mixing matrix simultaneously with the removal of the spurious outliers. Numerical experiments are provided that illustrate the robustness of this new algorithm with respect to aberrant outliers on a wide range of blind separation instances. In contrast to current robust BSS methods, the rAMCA algorithm is shown to perform very well when the number of observations is close or equal to the number of sources.