OpticalBearingMeasurement

giant.ufo.measurements:

class giant.ufo.measurements.OpticalBearingMeasurement(observed_measurement, camera_model, image, observer_location, covariance=None, identity=None)[source]

This class implements a concrete measurement model for optical bearing measurements presented as pixel/line pairs.

This class serves both as a functional measurement model and as an example for how to define your own measurement model. Because of the power of the CameraModel classes in GIANT, this largely just serves as a wrapper around the CameraModel that describes the camera the measurements are being generated from. As such, at initialization the camera model must be specified, as well as the image the measurement came from.

Note that this class does not implement the ability to extract measurements from an image, just the ability to model them. GIANT provides lots of capabilities for extracting measurements from images in the ufo and relative_opnav modules that you could then feed into this class for modelling in the GIANT filter.

Parameters:
  • observed_measurement (ndarray) – The observed measurement as a length 2 array of x, y in pixels

  • camera_model (CameraModel) – The camera model that represents the camera

  • image (OpNavImage) – The image that the measurement was extracted from

  • observer_location (State) – The location of the camera in the base dynamics frame when the image was captured

  • covariance (ndarray | None) – The measurement covariance matrix as a 2x2 numpy array or None. If this is None then the identity matrix will be assumed. The units should be pixels squared.

  • identity (Hashable | None) – A unique identity

property identity: Hashable

The identity of this measurement.

This is used primarily by the tracker to link measurement back to observation ids

property observed: ndarray

The observed measurement as a length 2 numpy array

property covariance: ndarray

The measurement covariance matrix as a 2x2 numpy array.

The units of this should be pixels squared for the main diagonal.

property observer_location: State

The location of the camera when this measurement was captured in the base Dynamics frame.

property time: datetime

The time when this measurement was captured as a datetime object.

Summary of Methods

compare_residuals

This compares residuals computed using these measurement models.

compute_jacobian

Computes and returns the change in the predicted measurement given a change in the state.

predict

Predicts the pixel location of an observation for the given state of the target and the location of the camera at the time the target was observed.