No project description provided
Project description
cabaret
cabaret is a Python package to simulate astronomical images using the Gaia catalog of stars.
Documentation can be found at cabaret.readthedocs.io.
Installation
You can install cabaret in a Python (>=3.11) environment with
pip install cabaret
or from a local clone
git clone https://github.com/ppp-one/cabaret
pip install -e cabaret
You can test the package has been properly installed with
python -c "import cabaret"
Quick Start
Basic image
To generate an image from RA/DEC coordinates, run:
import cabaret
image = cabaret.Observatory().generate_image(
ra=12.33230, # right ascension in degrees
dec=30.4343, # declination in degrees
exp_time=10, # exposure time in seconds
)
To display the image:
from cabaret.plot import plot_image
plot_image(image, contrast=0.25)
Custom Observatory Configuration
Create a fully customized observatory by defining each component:
from datetime import UTC, datetime
import cabaret
# Define observatory components
site = cabaret.Site(
sky_background=150, # e-/m^2/arcsec^2/s
seeing=1.5, # arcseconds
elevation=2500, # meters
)
telescope = cabaret.Telescope(
focal_length=8, # meters
diameter=1.0, # meters
)
camera = cabaret.Camera(
name="Example Camera",
width=2048, # pixels
height=2048, # pixels
pitch=10, # microns
gain=1, # electrons per ADU
read_noise=6.2, # electrons
)
# Create the observatory
observatory = cabaret.Observatory(
name="My Observatory",
site=site,
telescope=telescope,
camera=camera,
)
# Generate a FITS image with metadata
hdu = observatory.generate_fits_image(
ra=323.362583,
dec=-0.82325,
exp_time=0.5,
dateobs=datetime.now(UTC),
filter_band=cabaret.Filters.G,
seed=42,
)
# Save as FITS file
hdu.writeto("simulated_image.fits", overwrite=True)
Custom Source Lists
You can manipulate the source catalog before generating images:
from astropy.coordinates import SkyCoord
import numpy as np
# Query Gaia catalog
center = SkyCoord(ra=323.362583, dec=-0.82325, unit="deg")
table = cabaret.GaiaQuery.query(
center=center,
radius=camera.get_fov_radius() * 1.5,
filter_band=cabaret.Filters.G,
)
# Filter out bright sources
fluxes = table[cabaret.Filters.G.value].value.data
mask = fluxes < 1e4
filtered_table = table[mask]
# Create custom source list
sources = cabaret.Sources.from_arrays(
ra=filtered_table["ra"].value.data,
dec=filtered_table["dec"].value.data,
fluxes=filtered_table[cabaret.Filters.G.value].value.data,
)
# Generate image with custom sources
image = observatory.generate_image(
ra=center.ra.deg,
dec=center.dec.deg,
exp_time=0.5,
sources=sources,
)
Documentation
Explore the full documentation, API reference, and advanced usage examples at cabaret.readthedocs.io.
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 cabaret-0.4.6.tar.gz.
File metadata
- Download URL: cabaret-0.4.6.tar.gz
- Upload date:
- Size: 502.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b9cd399469e6e81317b4440eef876c23d792808de7987b53e7508ab17fa61d0
|
|
| MD5 |
6237203c8a81b03943bbef38b81d8113
|
|
| BLAKE2b-256 |
63725b42e50beb9969eb1004f8ae2bac86111ab5e4ffe667912b0e7ade398a63
|
Provenance
The following attestation bundles were made for cabaret-0.4.6.tar.gz:
Publisher:
publish.yml on ppp-one/cabaret
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cabaret-0.4.6.tar.gz -
Subject digest:
6b9cd399469e6e81317b4440eef876c23d792808de7987b53e7508ab17fa61d0 - Sigstore transparency entry: 1171841095
- Sigstore integration time:
-
Permalink:
ppp-one/cabaret@f6d2a302b07f1b6235fec2450051a5996bceea7c -
Branch / Tag:
refs/tags/0.4.6 - Owner: https://github.com/ppp-one
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f6d2a302b07f1b6235fec2450051a5996bceea7c -
Trigger Event:
push
-
Statement type:
File details
Details for the file cabaret-0.4.6-py3-none-any.whl.
File metadata
- Download URL: cabaret-0.4.6-py3-none-any.whl
- Upload date:
- Size: 28.4 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 |
df5754e67e0dab9152d34e45748a448c3031473a9515107a614ba3bb49308a24
|
|
| MD5 |
dbdc72e163a0bdc8a326f38e2694f0aa
|
|
| BLAKE2b-256 |
36af0dea68022644b1625b06c99221de5bda542aeee2571cf1e4b5d72aeb821b
|
Provenance
The following attestation bundles were made for cabaret-0.4.6-py3-none-any.whl:
Publisher:
publish.yml on ppp-one/cabaret
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cabaret-0.4.6-py3-none-any.whl -
Subject digest:
df5754e67e0dab9152d34e45748a448c3031473a9515107a614ba3bb49308a24 - Sigstore transparency entry: 1171841097
- Sigstore integration time:
-
Permalink:
ppp-one/cabaret@f6d2a302b07f1b6235fec2450051a5996bceea7c -
Branch / Tag:
refs/tags/0.4.6 - Owner: https://github.com/ppp-one
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f6d2a302b07f1b6235fec2450051a5996bceea7c -
Trigger Event:
push
-
Statement type: