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: Matlab | Python
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.

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.




Authors: A. Woiselle, J.L. Starck and M.J. Fadili
Language: Matlab
Download: Mac OSX | Windows
Description: A code for fast 3D curvelet transform and reconstruction.
Notes: Documentation: jmiv2010.pdf

Fast Curvelet Transform Version 1.0

Description F-CUR3D is a software, based on the MATLAB package, which contains routines for the Fast 3D Curvelet transform and reconstruction. The F-CUR3D documentation is available in PDF format.

See also the "3D curvelet algorithm description", and examples .

F-CUR3D is available for Windows and MAC.   Publications Papers related to the software:




Authors: F. Lanusse, A. Rassat,and J.-L. Starck
Language: C++ (with IDL wrapper)
Download: MRS3D_v1.0b.tar.gz
Description: A code for performing 3D spherical wavelet transforms on the sphere.
Notes: Requires Healpix installation.

Description MRS3D is based on two packages, IDL and Healpix. MRS3D can be used only if these two packages have been installed. MRS3D contains IDL and C++ routines for 3D spherical wavelet transform on the sphere .

Source code and more information are available here. For more information, please contact Francois Lanusse (

Publications Paper related to the software:




Authors: M. Kilbinger
Language: C
Download: nicaea_2.7.tgz
Description: Numerical routines to calculate cosmology and weak-lensing quantities.

nicaea [ni'kaia]: NumerIcal Cosmology And lEnsing cAlculationsNice coat of arms

Martin Kilbinger, CEA Saclay, Service d'Astrophysique (SAp), France


nicaea is a C-code providing numerical routines to calculate cosmology and weak-lensing quantities and functions from theoretical models of the large-scale structure. nicaea is the base of the cosmology module of the CosmoPMC package.


Get the latest version nicaea_2.7.tgz. A readme file (types .rst, .html, .pdf and other) is included in the package. New features in version 2.7 (Feb 2017):

  • New lensing projection types: extended Limber, spherical-sky prefactor, second-order Limber, full projection (Kilbinger et al. 2017, arXiv:1702.05301)
  • Photometric redshift errors (so far supported Gaussian with second Gaussian for outliers)
  • Modification of halomodel: mass function now normalized to physical volume (new division by a^3)
  • Added CMB normalization A_s
  • Added options to lensingdemo

For older versions of nicaea please contact me (martin.kilbinger at Note that v2.6 was skipped, the previous released version is 2.5


There is no dedicated paper that describes nicaea. To reference nicaea, please use the following publication: arXiv:0810.5129, in which a something that resembles the current version of nicaea has been used.


Martin Kilbinger
Karim Benabed (error propagation, code design)
Jean Coupon (HOD, halomodel)
Henry J. McCracken (HOD)
Liping Fu (decomp_eb)

Please feel free to send questions, feedback and bug reports to If you want to be added to the nicaea mailing list, to get updates about new versions and bug-fixes, send me a mail to

CosmoPMC (cosmology sampling with Population Monte Carlo [PMC])
camelus (Model for weak-lensing peak counts)
athena (tree code for second-order correlations)
reduced-shear corrections

Last updated February 2017.