Skip to content

Fulldome mode

eumovie can render content for digital planetarium systems using the standard fulldome format.

Projection

The output uses azimuthal equidistant fisheye projection, which is the standard master format for digital planetarium systems:

  • The frame is a square image with a circular content area inscribed within it. Corners outside the circle are black.
  • The centre of the circle corresponds to the zenith (straight up into the dome).
  • The edge of the circle corresponds to the horizon (90° from zenith).
  • The mapping between radius and angle is linear — equal angular spacing per pixel from centre to edge.
  • The full dome diameter covers a 180° field of view.

This projection is supported natively by all major fulldome playback systems including Uniview, Digistar, Sky-Skan, and Domeprojection, and is specified in the IPS (International Planetarium Society) fulldome content standard.

Resolutions

Option Frame size Recommended fps Approx. file size (ProRes, 1 min)
--fulldome 4k 4096×4096 30 fps ~7.5 GB
--fulldome 8k 8192×8192 24–30 fps ~30 GB

Output formats

H.265 (default)

eumovie --input TILE.tif --fulldome 4k --fps 30

Encodes with hevc_nvenc (GPU H.265) if available, otherwise falls back to libx264. Suitable for preview and smaller installations.

eumovie --input TILE.tif --fulldome 4k --fps 30 --prores
eumovie --input TILE.tif --fulldome 8k --fps 30 --prores --bits-per-mb 2000
  • Container: .mov
  • Codec: prores_ks, profile 4444
  • Pixel format: yuv444p10le — 10-bit, 4:4:4 chroma, no alpha
  • CPU-encoded — the GPU handles all rendering; only the encode step uses CPU

ProRes 4444 is the standard delivery format for high-end planetarium systems. Most installations require it for final projection. Use --bits-per-mb to control quality vs file size:

--bits-per-mb Quality ~File size (4K, 1 min)
500 Proxy / preview ~3.7 GB
1000 Broadcast (default) ~7.5 GB
2000 High-end master ~15 GB

Camera motion in fulldome

All keyframe parameters (cx, cy, zoom, angle, tilt, bank) work identically in fulldome and flat mode. The camera coordinate definitions are the same — see Keyframes for details.

In fulldome mode, the camera always points toward the dome zenith. Tilt and bank produce perspective foreshortening that, when projected on a dome, gives the audience a sense of the camera leaning or banking over the landscape.

Technical note for operators

The fulldome pipeline in eumovie bypasses the crop/resize stage used in flat mode. The fisheye projection map is computed directly from the full-resolution source image using a single GPU kernel (CuPy ElementwiseKernel), then applied with cv2.cuda.remap. This avoids 2–3 GB of intermediate VRAM buffers that would otherwise be needed for large source images.

The fisheye map pixel coordinates are computed using the standard pinhole camera model with azimuthal equidistant projection:

r = sqrt(px² + py²) / R          (normalised radius, 0=zenith, 1=horizon)
theta = r * 90°                   (angle from zenith)
phi = atan2(py, px)               (azimuth)
direction = (sin θ cos φ, sin θ sin φ, cos θ)

Camera rotations (roll, tilt, bank) are applied to the direction vector before projecting back onto the source image plane.