## Sparse non-negative matrix factorization with nGMCAlab

nGMCA (non-negative Generalized Morphological Component Analysis, **[1]**) aims at performing non-negative matrix factorization (NMF) of sparse sources, i.e. solving the following problem:

where is the data matrix to factorize, is a mixing matrix, a source matrix, and the sparsity parameter matrix. In the nGMCA framework, this parameter matrix is automatically chosen so as to deal with Gaussian noise contamination. A stand-alone nGMCA function for simple use and comparisons can be downloaded here: nGMCA stand-alone function.

In **[2]**, this framework was extended in order to deal with sparsity in a possibly redundant transformed domain (with the transformation matrix) either with an analysis formulation:

or a synthesis formulation:

The **Matlab** toolbox which which was used in both **[1]** and** [2]** in order to perform the benchmarks can be downloaded here: nGMCAlab Toolbox. An equivalent

**Python**toolbox is also available: pygmca. These toolbox include an implementation of 1D and 2D redundant wavelet transforms.

Please cite one or both of the references below if you use these functions in a publication. These are development toolboxes, which may be imperfect. Please feel free to contact us if you have any problem.

## Publications

**[1]**Jérémy Rapin, Jérôme Bobin, Anthony Larue, Jean-Luc Starck.*Sparse and Non-negative BSS for Noisy Data*, IEEE Transactions on Signal Processing, 2013.IEEE Transactions on Signal Processing, vol. 61, issue 22, p. 5620-5632, 2013. Available here.**[2]**Jérémy Rapin, Jérôme Bobin, Anthony Larue, Jean-Luc Starck.*NMF with Sparse Regularizations in Transformed Domains*, SIAM Journal on Imaging Sciences (accepted), 2014. Available here.