Skip to main content

FURAX Component Separation

PyPI version License: MIT pre-commit

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.

Runtime Comparison

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.

r Likelihood Comparison


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


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)

Source distribution for furax-cs 0.1.1
File Size Uploaded
furax_cs-0.1.1.tar.gz 101.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for furax-cs 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page