Graphical Interface#

AstroVOX is a single window: a square, interactive 3D viewport on the left and a controls column on the right. The controls column is organized into the sections below, top to bottom.

Cube metadata#

Name, telescope/simulation origin, cube type (PPP/PPV/PVP/VPP), field of view with physical unit, spectral resolution with unit, and quantity name and unit — pre-filled from the file’s own header/attrs for FITS/HDF5, editable for any cube.

Transfer function#

Independent Vmin/Vmax range sliders, and Linear, Log, or Power (with an adjustable gamma) scaling of the volume’s color and opacity mapping, plus a colormap selector.

Camera and orientation#

Free rotation via mouse/trackpad, or snap the view to a fixed X-Y, Y-Z, or X-Z plane.

Visual aesthetics#

Toggles for mini orientation axes, main axes labels, tick marks and labels, grid lines, colorbar, scale bar, and cube outline (with selectable line style and thickness).

Animation#

Independent azimuth (horizontal) and elevation (vertical) auto-rotation, each with its own play/stop control and adjustable angular velocity.

Export#

Record a rotating fly-around to video at a chosen frame rate, or save the current view as a static frame in a chosen image format. A blinking on-frame indicator and elapsed timer show while a recording is in progress.

2D Projection / Moment 0#

Computes and displays a 2D projection in a separate window:

  • For a PPP cube, a projection along the volume’s current line of sight (the camera orientation at the moment the projection is computed).

  • For a PPV/PVP/VPP cube, a real moment-0 map — the cube summed along its spectral axis and scaled by the spectral resolution.

The window has its own controls (independent of the main viewport): spatial resolution and projected quantity unit, Vmin/Vmax, scale, colormap, interpolation, plot theme, zoom, and export. A FITS PPV cube with a valid WCS renders real sky-coordinate axes (RA/Dec) via astropy.visualization.wcsaxes.

Light/dark theme#

A theme toggle restyles the whole interface, and a one-click reset returns to the drop-zone landing page.