empyrean.compute_impact_probabilities

compute_impact_probabilities(orbits, end_epoch, methods, body_filter=None)[source]

Run impact-probability detection over a propagation window with one full propagation per supplied UncertaintyMethod.

Parameters:
  • orbits (CartesianOrbits | KeplerianOrbits | CometaryOrbits | SphericalOrbits) – Input orbits with optional covariance and non-gravitational parameters. Same shape empyrean.propagate() accepts.

  • end_epoch (float | Epochs) – End of the propagation window. MJD TDB float or a length-1 Epochs (any time scale — converted to TDB internally).

  • methods (Sequence[UncertaintyMethod | SigmaPoint | MonteCarlo | str | int]) – Which uncertainty methods to run. One full propagation runs per method (in order); the result rows are tagged with the method via the method string column.

  • body_filter (Sequence[Origin | str] | None) – Restrict event monitoring to specific bodies. Pass Origin instances (e.g. [Origin.EARTH, Origin.MOON]) or canonical names. Default monitors every body in the ephemeris.

Return type:

ImpactProbabilities

Returns:

ImpactProbabilities – Quivr table — one row per (method × orbit × body) encounter. See the class for the full column list. method takes "first_order" / "second_order" / "sigma_point" / "monte_carlo".

Notes

Each method’s result is computed with a separate propagation run — different uncertainty backings (linear, second-order, sample cloud) don’t yet share an integration step. The cost scales linearly with len(methods).