The last seiza check-in ended at 0.8.1 with a promise: PSF Guard integration was next. Five days and four minor versions later, seiza is at 0.12. PSF Guard now uses it to solve and stack images, and Seiza has native Mac and Windows apps.
Live stacking
The new seiza-stacking
crate does linear image stacking — calibration with bias, dark,
and flat masters (and tools to build them), drift-tolerant registration,
meridian-flip handling, and provenance tracked through the whole pipeline.
The stack stays linear f32 FITS; stretching is display-only.
The incremental LiveStacker engine accepts
frames one at a time as they come off the camera and the stack updates
additively — the same engine serves batch and live use, from the CLI, from
Python, and over the C ABI. Color composition supports RGB, LRGB
(including a new additive super-luminance mode), and narrowband palettes
from mono channel stacks.
Several new crates handle image processing and file formats: seiza-stretch (a parameterized GHS/MTF/percentile
display pipeline), seiza-background (automatic gradient extraction —
fit, then subtract or divide), seiza-deconvolution (experimental, conservative linear-image restoration with support for masked inputs), and seiza-xisf (XISF reading and
Float32 writing for use with PixInsight).
Who streaked my frame?
The other new subsystem: seiza-satellites.
Give it a solved image and its capture time, and it predicts which
satellite tracks crossed the field during the exposure. A rolling, zstd-compressed mirror of orbital elements lets it look up
the elements for a frame you shot months ago and identify its trail by name.
The matcher also handles trails with large orbital offsets, so slightly stale
elements can still match.
Two native apps, one engine
Seiza now has native desktop apps, both driven by the same Rust engine
through the new unified seiza-cabi C ABI crate:
- Seiza for Mac — a native Swift FITS viewer and plate solver: browse folders of frames with thumbnails, stretch live with a reorderable stack editor, subtract gradients, deconvolve, blind-solve locally with no uploads, and export with overlays. Quick Look previews included.
- Seiza for Windows — a WinUI 3 viewer and solver with GPU-accelerated pan and zoom, per-channel color rendering, background plate solving with star, deep-sky, and motion overlays, and built-in catalog install and repair.
The CLI, Python bindings, C ABI and desktop apps use the same engine.
Plate solving and stacking in PSF Guard
PSF Guard 0.5 shipped the piece promised last week: on-demand seiza plate solving with a whole new grading dimension built on it. Astrometry quality grading classifies solve evidence by which solver stages actually ran, then flags frames that are off-target, jumped, or drifting — with a solved-pointing scatter plot showing every frame’s actual position against the target:

The satellite work plugs in too: on-demand satellite track identification over graded frames, resolving historical catalogs as needed.
PSF Guard also builds stack previews from your accepted frames — per-channel, rebuilt incrementally with live progress, inspectable at full resolution — then composes them into LRGB and narrowband color previews with editable processing: palette, stretch, seiza background extraction, and opt-in deconvolution. That’s the hero image above — a Foraxx-palette SHO preview of the North America Nebula, composed entirely inside PSF Guard from graded mono stacks. When you’d rather finish elsewhere, a take-out export hands your graded lights to any stacking pipeline.
PSF Guard also dropped OpenCV entirely. A new pure-Rust seiza-imgproc crate reimplements the needed
primitives with OpenCV-exact semantics — verified bit-identical — which
deleted the heaviest native dependency and then made the N.I.N.A.-style
HocusFocus detector more than twice as fast through bit-exact hot-path
rewrites. Same numbers, half the wait, no C++.
Everything is on GitHub: seiza,
seiza-mac,
seiza-win, and
psf-guard — with binaries on each
repo’s releases page, seiza 0.12 on
crates.io and
PyPI, and the hosted demo still at
seiza.fyi.