fit_arc_blind

ssapy.correlate_tracks.fit_arc_blind(arc, verbose=False, mode='rv', priors=None, propagator=None, damp=-1, orbitattr=None, optimizerkw={}, lsq=True, factor=2, **kw)[source][source]

Fit an orbit to an arc.

The arc can be arbitrarily long. Orbits are initially fit to the initial two observations and extended using a geomtrically increasing time baseline. If no new observations are inside of a given baseline, the next obs is added. The fit is least-squares, Levenberg-Marquardt, given specified priors and propagator. If the factor is set to 1, the orbit is built out iteratively by satID.

Parameters:
  • arc (array_like (n)) – numpy ndarray containing several fields necessary for describing observations. rStation_GCRF (m), vStation_GCRF (m), time (astropy.time.Time or gps seconds), ra, dec, pmra, pmdec are all required fields.

  • verbose (bool) – True for more verbose output

  • mode (str) – Mode for fitting, must be one of ‘rv’, ‘equinoctial’, or ‘angle’. In the first case, the parameters defining the orbit are taken to be the position and velocity of the object. In the second case, the parameters are taken to be the equinoctial elements. In the third case, the parameters are taken to be the angular position and proper motion of the object, together with its line-of-sight range and velocity.

  • priors (list of objects implementing ssa Prior interface) – any priors to be applied in fitting

  • propagator (ssapy.propagator.Propagator instance) – propagator to use in fitting

  • damp (float) – damp chi residuals according to pseudo-Huber loss function. Default of -1 means do not damp

  • orbitattr (list(str)) – names of additional orbit propagation keywords to guess

  • optimizerkw (dict) – any extra keywords to pass to the optimizer

  • factor (float) – factor for geometrically increasing time baseline (default 2)

  • **kw (dict) – any extra keywords to pass to optimizer.optimize()