TrackBase

class ssapy.correlate_tracks.TrackBase(satIDs, data, volume=None, mode='rv', propagator=None, orbitattr=None)[source][source]

Bases: object

Set of observations fit together as an orbital track.

This class represents a set of observations that are being modeled as the motion of a single object through space.

Parameters:
  • satIDs (array_like) – list of detection IDs considered part of this track

  • data (array_like) – observations that could be part of this track. Observations that are actually part of this track are specified in satIDs. data is must contain a number of fields used in fitting, like ra, dec, obsPos, obsVel, and time.

  • volume (float) – the volume in 6-D orbital element space in which objects could be found, needed to normalize false-positive vs. new satellite odds default to a very rough number only applicable for RV parameterization

  • propagator (ssa Propagator instance) – the propagator to use when propagating the orbit. Default to None (Keplerian)

satIDs[source]

the detection IDs that are part of this Track

Type:

array_like, int

data[source]

observations that could be part of this track; see constructor

Type:

array_like

volume[source]

the prior volume in 6-D parameter where satellites may be observed

Type:

float

times[source]

the GPS times at which this object was observed

Type:

array_like, float

mode[source]

the type of parameterization to use to fit the track one of ‘rv’, ‘angle’, ‘equinoctial’

Type:

str

lnprob[source]

the log probability of this association of observations to an orbit contains contributions both from priors and likelihood.

Type:

float

Attributes Summary

lnprob

meant to be used for lazy evaluation of an object attribute.

Methods Summary

gate(arc[, return_nwrap])

Compute chi^2 that this track could be associated with arc.

predict(arc0[, return_sigma, return_nwrap])

Predict the location and uncertainty of this object at future times.

propagaterdz(param[, arc0, return_nwrap])

Propagate param to times and locations specified in arc0.

update(time[, rStation, vStation])

Shift this track to a new time.

Attributes Documentation

lnprob[source]

meant to be used for lazy evaluation of an object attribute. property should represent non-mutable data, as it replaces itself.

Methods Documentation

gate(arc, return_nwrap=False)[source][source]

Compute chi^2 that this track could be associated with arc.

Parameters:
  • arc (array_like, structure array) – must contain fields: time: future time (GPS) (float) rStation_GCRF: GCRF position of observer at future time (3, float) vStation_GCRF: GCRF velocity of observer at future time (3, float) ra: observed ra (float) pmra: observed proper motion in ra (float) dec: observed dec (float) pmdec: observed proper motion in dec (float) dra: uncertainty in ra (float) ddec: uncertainty in dec (float) dpmra: uncertainty in proper motion in ra (float) dpmdec uncertainty in proper motion in dec (float)

  • return_nwrap (bool) – if True, also return the standard deviation of the number of orbits the object could have made at the time of observation.

Returns:

  • chi2, nwrapsig

  • chi2 (float) – The chi-squared implied by associating this observation with this track.

  • nwrapsig (float) – if return_nwrap, the standard deviation of the number of orbits the object could have made at the time of observation

predict(arc0, return_sigma=False, return_nwrap=True)[source][source]

Predict the location and uncertainty of this object at future times.

Parameters:
  • arc0 (array_like, structure array) – must contain fields: time: future times (GPS) (float) rStation_GCRF: GCRF position of observer at future time (3, float) vStation_GCRF: GCRF velocity of observer at future time (3, float)

  • return_sigma (bool) – if True, also return the sigma points used to compute the future covariance

  • return_nwrap (bool) – if True, also return the number of orbital wrappings of the sigma points.

Returns:

  • mean, covar, fsigma

  • mean (array_like (4, n)) – ra, dec, dra/dt*cos(dec), ddec/dt at future times (rad, rad/s)

  • covar (array_like (4, 4, n)) – covariance of mean parameters at future times

  • fsigma (array_like (4, 13, n)) – 13 sigma points used to compute covar fsigma[:, 0, :] is identical to mean.

propagaterdz(param, arc0=None, return_nwrap=False)[source][source]

Propagate param to times and locations specified in arc0.

Parameters:
  • param (array_like) – parameters corresponding to self.mode for orbit to propagate

  • arc0 (arary_like, must contain observation fields) – array containing fields specifying times and observer locations to which track fit should be propagated.

  • return_nwrap (bool) – if True, additionally return nwrap

Returns:

  • array([rr, pmrr, dd, pmdd, nwrap])

  • rr (ra at future times, radians)

  • dd (dec at future times, radians)

  • pmrr (proper motion in ra at future times, rad / s)

  • pmdd (proper motion in dec at future times, rad / s)

  • nwrap (number of orbits completed. Only provided if return_nwrap) – is True.

update(time, rStation=None, vStation=None)[source][source]

Shift this track to a new time.

Only implemented for numerical propagators where time-shifting can provide a big speed up.