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
- 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-astrocommand itself, if it is installed and licensed. - 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. - 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--distancein parsecs. Stars too faint to match sit at the star field’s median distance, not on the nebula. - 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.
- 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.
- 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:
--stoplists the places to visit, each with its own zoom, turn and hold.--auto-tourplans a tour itself from the catalogued objects in the field, up to twelve of them.--plan-tour FILEwrites that plan to a text file to edit, and--tour-file FILErenders the edited version.--loopends where it began, so the last frame leads into the first, as in the video above.--overlaylabels 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.