giant.calibration.estimators.StaticAlignmentEstimator

class giant.calibration.estimators.StaticAlignmentEstimator(frame1_unit_vecs=None, frame2_unit_vecs=None)[source]

This class estimates a static attitude alignment between one frame and another.

The static alignment is estimated using Davenport’s Q-Method solution to Wahba’s problem, using the DavenportQMethod class. To use, simply specify the unit vectors from the base frame and the unit vectors from the target frame, and then call estimate(). The estimated alignment from frame 1 to frame 2 will be stored as a Rotation object in alignment.

In general this class should not be used by the user, and instead you should use the Calibration class and its estimate_static_alignment() method which will handle set up and tear down of this class for you.

For more details about the algorithm used see the DavenportQMethod documentation.

Parameters:
  • frame1_unit_vecs (Sequence | ndarray | None) – Unit vectors in the base frame as a 3xn array where each column is a unit vector.

  • frame2_unit_vecs (Sequence | ndarray | None) – Unit vectors in the destination (camera) frame as a 3xn array where each column is a unit vector

frame1_unit_vecs: Sequence | ndarray | None

The base frame unit vectors.

Each column of this 3xn matrix should correspond to the same column in the frame2_unit_vecs attribute.

Typically this data should come from multiple images to ensure a good alignment can be estimated over time.

frame2_unit_vecs: Sequence | ndarray | None

The target frame unit vectors.

Each column of this 3xn matrix should correspond to the same column in the frame1_unit_vecs attribute.

Typically this data should come from multiple images to ensure a good alignment can be estimated over time.

alignment: Rotation | None

The location where the estimated alignment is stored

Summary of Methods

estimate

Estimate the static alignment between the frame 1 and frame 2 using Davenport's Q Method Solution.