Calibration.estimate_static_alignment

giant.calibration.calibration_class:

Calibration.estimate_static_alignment()[source]

This method estimates a static (not temeprature dependent) alignment between a base frame and the camera frame over multiple images.

This method uses the alignment_base_frame_func to retrieve the rotation from the inertial frame to the base frame the alignment is to be done with respect to for each image time. The inertial matched catalogue unit vectors are then rotated into the base frame. Then, the matched image points-of-interest are converted to unit vectors in the camera frame. These 2 sets of unit vectors are then provided to the static_alignment_estimator and its estimate() method is called to estimate the alignment between the frames. The resulting alignment is stored in the static_alignment attribute.

Note that to do alignment, the base frame and the camera frame should generally be fixed with respect to one another. This means that you can’t do alignment with respect to something like the inertial frame in general, unless your camera is magically fixed with respect to the inertial frame.

Generally, this method should be called after you have estimated the geometric camera model, because the geometric camera model is used to convert the observed pixel locations in the image to unit vectors in the camera frame (using pixels_to_unit()).

Note

This method will attempt to account for misalignment estimated along with the camera model when performing the estimation; however, this is not recommended. Instead, once you have performed your camera model calibration, you should consider resetting the camera model misalignment to 0 and then calling estimate_attitude() before a call to this function.

Return type:

None