giant.calibration.estimators

This module provides the ability to estimate geometric camera models as well as static and temperature dependent attitude alignment based off of observations of stars in monocular images.

In general, a user will not directly interface with the classes defined in this module, and instead will work with the Calibration class.

Description of the Problem

There are 3 minimization problems we are solving in this module. The first is to minimize the residuals between predicted and observed pixel locations for stars in an image. The predicted pixel locations are determined by taking a star direction from a catalogue, rotating it into the camera frame (based on an estimate of the rotation between the camera frame and the star catalogue frame also determined from the observation of the star images), and then projecting it onto the image using the CameraModel.project_onto_image() method. We are really estimating a change to the projection here, as it is assumed that the rotation between the camera frame and the catalogue frame is already well known.

The second is to minimize the residual angles between sets of unit vectors expressed in 2 different frames. This is exactly the same problem solved in the stellar_opnav.estimators module, but in this case we generally are doing the solution over many different images, instead of for a single image. This is done to estimate a constant static alignment between 2 frames.

The final is to minimize the residuals between Euler angles between one frame an another over many images. This is done to estimate a temperature dependent alignment between 2 frames.

Classes

CalibrationEstimator

This abstract base class serves as the template for implementing a class for doing camera model estimation in GIANT.

IterativeNonlinearLSTSQ

This concrete estimator implements iterative non-linear least squares for estimating an updated camera model.

LMAEstimator

This implements a Levenberg-Marquardt Algorithm estimator, which is analogous to a damped iterative non-linear least squares.

StaticAlignmentEstimator

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

TemperatureDependentAlignmentEstimator

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