Skip to content

CMBSciPol/MICMAC

Repository files navigation

Minimally Informed CMB MAp foreground Cleaning: MICMAC

Documentation: https://minimally-informed-cmb-map-constructor-micmac.readthedocs.io/en/latest/index.html drawing

MICMAC Logo, credits: Ema Tsang King Sang

Pixel implementation of the non-parametric component separation of Leloup et al. (2023), as described in Morshed et al. (2024).

Installation

The easiest way to install and use micmac is the following

  • clone the repo
    git clone https://github.com/CMBSciPol/MICMAC && cd MICMAC
    
  • install micmac
    python -m pip install .
    or, for development,
    python -m pip install -e .

The tutorials and tests make use of additional Python libraries not installed by default, to install the full version of micmac with those libraries use:

python -m pip install .[full]

Note: this package uses the JAX library, hence can be run on GPUs. If you run on GPUs or TPUs install JAX by following the official installation guide.

How to use micmac

You will find in the tutorials directory notebooks showcasing how to use micmac.

Note:

  • The package performs highly expensive computations, we advise to allow for a sufficiently large number of cores.
  • If you fork the repository and want to commit some changes, you may want to use pre-commit:
    pip install pre-commit
    pre-commit install
    When committing with pre-commit, your changes will probably be reformatted, you must then re-add them and re-commit.

License

This code is released under the GPLv3 license, which can be found in the LICENSE file.

Contact

For any solicitation, please contact morshed at apc.in2p3.fr or rizzieri at apc.in2p3.fr.

Citation

If you use micmac, please consider citing:

@article{Morshed:2024fow,
    author = "Morshed, Magdy and Rizzieri, Arianna and Leloup, Cl\'ement and Errard, Josquin and Stompor, Radek",
    title = "{Pixel domain implementation of the minimally informed CMB map foreground cleaning method}",
    eprint = "2405.18365",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.CO",
    doi = "10.1103/PhysRevD.110.103521",
    journal = "Phys. Rev. D",
    volume = "110",
    number = "10",
    pages = "103521",
    year = "2024"
}
@article{Leloup:2023vkb,
    author = "Leloup, Cl\'ement and Errard, Josquin and Stompor, Radek",
    title = "{Nonparametric maximum likelihood component separation for CMB polarization data}",
    eprint = "2308.03412",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.CO",
    doi = "10.1103/PhysRevD.108.123547",
    journal = "Phys. Rev. D",
    volume = "108",
    number = "12",
    pages = "123547",
    year = "2023"
}