A looped tour of my Iris Nebula, 48 hours of LRGB through a William Optics UltraCat 131, rendered with seiza parallax-video. 62 seconds, no sound.

A finished astrophoto is flat. A star a few hundred light-years away sits on the same plane as the Iris Nebula, 1,300 light-years off. A plate solver already knows which star is which, and Gaia has measured the distance to most of them. Seiza 0.25 puts the two together: seiza parallax-video gives each star its depth back and flies a camera through the result.

For the Iris video above, Seiza found 139,381 stars in the 9595×6346 image and matched 5,929 of them to Gaia. Once the Gaia queries were cached, each render took about 40 seconds (#240).

How it builds the scene

  1. Split. It needs the image as two parts: the stars and the starless nebula, as StarXTerminator produces them with “unscreen”. Give it both, or give it the finished image and Seiza runs StarXTerminator’s rc-astro command itself, if it is installed and licensed.
  2. Solve. The image is plate-solved, and its stars are matched to Gaia DR3 for their distances, with Hipparcos covering the brightest stars Gaia lacks. The distances come from an optional offline dataset (seiza setup --star-distances, every Gaia star to magnitude 16), or from small online queries that Seiza caches.
  3. Place the nebula. The starless image goes at the distance of the catalogued object at the focus point. That comes from a second optional dataset of about 180,000 deep-sky objects (seiza setup --object-distances), or from --distance in parsecs. Stars too faint to match sit at the star field’s median distance, not on the nebula.
  4. Cut out the stars. Each star gets a soft footprint. Where footprints overlap the stars share the light, and light no star claims stays on a background plane. Since 0.25.1 a bright star keeps its whole halo, so no ring of glow drifts away from it.
  5. Lift the galaxies. Catalogued galaxies, which a star remover leaves in the starless image, move to the far field, and the nebula behind them is filled in.
  6. Map the dust. Dust hides the stars behind it, so the star counts show how much light it lets through. As the camera moves, anything behind the nebula dims when it slides behind thicker dust. Since 0.26 you can export that map, paint over it in an image editor, and give it back with --dust-map.

The camera moves but never turns, unless you ask it to. Every change of view comes from moving it, so near stars slide across far ones as they would. Stars swell and brighten as the camera nears them, and fade as it passes.

Tours

A single shot flies toward one point. A tour visits several:

  • --stop lists the places to visit, each with its own zoom, turn and hold.
  • --auto-tour plans a tour itself from the catalogued objects in the field, up to twelve of them.
  • --plan-tour FILE writes that plan to a text file to edit, and --tour-file FILE renders the edited version.
  • --loop ends where it began, so the last frame leads into the first, as in the video above.
  • --overlay labels objects at their own depth, so a label moves with what it marks.

The command-line guide covers every option.

In the apps

Seiza for Mac 0.8 and Seiza for Windows 0.8 add a parallax workspace. They generate a tour, let you edit it with undo, and save it as a file. The Mac exports H.264 or HEVC through Apple’s own encoders. On Windows it is under More options → Parallax video…, exports through Media Foundation, and needs an HEVC encoder installed for HEVC. Both can run a separately installed and licensed StarXTerminator; neither bundles it. Both take a painted dust map as of 0.8.1.

In Python it is seiza.ParallaxVideo, described in the Python guide. The seiza.fyi home page plays the Iris tour.

What to know first

  • Start from 16-bit or float images. At 8 bits a bright star’s core flattens, which can cost it its Gaia match, and smooth nebula shows bands as the camera nears it. Seiza warns when it sees 8-bit input.
  • This is an illustration, not a model. The nebula is one plane at one distance, and faint stars sit at a median. The star distances are real, but a nebula has depth of its own that one image cannot show. Dark clouds are the least certain entries in the object dataset.
  • Labels use the Inter font, which covers Latin and Greek letters only.

Seiza is at 0.27.0. The release post covers the rest of what is new.