Satellite Tracks
PSF Guard uses Seiza to solve an exposure, projects cached orbital elements through the exact observing interval and site, and tests the nearby FITS pixels for a matching trail. The overlay separates orbital predictions from pixel evidence, and the sequence grader recommends rejection only when both sources confirm a trail.
You can identify satellite tracks in an image
- Open an image in the detail grader and navigate to the Satellite tracks section.
- Click Identify satellite tracks, or press the T key. PSF Guard solves the image if no valid WCS solution is cached.
- Toggle the Track identifiers option to compare the paths. Red, yellow, and cyan dashed lines represent high, possible, and low-risk orbital predictions respectively, while a solid green line shows the fitted pixel path.
- Click a named result to open the external satellite information page containing orbital and launch details.
The system requires timing and observing site metadata
Topocentric orbital propagation requires the observer's latitude, longitude, elevation, and the UTC shutter interval. PSF Guard accepts explicit DATE-BEG and DATE-END header bounds, or derives the interval from the exposure duration and DATE-AVG. If no midpoint is available, the system uses DATE-OBS combined with EXPTIME or EXPOSURE.
Supported site metadata aliases include SITELAT/SITELONG, LAT-OBS/LONG-OBS, and OBSGEO-B/OBSGEO-L. If time, site, WCS, or orbital elements are missing, the analysis abstains rather than reporting the frame as clean.
The tracking system is validated with real exposure data
These screenshots use a real 60-second G-filter California Nebula exposure from October 2025. Seiza 0.10 matched 101 stars at 1.90 arcsec RMS. A historical TLE snapshot from the IAU SatChecker archive predicted four high-risk crossings:
- CZ-4B R/B [48624]: This matched at 57.8 sigma and 100% path continuity, approximately 30 pixels from the raw prediction.
- STARLINK-3093 [49141]: This matched at 4.2 sigma and 100% continuity, approximately 76 pixels from the raw prediction.
- Two additional high-risk predictions did not match a pixel trail and remain as prediction-only warnings.
A fainter exposure from the preceding night independently matched STARLINK-5450 [54778] at 5.8 sigma and 99.7% continuity, approximately 43 pixels from the orbital path. Both dry-run regrade checks flag the affected frames for rejection due to verified pixel-aligned trails, and named candidates link to external satellite details for follow-up.
Pixel alignment uses a downsampled matched-filter search
The Seiza matcher downsamples the frame to a maximum of 2,048 pixels on its longer axis, estimates the local noise level, and performs a coarse-to-fine matched-filter search along a narrow corridor surrounding the predicted orbital path. A valid match requires at least 2.0 sigma robust line contrast, 65% path continuity, and 50% usable sample coverage. Tracks that lack sufficient data for evaluation are reported as unevaluated rather than as confirmed non-detections.
The system records the fitted polyline segments, offsets, angle deltas, physical ADU contrast, significance, continuity, coverage, and search radius while preserving the original orbital path. The downsampled image is shared among all candidates, which means processing scales with the number of predicted crossings rather than searching the entire image for arbitrary lines.
The system calculates risk and updates frame grades
The risk value is a geometric and illumination heuristic ranging from 0 to 1 based on the sunlight fraction, range, elevation, and clipped path length. It does not represent an apparent magnitude. Possible and high-risk orbital predictions cap the quality score at 0.75 to flag the frame for review, but prediction alone does not trigger a rejection. A high-risk candidate must also have a confirmed pixel-aligned trail before the score is capped at 0.35 and a rejection with the reason [Auto] Pixel-aligned bright satellite trail is proposed. All proposed rejections require manual review and explicit confirmation.
You can configure offline and reproducible satellite tracking
The on-demand action in the UI and the Scan Quality action on the server can resolve and download current or historical orbital data. Timestamped snapshots are cached on disk up to a default limit of 5 GiB. Opening the Sequence Analysis tab or running the screen-fits --regrade-db command are cache-only operations that select the closest stored snapshot for each exposure. For fixed historical or reproducible analysis, you can configure a local OMM JSON or TLE file in the settings:
"astrometry": {
"data_dir": "/var/lib/psf-guard/seiza",
"satellite_elements": "historical.tle"
}
Per-image results retain the FITS fingerprint, the exact WCS, the timing and site headers, the orbital source with its payload SHA-256 hash, the alignment algorithm version, and the Seiza dependency versions. Replacing the source image, WCS solution, or alignment software invalidates the cached result.