[New Tool] FGOC: Sub-millisecond Geometric Classifier for Early Anomaly / ISO Detection (ASCL Submitted)

Hi all,

I’d like to share a lightweight geometric–curvature diagnostic tool that may be useful for LSST Prompt Processing, astrometric validation, and early investigations of unusual short-arc motion:

FGOC — Focal-Geometry and Curvature Classifier

A deterministic, sub-millisecond classifier operating directly on DIASource short arcs.

GitHub: GitHub - a8864666-rgb/fgoc: FGOC: Focal-Geometry and Curvature classifier for early identification of non-Keplerian and interstellar trajectories in LSST short-arc astrometry.
(ASCL entry submitted)

Overview

FGOC is a minimal Python module that performs geometry-based analysis on 2–5 point short arcs using only RA/DEC/MJD. It introduces no changes to existing LSST AP or MOPS logic:

  • No orbit fitting
  • No sampling
  • No optimization
  • No external dependencies beyond NumPy

It is intended as a fast, deterministic, side-effect-free diagnostic layer for:

  • early anomaly flagging
  • potential non-Keplerian / ISO-like motion
  • astrometric stability checks
  • shadow-mode commissioning tests
  • pre-linking prioritization

FGOC is stateless, reversible, and safe to run alongside existing Prompt Processing components.

What FGOC Computes

From a short arc (2–5 DIASource detections), FGOC provides:

  • fgoc_flag — Boolean geometric anomaly indicator
  • fgoc_score — Normalized geometry–curvature score
  • focal_axis — Estimated great-circle axis
  • curvature_sign — +1 or −1

Typical runtime: 0.3–0.8 ms per arc on a single CPU core.

Design Philosophy

FGOC is intentionally minimal:

  • single file (fgoc.py)
  • single dependency (NumPy)
  • does not modify DM schemas, DIASource tables, or Pre-Linker heuristics
  • geometry only; no dynamical modeling

This makes it suitable for commissioning experiments, prompt diagnostics, or shadow-mode evaluations.

Example
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(flag, score, axis, sign)

Intended Integration Point
DIASource → FGOC → Pre-Linker → MOPS
FGOC does not modify:

  • DIASource tables
  • Pre-Linker logic
  • Alert Production
  • orbit-fitting routines

It operates strictly as an optional diagnostic layer.

ASCL Status & Citation

The code has been submitted to the Astrophysics Source Code Library (ASCL).
Until an ID is assigned, please cite as:

Lâu Thiat-uí (2025),
FGOC: Focal-Geometry and Curvature Classifier, ASCL (submitted).

If anyone is working on Prompt Processing commissioning, astrometric validation, or short-arc anomaly diagnostics, feedback would be greatly appreciated.
Happy to adapt FGOC if there are specific DM/MOPS testing use cases.

Thanks,
Lâu Thiat-uí

Update (Nov 30, 2025)

A Zenodo preprint with a permanent DOI is now available:

:link: Real-Time Identification of Interstellar Objects with a Focal-Geometry Orbital Classifier for the LSST Era

This preprint corresponds to the manuscript submitted to the AAS journals (Manuscript ID: AAS71533) and provides a stable, citable reference for LSST/Rubin community testing, validation, and potential integration into Prompt Processing or MOPS workflows.