BROOM is a Python package for blind component separation and Cosmic Microwave Background (CMB) data analysis.
You can install the base package using:
pip install cmbroom
This installs the core functionality.
If you plan to use the few functions that depend on pymaster, you must install it separately (version >=2.4).
You can install cmbroom along with its optional pymaster dependency by running:
pip install cmbroom[pymaster]
However, pymaster requires some additional system libraries to be installed before running the above command.
sudo apt update
sudo apt install build-essential python3-dev libfftw3-dev libcfitsio-dev libgsl-dev
brew install fftw cfitsio gsl
A detailed introduction to the parameters and simulation pipeline is available in:
- tutorials/tutorial_satellite.ipynb
- configs/config_demo.yaml — Example configuration file
Component separation methods are covered in:
Power spectrum estimation is demonstrated in:
For partial-sky, ground-based experiment analysis, see:
🔗 Full online documentation:
👉 https://alecarones.github.io/broom/
If you use broom package please cite Carones et al., 2026
If you use the following methodologies please cite the corresponding papers:
- ILC or NILC: Bennett et al., 2003, Delabrouille et al., 2009
- cMILC: Remazeilles et al., 2021, Carones et al., 2024
- MC-ILC or MC-NILC: Carones et al., 2023
- PILC: Fernández-Cobos et al., 2016
- cPILC: Adak, 2021
- GILC, GNILC, GPILC: Remazeilles et al., 2011, Planck Collaboration, 2016
- foreground diagnostic: Carones et al., 2024
- power spectrum computation: Gorski et al., 2005, Zonca et al., 2019, Alonso et al., 2019
This package relies on several scientific Python libraries:
