adam_core.orbit_determination.fitted_orbits module

adam_core.orbit_determination.fitted_orbits.assign_duplicate_observations(orbits: FittedOrbits, orbit_members: FittedOrbitMembers) Tuple[FittedOrbits, FittedOrbitMembers][source]

Assigns observations that have been assigned to multiple orbits to the orbit with the most observations, longest arc length, and lowest reduced chi2.

Parameters:

orbit_members (~thor.orbit_determination.FittedOrbitMembers) – Fitted orbit members.

Returns:

  • filtered (~thor.orbit_determination.FittedOrbits) – Fitted orbits with duplicate assignments removed.

  • filtered_orbit_members (~thor.orbit_determination.FittedOrbitMembers) – Fitted orbit members with duplicate assignments removed.

adam_core.orbit_determination.fitted_orbits.drop_duplicate_orbits(orbits: FittedOrbits, orbit_members: FittedOrbitMembers, subset: List[str] | None = None, keep: Literal['first', 'last'] = 'first') Tuple[FittedOrbits, FittedOrbitMembers][source]

Drop duplicate orbits from the fitted orbits and remove the corresponding orbit members.

Parameters:
  • orbits (~thor.orbit_determination.FittedOrbits) – Fitted orbits.

  • orbit_members (~thor.orbit_determination.FittedOrbitMembers) – Fitted orbit members.

  • subset (list of str, optional) – Subset of columns to consider when dropping duplicates. If not specified all the columns specifying unique state are used: time, x, y, z, vx, vy, vz.

  • keep ({'first', 'last'}, default 'first') – If there are duplicate rows then keep the first or last row.

Returns:

  • filtered (~thor.orbit_determination.FittedOrbits) – Fitted orbits without duplicates.

  • filtered_orbit_members (~thor.orbit_determination.FittedOrbitMembers) – Fitted orbit members without duplicates.

class adam_core.orbit_determination.fitted_orbits.FittedOrbits(table: Table, **kwargs: int | float | str)[source]

Bases: Table

orbit_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

object_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

coordinates

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

arc_length

A column for storing 64-bit floating point numbers.

num_obs

A column for storing 64-bit integers.

chi2

A column for storing 64-bit floating point numbers.

reduced_chi2

A column for storing 64-bit floating point numbers.

iterations

A column for storing 64-bit integers.

success

A column for storing booleans.

status_code

A column for storing 64-bit integers.

to_orbits() Orbits[source]

Convert fitted orbits to orbits that can be used by a Propagator.

Returns:

orbits – Orbits.

Return type:

~adam_core.orbits.Orbits

schema: ClassVar[pa.Schema] = orbit_id: large_string not null object_id: large_string coordinates: struct<x: double, y: double, z: double, vx: double, vy: double, vz: double, time: struct<days: int64 (... 106 chars omitted)   child 0, x: double   child 1, y: double   child 2, z: double   child 3, vx: double   child 4, vy: double   child 5, vz: double   child 6, time: struct<days: int64, nanos: int64>       child 0, days: int64       child 1, nanos: int64   child 7, covariance: struct<values: large_list<item: double>>       child 0, values: large_list<item: double>           child 0, item: double   child 8, origin: struct<code: large_string>       child 0, code: large_string arc_length: double not null num_obs: int64 not null chi2: double not null reduced_chi2: double not null iterations: int64 success: bool status_code: int64
class adam_core.orbit_determination.fitted_orbits.FittedOrbitMembers(table: Table, **kwargs: int | float | str)[source]

Bases: Table

orbit_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

obs_id

A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.

residuals

A column which represents an embedded quivr table.

Parameters:
  • table_type – The type of the table to embed.

  • nullable – Whether the column can contain null values.

  • metadata – A dictionary of metadata to attach to the column.

solution

A column for storing booleans.

outlier

A column for storing booleans.

schema: ClassVar[pa.Schema] = orbit_id: large_string not null obs_id: large_string not null residuals: struct<values: list<item: double>, chi2: double, dof: int64, probability: double>   child 0, values: list<item: double>       child 0, item: double   child 1, chi2: double   child 2, dof: int64   child 3, probability: double solution: bool outlier: bool