Skip to content

ViSAGE

Interactive 3D visualization for SAGE semi-analytic galaxy formation outputs.

ViSAGE renders dark matter haloes and SAGE galaxies together in a browser-based interactive viewer, powered by PyVista and Trame. It is designed to work directly with the output of SAGE26, and includes guided setup flows for two companion tools: SAGEswarm (PSO calibration) and LightSAGE (lightcone extraction, upstream repo sage-home/sage-lightcone).


Key features

Feature Description
Dual layers Haloes and galaxies rendered simultaneously as world-space gaussian splats
Timeline Scrub, play, pause, and step through every snapshot at 0.1×–5× speeds
Layer controls Toggle visibility, adjust opacity, choose colour-by mode, pick from 27 colormaps
Structure mode Layered galaxies: cold-gas envelope + outer CGM/Hot envelope, sized by SAGE fields
Navigation Fly to halo index, galaxy index, coordinates, or sub-box — focus mode masks everything outside
Tab-aware Focus One button that does the right thing on whatever tab you're in
Selection Double-click a galaxy: ringed with its group, a card with its properties and group, browsing by member / central / nearest / history, and a Find list of presets
HD mode A detailed 3D model of the selected galaxy and its whole group from its SAGE properties — arms, bars, bulges, dust, tidal features, halo gas — ray-marched on the GPU
Multi-model Switch between SAGE flavours of the same sim; overlay two compatible models simultaneously
Lightcone Mode Open a LightSAGE lightcone output in the same Explore UI; the snapshot slider becomes a redshift/time cut over the cone, plus an optional false-colour synthetic-photometry (SED) imaging layer
Launch Mode Install, set up and run SAGE26, LightSAGE or SAGEswarm with big buttons (every setting under All settings), watch each run's progress beside its terminal, and open the result straight in ViSAGE; SAGE26 can run under MPI
Story Mode Author JSON "stories" and play them back as full presentations over the live 3D view — text/media/equation overlays, camera motions, time sweeps
Embedded console Real shell terminal + Python REPL + natural-language SAGE commands in one tab, with multi-session tabs, script loading, and a pop-out window
Output Screenshots (PNG/JPG/TIFF), movies (GIF/MOV/PNG-sequence) at 1–60 fps, 1×/2×/4× supersampling
Camera bookmarks Save / restore / delete arbitrary viewpoints
Multi-CPU loading Snapshot prefetch pool keeps playback smooth
Remote use Trame web server — run on a cluster, view in any browser
Enter to run Every input submits on Enter, equivalent to clicking its action button

Quick example

pip install sage-viewer
visage --par input/millennium.par
# → Open http://localhost:8080

Supported simulations

  • miniMillennium — 62.5 Mpc/h box, 64 snapshots, lhalo_binary trees
  • microUchuu — 96 Mpc/h box, 50 snapshots, lhalo_binary trees

Documentation sections