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 shapeempyrean.propagate()accepts.end_epoch (
float|Epochs) – End of the propagation window. MJD TDB float or a length-1Epochs(any time scale — converted to TDB internally).methods (
Sequence[UncertaintyMethod|SigmaPoint|MonteCarlo|GaussianMixture|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
methodstring column.Each entry may be a
SigmaPoint/MonteCarlo/GaussianMixturedataclass, and that entry’s own parameters are carried through to the engine for that method —MonteCarlo(n_samples=100_000, seed=7)draws 100 000 samples from that seed, andGaussianMixture(threshold=0.5, max_depth=4, components_per_split=5)configures the mixture splitter. Parameters are per entry: methods in the same call do not share them.The
UncertaintyMethodenum, its wire string, and a raw integer tag select the same method with engine defaults.A non-default
SigmaPoint(n_sigma=...)/SigmaPoint(samples_per_plane=...)is rejected by the engine: the canonical 2N+1 unscented set is parameter-free, so those legacy knobs accept only their default values. The rejection surfaces as a raised error rather than a silently reinterpreted run.body_filter (
Sequence[Origin|str] |None) – Restrict event monitoring to specific bodies. PassOrigininstances (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.
methodtakes"first_order"/"second_order"/"sigma_point"/"monte_carlo"/"auto"/"gaussian_mixture".
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).Row counts are not comparable across methods. The analytic methods emit one row per detected close approach, while Monte-Carlo emits at most one row per body.