PSF Guard is an image grading and quality screening tool for N.I.N.A. astrophotography with the Target Scheduler plugin. Grade subs visually in a fast web UI, screen whole nights for clouds and occlusion automatically, and write every decision back to the scheduler — so it re-captures what you rejected.
Star count and HFR miss ruined frames. Measured on a real session: a tree line occluding the field left star counts within normal variation, and HFR stayed flat until the frame was more than 60% blocked. A thin cloud veil dimmed every star by 37% — and the frame was still Accepted by conventional grading. PSF Guard screens with signals that are local, photometric, and temporal — classical statistics calibrated on real sessions.
Web UI or desktop app with auto-stretched previews, zoom and pan, side-by-side comparison with synchronized zoom, batch operations, keyboard-driven workflow, and full undo/redo.
Grid-based spatial metrics and cross-frame differential photometry catch occlusion, small clouds, thin veils, and errant light — with annotated diagnostic images explaining every verdict.
Every grade lands in the Target Scheduler database, so acquired-image counts stay accurate and the scheduler re-shoots what you rejected.
Move rejected frames and their sidecars out of the directory tree your stacking software scans. Idempotent, recorded, and fully reversible — restore never overwrites.
Sync projects, captured images, and grades between the telescope's database and your grading machine — pull to refresh, grade locally, push grades back.
A port of N.I.N.A.'s detector plus the HocusFocus detector, with Gaussian/Moffat PSF fitting, annotated star maps, and residual visualizations.
Every flagged frame can be rendered as an annotated diagnostic: the analysis grid is overlaid on the image, colored by the signal that fired, with the verdict and metrics in the caption. You never have to trust a black box.
Desktop app, Docker container, standalone binary, or Fedora RPM — one tool, wherever your images live.
Native installers for Windows (.msi / NSIS setup with CLI on
PATH), macOS (.dmg, Apple Silicon), and Linux
(.deb / AppImage).
For NAS boxes and home servers. The database mount must be writable — grading writes back to it.
docker run -d -p 3000:3000 \
-v /path/to/schedulerdb.sqlite:/data/database.sqlite \
-v /path/to/images:/images:ro \
ghcr.io/theatrus/psf-guard:latest
Single binary for scripting and servers. Screen a night in one command:
psf-guard screen-fits ./LIGHT --annotate ./diag
psf-guard server schedulerdb.sqlite ./images
Prebuilt packages for Fedora 43/44 with a psf-guard.service
systemd unit for running the grader as a daemon.
sudo dnf install ./psf-guard-*.x86_64.rpm
sync commands can merge
entire databases between machines. It's careful — dry-run flags everywhere —
but it's also young software.