Celestially is a Python package to generate astronomical finding charts for given celestial coordinates (RA/Dec). It uses astropy, matplotlib, and astroquery to fetch sky images and overlay markers for the target position.
- Generate a finding chart for any sky position
- Input: RA/Dec (ICRS, J2000) or CSV file with multiple targets
- Output: PNG/JPG/PDF finding chart image
- Mark target with crosshair
- Plot proper motion vector if available
- Add image scale bar in arcseconds
- Customizable crosshair and scale bar
pip install git+https://github.com/naamach/celestiallyfrom celestially import create_finding_chart
# Example coordinates (RA, Dec in degrees)
ra = 210.8023
dec = 54.3489
create_finding_chart(ra, dec, output_file='chart.png')Generate a chart for a single object:
celestially-create 210.8023 54.3489 --output chart.png --fov 5 --survey "DSS2 Red"Generate charts for multiple objects from a CSV:
celestially-create --csv targets.csv --fov 5 --survey "DSS2 Red"The CSV file should have columns:
name: Object namera: Right Ascension (degrees)dec: Declination (degrees)pmra: Proper motion in RA (mas/yr, optional)pmdec: Proper motion in Dec (mas/yr, optional)
Example:
name,ra,dec,pmra,pmdec
StarA,210.8023,54.3489,10.5,-5.2
StarB,211.1234,54.5678,,
--output: Output image filename (default: finding_chart.png)--survey: Sky survey to use (default: DSS2 Red)--fov: Field of view in arcminutes (default: 3.5)--sexagesimal: Input coordinates in sexagesimal format--csv: CSV file with columns: name,ra,dec[,pmra,pmdec]--crosshair-len: Crosshair arm length in pixels (default: 15)--crosshair-gap: Crosshair center gap half-width in pixels (default: 4)--scale-bar: Scale bar length in arcsec (default: auto)--format: Output image format (png, jpg, pdf, etc.)
MIT
The package name "celestially" is a play on "Where's Wally" and "celestial," reflecting its purpose: creating finding charts to help you locate a specific star in an astronomical image.
This package was developed with the assistance of GitHub Copilot.