Tool for generating synthetic elliptical ring structures
Project description
AstroDonut
AstroDonut is a Python package for generating synthetic elliptical ring structures, ideal for simulating protoplanetary or circumstellar disks such as HL Tauri.
Requirements
-
The package should be able to generate elliptcial rings(donuts) to simulate disk structures around young stellar objects (YSOs) to test telescope configurations, plan observations, and develop data reduction pipelines, astronomers need realistic yet flexible synthetic models of these disks.
-
The user should be able to define ring parameters such as:
- Semi-major axis (
a1) - Semi-minor axis (
b1) - Eccentricity (
ecc) - Inclination (
inc) - Output array size (
width,height)
- Semi-major axis (
-
The model should reflect radial intensity variation, where pixels closer to the center appear brighter, following a Gaussian distribution.
-
The package should be able to combine multiple rings and stack them together, to model more complex disk structures.
-
The package should offer a preview of the model with the help of
matplotlib, plotting the model to allow for a quick visual inspection of the model. -
The package should be able to export the model to a FITS format for use with observatory simulators.
Dependecies
-
numpy: For the numerical calculations for generating the donut. -
matplotlib: To plot the preview of the created model. -
astropy: Employed to export the model into a FITS file.
User stories
Main use cases
Shannon is designing an observing program for the ELT to study planet formation. She wants to test if the telescope can detect gaps and rings in HL Tauri–like systems. Using AstroDonut, she generates a synthetic disk with five elliptical rings of varying radii, eccentricities, and inclinations. She exports the disk to a FITS file and uses ScopeSim to simulate ELT observations under realistic conditions.
Benjamin is writing a data processing pipeline for a simulator that will mimic ELT’s camera response. To test the pipeline, Benjamin needs realistic test data in FITS format. He uses AstroDonut to generate synthetic multi-ring disks, exports them to FITS, and runs them through the simulator pipeline. This helps him to identify edge cases where image artifacts or noise could affect disk detectability.
Edge use cases
During a parameter sweep, Lando sets ecc=1.5 by mistake. AstroDonut immediately raises a ValueError with a message:
"Eccentricity must be < 1 for physical ellipses."
This helps Lando correct the input without generating unphysical models or debugging cryptic errors.
Andreas wants to simulate whether a 0.01 AU-wide gap in a disk can be resolved by the ELT. They use AstroDonut to generate a single ultra-narrow elliptical ring (with a tiny b1 value). They then simulate the observation and process it to test if such a narrow feature can be detected.
Documentation
https://astrodonut.readthedocs.io/en/latest/
Pseudo code examples
import astrodonut as ad
ring1 = ad.generate_donut( a1=100, b1=60, ecc=0.2, inc=30, width=500, height=500 )
ring2 = ad.generate_donut( a1=150, b1=90, ecc=0.3, inc=30, width=500, height=500 )
combined_rings = ad.combine_donuts([ring1, ring2])
ad.preview(combined_rings)
ad.export_to_fits(combined_rings, 'combined_rings.fits')
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 astrodonut-0.1.0.tar.gz.
File metadata
- Download URL: astrodonut-0.1.0.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea2130f0adfdce6b2eed2d2c76e4d595a3fe53120d833b9171e00787217f8451
|
|
| MD5 |
f81837cdf52a4e9615abffdd526fb1de
|
|
| BLAKE2b-256 |
fe0473a1406f5f6673eb35c8f6661610da266a7b4df583228119facaaf716427
|
File details
Details for the file astrodonut-0.1.0-py3-none-any.whl.
File metadata
- Download URL: astrodonut-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf75b6fbd1a9ecd04ac0a608bdb8fd91acb0e02dc49ba17e22fe3c73979d4f3f
|
|
| MD5 |
9fd39d5d3fe0d04358549de9ca032d0e
|
|
| BLAKE2b-256 |
e8001746c096d9e178d569c759ef765e1dd2c675978d8961930c3001e70eca3d
|