FURAX Component Separation
FURAX-CS (FURAX Component Separation) is a Python package designed to benchmark and implement advanced component separation techniques for Cosmic Microwave Background (CMB) analysis. It leverages JAX for high-performance computing on GPUs and implements novel adaptive clustering methods.
This project specifically focuses on comparing:
- FGBuster: parametric component separation (standard).
- FURAX: Adaptive, gradient-based separation with spatially varying spectral parameters.
Furax ADABK
Furax CS is a comprehensive software package designed for Component Separation for the Cosmic Microwave Background (CMB) data analysis. The main tool is the minimizer provided under the name of Furax ADABK which is an adaptive gradient based optimizer specifically designed to handle extremely noise dominated data such as CMB observations and physical bound constraints. The minimizer is orders of magnitude faster than traditional minimizers such as Scipy-TNC and is able to reach lower minima in fewer iterations.
This provides a much easier and faster way to explore the spatial variability of foregrounds and their impact on the CMB recovery.
This has an impact on the estimated r tensor-to-scalar ratio as shown in the figure below where we compare the likelihood profiles obtained with using the KMeans spatial clustering gridding runs and compared with LiteBIRD PTEP-like run obtained using FGBuster using multiresolution spatial clustering.
Installation
1. Prerequisites (JAX)
This package depends on JAX. To enable GPU acceleration (highly recommended), you must install the CUDA version of JAX before installing this package.
For NVIDIA GPUs:
pip install -U "jax[cuda]"
For CPU only:
pip install jax
2. Install Package
First, install the package from PyPi
pip install furax-cs
Some packages are not up to date on PyPi, to install the latest development version, install the requirement files after installing furax-cs:
pip install -r https://raw.githubusercontent.com/CMBSciPol/furax-cs/main/requirements.txt
Documentation
- Quick Start (Python API): Learn how to use the Python API for data loading and running component separation.
- CLI Reference & Workflow: Comprehensive guide on using the command-line interface for the full analysis pipeline.
- Minimization Solvers: Guide to available optimization algorithms (Active Set, L-BFGS, etc.) and programmatic usage.
- Analysis Tools (r_analysis): Detailed documentation for the result analysis and plotting suite.
Development
Running Tests
pytest
Pre-commit Hooks
Ensure code quality before committing:
pre-commit install
pre-commit run --all-files
Metadata
Release files for furax-cs 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| furax_cs-0.1.1.tar.gz | 101.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| furax_cs-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 218.9 kB
Release files / furax_cs-0.1.1.tar.gz
| Download URL | furax_cs-0.1.1.tar.gz |
|---|---|
| Size | 101.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d1d7a03e06707dd485ae5069afcc47fea889a1d8b3e227e7f2df7746cb7bb22b
|
|
BLAKE2b-256 checksum How to use checksums |
7fd76fd2a13389cdee27b173bcecda0a7e328d5f3f02aa6a6879af622da77b22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.
Transparency logRelease files / furax_cs-0.1.1-py3-none-any.whl
| Download URL | furax_cs-0.1.1-py3-none-any.whl |
|---|---|
| Size | 117.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3283293681eebc8d62fc688ae480311a071d376fb6d03429d580f33d9cdf6bcf
|
|
BLAKE2b-256 checksum How to use checksums |
c2cb3d618d9e053fcd499abc718ab6276eaadb1d47b0c0760d135bdd66435288
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 11, 2026.
Transparency log