GPU Powered CMB Parametric Component Seperation using Furax and JAX
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file furax_cs-0.1.1.tar.gz.
File metadata
- Download URL: furax_cs-0.1.1.tar.gz
- Upload date:
- Size: 101.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1d7a03e06707dd485ae5069afcc47fea889a1d8b3e227e7f2df7746cb7bb22b
|
|
| MD5 |
8c59ce94d3dbcf76aa12be51c771fdfa
|
|
| BLAKE2b-256 |
7fd76fd2a13389cdee27b173bcecda0a7e328d5f3f02aa6a6879af622da77b22
|
Provenance
The following attestation bundles were made for furax_cs-0.1.1.tar.gz:
Publisher:
python-publish.yml on CMBSciPol/furax-cs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
furax_cs-0.1.1.tar.gz -
Subject digest:
d1d7a03e06707dd485ae5069afcc47fea889a1d8b3e227e7f2df7746cb7bb22b - Sigstore transparency entry: 940740217
- Sigstore integration time:
-
Permalink:
CMBSciPol/furax-cs@972a6a3886da0036291190b12e6cd69eaf903dfb -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/CMBSciPol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@972a6a3886da0036291190b12e6cd69eaf903dfb -
Trigger Event:
release
-
Statement type:
File details
Details for the file furax_cs-0.1.1-py3-none-any.whl.
File metadata
- Download URL: furax_cs-0.1.1-py3-none-any.whl
- Upload date:
- Size: 117.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3283293681eebc8d62fc688ae480311a071d376fb6d03429d580f33d9cdf6bcf
|
|
| MD5 |
0e0814bce27080c708da824b5623b59a
|
|
| BLAKE2b-256 |
c2cb3d618d9e053fcd499abc718ab6276eaadb1d47b0c0760d135bdd66435288
|
Provenance
The following attestation bundles were made for furax_cs-0.1.1-py3-none-any.whl:
Publisher:
python-publish.yml on CMBSciPol/furax-cs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
furax_cs-0.1.1-py3-none-any.whl -
Subject digest:
3283293681eebc8d62fc688ae480311a071d376fb6d03429d580f33d9cdf6bcf - Sigstore transparency entry: 940740223
- Sigstore integration time:
-
Permalink:
CMBSciPol/furax-cs@972a6a3886da0036291190b12e6cd69eaf903dfb -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/CMBSciPol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@972a6a3886da0036291190b12e6cd69eaf903dfb -
Trigger Event:
release
-
Statement type: