Svenesis CosmicView 3D
Version 1.0.0 – GPL-3.0-or-later
🚧 Public preview. Not yet submitted to the official Siril Script Repository. Download directly from GitHub.
Places your plate-solved astrophoto inside an interactive 3D model of the Milky Way or the Local Group. The script automatically determines whether your image field is a galactic target (within 150,000 light-years) or a cosmic one (beyond), and selects the appropriate scene accordingly – showing either the Milky Way spiral arms with Earth marked in the Orion Spur, or a view of neighboring galaxies in the Local Group.
CosmicDepth 3D answers "how far apart are the objects in my image from each other?" – it keeps your photo as the backdrop and extends depth sticks behind it to show the true distances between annotated objects within that single field of view.
CosmicView 3D answers "where does my image sit in the galaxy or universe?" – it discards the image plane as a backdrop and instead places your photo as a textured tile inside a full 3D model of the Milky Way or Local Group, so you can see which spiral arm it points into and how far from Earth it reaches.
Two Auto Modes
- Galactic mode (< 150,000 ly) – shows the Milky Way spiral arms, galactic disk, bulge, and the viewing ray from Earth to the image field
- Cosmic mode (≥ 150,000 ly) – switches to a Local Group view showing neighboring galaxies
3D Scene Layout
- Image integration: plate-solved WCS maps the image to a textured rectangle positioned in galactic coordinates
- Five spiral arms: Perseus, Sagittarius, Scutum-Centaurus, Norma, and the Orion Spur
- Galactic disk (~500 representative stars) and bulge (~180 stars)
- Earth marked at ~26,000 ly from the galactic center
- Viewing ray from Earth through the image field, indicating the line of sight
- Rotatable embedded scene via Plotly and QWebEngineView
Distance Resolution
Priority chain:
- Local JSON cache (90-day TTL, stored at
~/.config/siril/svenesis_comicview_cache.json) - SIMBAD
mesDistancetable - Redshift × Hubble law calculation (z < 0.5)
- Type-based median fallback (clearly labeled)
Object Selection
Color-coded taxonomy matching Annotate Image and CosmicDepth 3D: galaxies, emission and reflection nebulae, planetary nebulae, clusters, supernova remnants, dark nebulae, HII regions, named stars, asterisms, and quasars. A target disambiguation dialog handles ambiguous SIMBAD results.
User Interface
- 3D Map tab – embedded rotatable Plotly scene
- Objects tab – sortable table with distance and galactic coordinate data
- Log tab – diagnostic output
- Help dialog – informational tabs
- Dark-themed PyQt6 GUI
Export
- HTML – standalone interactive Plotly scene
- PNG – static export at the current camera angle via Plotly / kaleido
- CSV – full object table with galactic XYZ coordinates, distances, and sources
Workflow
Load and plate-solve an image in Siril → launch the script from Processing → Scripts → automatic distance resolution and mode selection → drag to rotate, scroll to zoom, hover for details → export as HTML, PNG, or CSV.
Dependencies
numpy, PyQt6, matplotlib, astropy, astroquery, plotly, kaleido; optional: PyQt6-WebEngine (in-app repair if missing)