MomentAlgorithm.rastered_phase_correction

giant.relative_opnav.estimators.moment_algorithm:

MomentAlgorithm.rastered_phase_correction(target_ind, target, temperature)

This method computes the phase correction by raster rendering the target to determine the offset from the center of illumination to the center of figure.

This method is only applicable to targets that are represented by tesselation, such as triangles or parallelograms. It will in general be more accurate for tessellated bodies than the simple technique, it is also much more computationally efficient, and many times, especially when the target is still very small in the image, the added accuracy is overwhelmed by the uncertainty of identifying the center of brightness in the image. In addition, if your shape model is very far off from the actual shape, then this will be just as inaccurate as using the simple technique, and in some cases perhaps more inaccurate.

The specific steps to computing the correction using this technique are as follows. First, the facets of the tesselation are each “rendered” assuming no occlusion or shadowing based solely on the incidence and view angles. Then, the “center of brightness” is computed in the camera frame using a moment algorithm. Finally, this center of brightness is projected onto the image, and the difference between it and the projected center of figure is the correction vector.

Parameters:
  • target_ind (int) – the index of the target in the Scene.target_objs list

  • target (SceneObject) – The target object itself to compute the phase correction for

  • temperature (Real) – the temperature of the camera when the image was captured

Returns:

The phase correction as a length 2 numpy array from the center of brightness to the center of figure