coronalyze
coronalyze is a JAX-based Python library for post-processing coronagraphic direct imaging data. It is designed as a companion to coronagraphoto, providing analysis tools for simulated and (maybe) real coronagraphic observations.
Key Features
- SNR Estimation: Mawet et al. (2014) aperture photometry SNR with small-sample corrections
- PSF Subtraction: KLIP/PCA and reference differential imaging
- Planet Injection: Forward modeling for yield simulations
- JAX-Native: Fully JIT-compilable, differentiable, and GPU-accelerated
Installation
pip install coronalyze
(Note: You may need to install JAX separately to match your specific hardware acceleration requirements.)
Quick Start
import coronalyze as cz
import jax.numpy as jnp
# Calculate SNR at planet positions using Mawet et al. (2014)
snr_values = cz.snr(residual_image, planet_positions, fwhm=4.5)
# Or use the estimator pattern for efficient batch processing
estimator = cz.snr_estimator(fwhm=4.5)
snr_values = estimator(residual_image, planet_positions)
Pairing with coronagraphoto
import coronagraphoto as cg
import coronalyze as cz
# Generate image with coronagraphoto
obs = cg.Observation(scene, coronagraph, settings)
obs.create_images()
science_image = obs.get_total_image()
# Get the star model for subtraction
star_model = obs.get_star_image()
# Subtract and calculate SNR
residual = cz.subtract_star(science_image, star_model)
snr_values = cz.snr(residual, planet_positions, fwhm=4.5)
Design Philosophy
Like its companion coronagraphoto, coronalyze provides primitives rather than black-box functions. You compose the analysis pipeline that fits your science case.
Documentation
Full documentation is available at coronalyze.readthedocs.io.
Metadata
Release files for coronalyze 1.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 | |
|---|---|---|---|
| coronalyze-1.1.1.tar.gz | 23.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| coronalyze-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.1 kB
Release files / coronalyze-1.1.1.tar.gz
| Download URL | coronalyze-1.1.1.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bcd62ff5fb36feab8c83c5258c1a7473295ee3c34be86e88a017acdf38a93f23
|
|
BLAKE2b-256 checksum How to use checksums |
8dddc4b9f44699f42780225a4044f6576e82e4b5a6c5ae262404d7adc8987a4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 26, 2026.
Transparency logRelease files / coronalyze-1.1.1-py3-none-any.whl
| Download URL | coronalyze-1.1.1-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bd09e915578882c713d1379b2fd289095736994007c2abd1e6a664df68538aac
|
|
BLAKE2b-256 checksum How to use checksums |
7e1d6d9c74ffee240e71371de7b8216e14a41102b3dfe0787c4beba921a295d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 26, 2026.
Transparency log