TrackGauss
- class ssapy.correlate_tracks.TrackGauss(satIDs, data, param, covar, chi2, mode='rv', propagator=None, sigma_points=None, priors=None, orbitattr=None)[source][source]
Bases:
TrackBase
Set of observations to be fit as an object moving through space.
Subclasses TrackBase. This implementation does not fit the entire track simultaneously, but instead approximates past tracklets with a single Gaussian prior on the parameters. This information is then updated with each new observation in a Kalman-filter approach.
- Parameters:
satIDs (see TrackBase) –
data (see TrackBase) –
param (array_like, float) – mean of Gaussian
covar (array_like, float) – covariance of Gaussian
chi2 (float) – chi2 of fit at center of Gaussian
mode (str) – fitting mode to use. One of ‘rv’, ‘angle’, or ‘equinoctial’ parameters have different meanings in these modes
propagator (Propagator instance) – ssa Propagator instance to use for propagation. Default None (Keplerian)
priors (list of Priors instances) – priors used in initially fitting this orbit. Their influence should now be completely recorded in param + covar, but they are recorded here for reference.
Methods Summary
addto
(satid)Add a detection to this track.
at
(t[, rStation, vStation])Get Gaussian approximation of this track at different epoch.
gaussian_approximation
(propagator)Get Gaussian approximation of this track.
update
(t[, rStation, vStation])Move this track to a different epoch.
Methods Documentation
- addto(satid)[source][source]
Add a detection to this track.
This also shifts the track’s epoch to the epoch of the added observation.
- Parameters:
satID (int) – the detection ID of the observation to add to this track
- Return type:
A new TrackGauss, including the additional observation.
- at(t, rStation=None, vStation=None)[source][source]
Get Gaussian approximation of this track at different epoch.
This just copies the track and then updates it to be at the new time.
- Parameters:
t (astropy.time.Time) – epoch for new TrackGauss
rStation (array_like (3)) – position of station at new time (m, GCRF); required if mode == ‘angle’
vStation (array_like (3)) – velocity of station at new time (m, GCRF); required if mode == ‘angle’
- Return type:
Gaussian-approximated track (TrackGauss) at new time.
- gaussian_approximation(propagator)[source][source]
Get Gaussian approximation of this track.
- Return type:
self. No op; this track already is a Gaussian approximation.
- update(t, rStation=None, vStation=None)[source][source]
Move this track to a different epoch.
Does not bother updating if t is different from the current track time by less than one microsecond.
- Parameters:
t (astropy.time.Time) – epoch for new TrackGauss
rStation (array_like (3)) – position of station at new time (m, GCRF); required if mode == ‘angle’
vStation (array_like (3)) – velocity of station at new time (m, GCRF); required if mode == ‘angle’