giant.relative_opnav.relnav_class.RESULTS_DTYPE

giant.relative_opnav.relnav_class.RESULTS_DTYPE = dtype([('predicted', '<f8', (3,)), ('measured', '<f8', (3,)), ('type', '<U3'), ('observation date', '<M8[us]'), ('landmark id', '<i8'), ('target position', '<f8', (3,)), ('target name', '<U64'), ('target body', '<U64')])

The numpy structured datatype used to package most RelNav observables.

For an overview of how structured data types work in numpy, refer to https://numpy.org/doc/stable/user/basics.rec.html

The following table describes the typical purpose of each field. Occasionally these conventions may not be followed, in which case it will be clearly documented in the documentation for the RelNav type.

Field

Type

Description

predicted

3 element double

The predicted observable based on the a priori state knowledge. For most bearing type measurements, only the first 2 components of the array are used and are (x, y) or (column, row) in units of pixels. For most vector measurements (3DP) all 3 components are used and are (x, y, z) in kilometers.

measured

3 element double

The measured observable from the image. For most bearing type measurements, only the first 2 components of the array are used and are (x, y) or (column, row) in units of pixels. For most vector measurements (3DP) all 3 components are used and are (x, y, z) in kilometers.

type

3 characters

The type of the measurement. Options typically are 'cof' to indicate a bearing measurement to the center-of-figure of the target, 'lim' to indicate a bearing measurement to a point on the limb of the target, 'lmk' to indicate a bearing measurement to a surface feature on the target, '3dp' to indicate a relative position measurement from the center of figure of the target to the camera, and 'con' to indicate an image constraint measurement where the same feature is observed in 2 different images.

observation date

datetime

The date/time of the observation. This is the same as Image.observation_date but is included here for convenience (so you don’t need the full image to know when the observation was taken).

landmark id

integer

An identifier for the landmark that was targeted. For measurements to the center of figure of the target this is always 0. For measurements to landmarks and limbs, this will be the index into the list of targets. For image constraint measurements, this will be the key to use to pair the observations together.

target position

3 element double

The location of the target in the target-fixed frame. For center of figure measurements this will always be zero. For landmark and limb measurements it will be the target-fixed location in kilometers. For image constraint measurements, it will generally be zero, unless the constraint is generated from a known feature in which case it will be the target-fixed location in kilometers.

target name

str

A string giving the name of the target. For center of figure measurements this will be '{} cof' where {} is replaced with the name of the target from the SceneObject.name attribute. For limb observations, it will be 'LIMB{:.4g}|{:.4g}|{:.4g}' where the 3 {:.4g} will be replaced with the target fixed location of the limb.  For landmark observations, it will be the name of the landmark observed from the :attr:`.SurfaceFeature.name` attribute. For image constraint observations it will be ``'CONST{}' where '{}' will be replaced by the key number for the constraint, unless the constraint was generated from a known feature, in which case it will be the feature name.

target body

str

The name of the body hosting the target, retrieved from the SceneObject.name attribute.