Skip to content
egaftonPublic

About

SIREN is a lightweight, instrument-agnostic simulator for astronomical guide cameras.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

SIREN

SIREN (Sky Image Rendering ENgine) is a lightweight, instrument-agnostic simulator for astronomical guide cameras. It generates realistic, on-the-fly images that respond dynamically to telescope pointing, seeing, detector properties, and sky conditions—allowing complete testing and development of autoguiding and acquisition systems without on-sky telescope and instrument access.

SIREN was originally developed as the simulated camera (internally known as wvagsim) of the WEAVE Autoguider, part of the WEAVE Project. It has since been generalised and released openly for use by the wider astronomical community.

Why SIREN?

Realistic astronomical imaging simulators are surprisingly rare. Most existing systems provide only minimal simulation modes based on static images and do not respond to telescope motions or sky conditions. SIREN enables:

  • Development of guiding algorithms without telescope access
  • Automated regression tests for acquisition and guiding software
  • Instrument commissioning rehearsals on laptops and desktops
  • Stress-testing under clouds, poor seeing, bright backgrounds, or sparse fields
  • Pipeline development for centroiding, PSF extraction, and autoguiding

If you need to test a guiding or acquisition system, SIREN gives you a realistic, controllable sky on your desktop.

How to Cite

If you use SIREN in academic work, please cite:

Gafton, E. et al. (2026). The WEAVE acquisition and guiding software: pattern recognition-based acquisition and multi-fibre guiding, submitted to RASTI.

Features

Realistic synthetic images

  • Generates star fields based on the Gaia DR3 (or a custom) catalogue
  • Configurable PSF models (Gaussian, Moffat, or write your own)
  • Seeing drawn from fixed or random distributions
  • Accurate flux scaling from magnitudes

Full astrometric pipeline

  • Transforms ICRS mean coordinates to detector coordinates
  • Includes optical distortions, field rotation, and pixel geometry
  • Accounts for telescope pointing, offsets, dithering, and tracking errors
  • Differential atmospheric refraction included by default

Detector and instrument effects

  • Bad pixels, bad columns
  • Dust donuts and flat-field structure
  • Read noise, Poisson noise, bias
  • Configurable gain, pixel scale, image size

Mode-dependent behaviour

SIREN supports multiple “camera modes”, enabling simulation of different classes of instruments:

  • MOS mode: renders synthetic fibre images at specified positions on the detector
  • Imaging mode: renders full-frame detector images with realistic artefacts
  • Custom modes: easily defined by the user via Python classes

Drop-in compatibility layer (optional)

A communication interface emulating the behaviour of real instrument control systems (e.g., CORBAs) can be enabled for environments that require protocol compatibility.

Getting started

To quickly get started with SIREN, first clone the repository from GitHub,

git clone https://github.com/egafton/siren.git
cd siren

and then (provided you have Docker installed on your computer) execute the command

xhost +local:
docker compose run --build siren

which will build, run and attach to a Docker container with all necessary software already installed. The xhost command allows the display of GUIs (such as matplolib plots) from inside the container on your host machine.

Basic Usage

You can launch a simple GUI for SIREN using:

./gui.py

You can specify the instrument, telescope pointing, Sky PA, exposure time and FWHM, and SIREN will show a realistic preview of an exposure taken under the given observing conditions.

Configuration

To be implemented

Advanced Features

To be implemented

Dynamic scenes

To be implemented

Custom PSFs

To be implemented

Plugin system for telescope and instrument models

SIREN can be extended with modules describing specific instruments, distortion models, or noise characteristics.

To be implemented

Roadmap

  • Support for time-dependent clouds and transparency variations
  • Modules for common telescopes and instruments (apart from WHT/WEAVE)
  • Web-based real-time visualisation
  • A standard test suite of “challenge fields” for algorithm benchmarking

Contributing

Contributions are welcome!

Please see CONTRIBUTING.md for details on coding style, testing, and submitting pull requests.

If you identify bugs or have feature requests, open an issue on GitHub.

License

SIREN is released under the MIT License (see LICENSE.md).

About

SIREN is a lightweight, instrument-agnostic simulator for astronomical guide cameras.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages