The 0.18 post left the core at 0.18.13. A month later it is at 0.27.0. Most of that work went into stacking: more of the steps PixInsight’s WBPP offers, done faster. There is also colour calibration, solving for phone photos, a much more complete FITS reader, and a new way to show a finished image, which has its own post.

The GitHub release pages list only files. Each “Release” pull request linked below describes what changed and how it was measured.

Stacking

The 0.18.15 to 0.18.20 releases added the controls a careful stack needs: affine or quadratic registration, Lanczos-3 interpolation, local background normalization, inverse-noise weighting, VNG or MHC demosaicing, and Bayer drizzle. In the apps they are all opt-in.

They also made stacking faster. On 126 one-shot-colour frames of M45, seiza stack went from 3 min 16 s to 39 s, with a byte-identical result. WBPP took about 28 minutes on the same machine (#194).

Version 0.19.1 drizzles the stack onto a grid up to four times finer, as WBPP’s DrizzleIntegration does. Bayer frames drizzle without being demosaiced first, and the output’s WCS is scaled to the finer grid (#205):

DataSeizaWBPP (PixInsight 1.9.5)
M45, 126 colour frames, drizzle 1×6 min 58 s for the whole run; FWHM 2.69, SNR 3566 min 54 s integration + 2 min 41 s drizzle, after registration; FWHM 2.67, SNR 357
Sh2-230, 62 Hα frames, drizzle 2×1 min 23 s for the whole run; FWHM 1.78, SNR 2137 min 5 s for the whole run; FWHM 1.77, SNR 212

Version 0.27.0 lets separate filter stacks share one alignment grid and WCS with --reference-image, so the filter stacks come out already aligned to one another. Each filter keeps its own normalization. --reference auto now tries up to five lights before choosing one (#245–#248).

Colour from Gaia

seiza color-calibrate, new in 0.20.0, sets an image’s colour balance from the Gaia DR3 colours of its own stars. It queries Gaia online or reads an optional offline catalog, and it reads a PixInsight astrometric solution from an XISF file as WCS (#208).

Given the same image as PixInsight’s SPCC, Seiza chose red and blue gains of 1.626 and 1.349, against SPCC’s 1.552 and 1.393. The pull request traces the gap. Given the same star fluxes, the two colour models agree within 0.7%. The difference is in the fluxes: SPCC measures stars with PSF photometry, and Seiza with apertures, which read the stars’ colour slightly differently.

Faster throughout

The 0.23 releases went through the slow paths, and the output is bit for bit what it was before:

  • Reintegration of the M45 set: 2 min 7 s down to 47 s, and peak memory at --drizzle 2 from 11.6 GB to 8.6 GB (#228).
  • Flat masters, now built on every core: 25.5 s down to 7.3 s (#226).
  • SIMD loops: stacking about 1.5× faster, radial-basis background models up to 3.75× (#227).
  • Faster debayering, stretching and FITS previews (#232), and faster drizzle (#231).

Phone photos and sky maps

Version 0.21.0 solves photos straight from a phone. It turns the image upright from its EXIF orientation, reads the time and place it was taken, and estimates the blind-solve scale from the lens’s 35 mm focal length (#210, #212). Seiza now finds the blind index beside the star catalog, which cut one phone photo’s blind solve from 20.2 s to 5.5 s (#230).

Version 0.22.0 draws constellation figures and adds --sky-map to the solve commands (#214). --annotate now draws FITS and XISF images stretched and in colour.

More of FITS

Version 0.24.0 reads the parts of the FITS standard that capture programs seldom write but archives often do: signed 16-bit and 64-bit integer images, BLANK, HIERARCH keywords and image extensions (#234). It also reads tile-compressed images, the format fpack writes, with Rice, gzip and PLIO compression and quantized floats (#236). Every decoded sample was checked against astropy, using the OrbitalCommons test corpus. FITS HISTORY and COMMENT cards now survive processing, and the XISF reader covers XISF 1.0 Revision 1.

Fly-through videos

Versions 0.25 and 0.26 add seiza parallax-video. It places each star in a solved image at its Gaia distance and the nebula at its own, then flies a camera through the scene. The parallax video post covers it.

The desktop apps

Seiza for Mac 0.8.1 and Seiza for Windows 0.8.1 carry most of this into the apps:

  • 0.7.3: wider XISF support, which the Windows notes say was checked against PixInsight 1.9.5.
  • 0.7.4: “Remove transients after stacking”, on by default, which rejects satellite and aircraft trails.
  • 0.7.5: automatic reference choice and the new stacking controls, all opt-in.
  • 0.8.0: a parallax video workspace with generated and editable tours.
  • 0.8.1: one shared alignment image for all filter stacks, protection against a stack overwriting its own source frames, and painted dust maps for parallax videos.

seiza.fyi

The web solver runs the 0.27 core:

  • Phone photos solve upright, with scale, time and site taken from the photo’s EXIF data (#97).
  • Overlays now have caps. An iPhone frame of Cassiopeia used to carry 17,559 annotations, most of them faint galaxies smaller than a pixel; it now shows the 200 most notable deep-sky objects and 60 named stars (#98).
  • Constellation figures are drawn by default (#99).
  • FITS uploads accept tile-compressed files and image extensions.
  • The home page plays a parallax tour of the Iris Nebula.

Get it

  • Mac: brew install --cask theatrus/seiza/seiza-mac, or the signed and notarized DMG. macOS 15 or later.
  • Windows: the signed x64 MSI. Windows 11 24H2 or later.
  • Command line: brew install theatrus/seiza/seiza, cargo install seiza-cli, or the deb, rpm and Windows packages on the 0.27.0 release.
  • Python: pip install seiza (PyPI).
  • Rust: the seiza crate.

The same engine runs the stacking and astrometry in PSF Guard. The companion repositories are on the Software page.