adam_core.orbit_determination.orbit_fitter module

class adam_core.orbit_determination.orbit_fitter.OrbitFitter[source]

Bases: ABC

Abstract class for orbit fitting.

abstractmethod initial_fit(object_id: str | LargeStringScalar, observations: OrbitDeterminationObservations, reference_orbit: Orbits | None = None) Tuple[FittedOrbits, FittedOrbitMembers][source]

Initial orbit fit for a single object.

Parameters:

object_id: str | pa.LargeStringScalar

id of the object we are fitting for to be used in the output

observations: OrbitDeterminationObservations

observations to fit, assuming all observations correspond to the same object

reference_orbit: Orbits, optional

Optional warm-start seed (length-1 Orbits) for the fit. When provided, implementations should use it as the starting point for differential correction instead of cold-bootstrapping via IOD. When None, implementations must fall back to their default cold-start behavior (e.g. Gauss IOD) so the API remains backward-compatible for callers that have no seed available.

Returns:

fitted orbit:

one (or zero) orbits fitted to the given input observations

fitted members:

input observations with flags solution and outlier set based on whether the observation was used by the fitter. Residuals are NOT set.