Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cabaret-0.4.2.tar.gz (502.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cabaret-0.4.2-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

Details for the file cabaret-0.4.2.tar.gz.

File metadata

  • Download URL: cabaret-0.4.2.tar.gz
  • Upload date:
  • Size: 502.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cabaret-0.4.2.tar.gz
Algorithm Hash digest
SHA256 89ad998bcb8490e042ccd8b9ea15d6a7c9060bb2b6b31c976a7b4e3ca5c03c98
MD5 133aa73fe61d0c7dea955c1c3ce0235b
BLAKE2b-256 39198293b21c50d34e3ed65e93d618f9be89b8f86afc1460243ca64c1da1e747

See more details on using hashes here.

Provenance

The following attestation bundles were made for cabaret-0.4.2.tar.gz:

Publisher: publish.yml on ppp-one/cabaret

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cabaret-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: cabaret-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 28.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cabaret-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aa2b3f7081227c93490c38d4834b2fdbcba0d05c3b4c3d329ee26946b0bd1d62
MD5 bd2a6899e4b045037eebba5d5637b666
BLAKE2b-256 bf6fa790d9c5f4a15886f1b7590360d1232863fda2425e1b70a9b14ed4a2e9bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cabaret-0.4.2-py3-none-any.whl:

Publisher: publish.yml on ppp-one/cabaret

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page