A deterministic, sub-millisecond classifier for LSST DIASource short-arc geometry and curvature diagnostics.
Overview
FGOC is an ultra-lightweight Python module for rapid, geometry-based analysis of short-arc astrometric detections. It operates directly on RA/DEC/MJD triplets and provides early, deterministic diagnostics useful for LSST Prompt Processing pipelines.
FGOC performs no orbit fitting internally; it can operate on RA/DEC/MJD triplets (astrometry-only mode) or consume successive preliminary orbit-fit state vectors (orbit-fit diagnostic mode, Eq.4–6 exact).
Deterministic — No orbit fitting, no optimization, no randomization. Ultra-fast — Typically 0.3–0.8 ms per arc. Non-invasive — Reads only DIASource-level RA/DEC/MJD data. Reversible & isolated — Safe for commissioning and shadow-mode execution. Pipeline-compatible — Designed to sit before or alongside the LSST MOPS Pre-Linker.
| Output | Description |
|---|---|
fgoc_flag |
Boolean indicator of geometric anomaly |
fgoc_score |
Normalized geometry–curvature score |
focal_axis |
Estimated great-circle axis (unit vector) |
curvature_sign |
Sign of local curvature (+1 or −1) |
- Python >= 3.9
- NumPy >= 1.20
pip install numpy Clone this repository or copy fgoc.py into your project.
Quick Start
from fgoc import fgoc
ra = [10.0, 10.002, 10.004] dec = [20.0, 20.001, 20.002] mjd = [60000.0, 60000.01, 60000.02]
flag, score, axis, sign = fgoc(ra, dec, mjd)
print("FGOC flag:", flag) print("FGOC score:", score) print("Axis:", axis) print("Curvature sign:", sign)
Typical runtime: 0.3–0.8 ms for arcs of 3–5 detections.
Method Summary
FGOC works entirely in spherical focal-plane geometry:
- Convert RA/DEC to unit vectors
- Construct segment directions
- Estimate great-circle axis
- Compute angular residuals
- Determine curvature sign
- Produce normalized score
No iteration, fitting, or dynamical modeling is used.
Outputs
| Output | Description |
|---|---|
fgoc_flag |
Boolean anomaly indicator |
fgoc_score |
Geometry–curvature anomaly score |
focal_axis |
Estimated great-circle axis |
curvature_sign |
+1 or −1 |
LSST Integration Notes
FGOC is designed for:
Prompt Processing commissioning tests
Astrometric stability checks
Shadow-mode anomaly detection
Pre-linking prioritization
Early triage of unusual tracklets
Suggested placement: DIASource → FGOC → Pre-Linker → MOPS FGOC does not modify:
DIASource tables
Pre-Linker heuristics
Alert Production logic
Orbit fitting routines
Repository Structure fgoc/ ├── fgoc.py ├── README.md ├── LICENSE └── .gitignore
Please cite:
- ASCL record: ascl:2512.003
- ADS bibcode: 2025ascl.soft12003L
- Zenodo DOI (concept; all versions): 10.5281/zenodo.18091564
- Zenodo DOI (v1.0.0): 10.5281/zenodo.18091565
- ORCID: https://orcid.org/0009-0001-1233-701X
@misc{2025ascl.soft12003L,
author = {Lâu, Thiat-uí},
title = {FGOC: Focal-Geometry and Curvature Classifier},
howpublished = {Astrophysics Source Code Library, ascl:2512.003},
year = {2025},
month = dec,
eid = {ascl:2512.003},
url = {https://ascl.net/2512.003}
}@software{Lau_FGOC_2025,
author = {Lâu, Thiat-uí},
title = {FGOC: Focal-Geometry and Curvature Classifier},
year = {2025},
publisher = {Zenodo},
doi = {10.5281/zenodo.18091564},
url = {https://doi.org/10.5281/zenodo.18091564}
}FGOC is intentionally designed as an external, non-invasive, LSST-compatible module.
It does not modify any Rubin/LSST data products, tables, schemas, or pipeline stages.
Instead, FGOC operates strictly as an advisory geometric–curvature classifier that can be:
- run beneath DIASource,
- consumed by Prompt Processing (AP) notebooks,
- optionally used by MOPS Pre-Linker as a soft-priority signal,
- ignored without side effects by any LSST subsystem.
FGOC does not overwrite any LSST fields,
does not require any changes to AP/MOPS logic,
and does not depend on Rubin-internal data models or proprietary software.
This design ensures:
- full compatibility with LSST Data Management (DM),
- zero operational risk to AP or Alert Production,
- zero impact on MOPS orbit linking,
- easy evaluation within the Rubin Science Platform (RSP),
- and straightforward future integration if LSST chooses to adopt FGOC.
Rubin Observatory and the LSST Project are granted
perpetual, unrestricted MIT-licensed rights to use, modify, integrate, or ignore FGOC at any time.
FGOC (Focal-Geometry and Curvature Classifier) — including the core algorithm, numerical heuristics, scoring logic, and the implementation published in this repository — is released under the MIT License, which grants Rubin Observatory, LSST Data Management, and all LSST Science Collaborations unrestricted and perpetual rights to use, modify, distribute, integrate, and deploy the software.
The author provides the following additional Patent Non-Assertion Guarantee:
“Regardless of the existence or future outcome of any patent application related to geometric–curvature classification methods, the author hereby irrevocably agrees not to assert any patent claims against Rubin Observatory, the LSST Project, or any Rubin/LSST-affiliated institutions for the use, implementation, modification, evaluation, or deployment of FGOC as released under the MIT License.”
MIT License
Copyright © 2025 Lâu Thiat-uí
Lâu Thiat-uí
a8864666@gmail.com
FGCC / FGOC — Patent Pending
(Patent pending does not restrict the MIT-licensed FGOC implementation nor the Non-Assertion guarantee above.)