Sparse non-negative matrix factorization with nGMCAlab
nGMCA (non-negative Generalized Morphological Component Analysis, ) 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 , 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  and  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.
-  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.
-  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.