LimbMatching.compute_jacobian

giant.relative_opnav.estimators.limb_matching:

LimbMatching.compute_jacobian(target_object, center, center_direction, limb_points_image, limb_points_camera, relative_position, scan_vector, temperature=0)[source]

This method computes the linear change in the measurements (the distance between the predicted and observed limb points and the scan center) with respect to a change in the state vector.

Mathematically the rows of the Jacobian matrix are given by:

\[\frac{\partial d_i}{\partial \mathbf{s}}=\frac{\partial d_i}{\partial\mathbf{x}_i} \frac{\partial\mathbf{x}_i}{\partial\mathbf{p}_c}\frac{\partial\mathbf{p}_c}{\partial\mathbf{s}}\]

where \(d_i\) is the distance along the scan vector between the predicted limb pixel location and the scan center, \(\mathbf{s}\) is the the state vector that is being estimated, \(\mathbf{x}_i\) is the pixel location of the predicted limb point, and \(\mathbf{p}_c\) is the predicted limb point in the camera frame. In addition

\[\frac{d_i}{\mathbf{x}_i} = \frac{\mathbf{x}_i-\mathbf{c}}{\|\mathbf{x}_i-\mathbf{c}\|}\]

is the linear change in the distance given a change in the limb pixel location where \(\mathbf{c}\) is the scan center, \(\frac{\partial\mathbf{x}_i}{\partial\mathbf{p}_c}\) is the linear change in the limb pixel location given a change in the limb camera frame vector which is defined by the camera model, and \(\frac{\partial\mathbf{p}_c}{\partial\mathbf{s}}\) is the change in the limb camera frame vector given a change in the state vector, which is defined by the shape model.

Parameters:
  • target_object (SceneObject) – target object under consideration

  • center (ndarray) – The pixel location of the center of the scan rays

  • center_direction (ndarray) – the unit vector through the pixel location of the center of the scan rays in the camera frame

  • limb_points_image (ndarray) – The predicted limb locations in the image in units of pixels

  • limb_points_camera (ndarray) – The predicted limb vectors in the camera frame

  • relative_position (ndarray) – The current estimate of the position vector from the camera to the target

  • scan_vector (ndarray) – The unit vectors from the scan center to the limb points in the image.

  • temperature (Real) – The temperature of the camera at the time the image was captured

Returns:

The nxm jacobian matrix as a numpy array

Return type:

ndarray