# opentl::modelprojection::PoseEstimation Class Reference

Pose estimation from point correspondences. This class implements pose estimation from point and/or line correspondences. It uses a two-step procedure: 1 - Initialize pose parameters, using initPose methods from the Pose abstraction 2 - Runs (if required) a Gauss-Newton nonlinear optimization, in order to refine the estimate. More...

List of all members.

## Public Member Functions
| PoseEstimation (modelprojection::Warp &warp)
| Constructor.
int | poseFromPoints (const opentl::core::State &state, const math::Matrix &bodyPoints, const math::Matrix &screenPoints, int cameraIdx=0, const math::Vector *linkIdx=NULL, bool useGaussNewton=false, double errCov=1.0)
| Compute the pose from a set of point correspondences (model-image), eventually using a Gauss-Newton refinement.
| ~PoseEstimation ()
| Destructor.

## Detailed Description

Pose estimation from point correspondences. This class implements pose estimation from point and/or line correspondences. It uses a two-step procedure: 1 - Initialize pose parameters, using initPose methods from the Pose abstraction 2 - Runs (if required) a Gauss-Newton nonlinear optimization, in order to refine the estimate.

Author:
  panin@in.tum.de

## Constructor & Destructor Documentation

opentl::modelprojection::PoseEstimation::PoseEstimation | ( | modelprojection::Warp & | warp | ) |

Constructor.

opentl::modelprojection::PoseEstimation::~PoseEstimation | ( |  | ) |

Destructor.

## Member Function Documentation

int opentl::modelprojection::PoseEstimation::poseFromPoints | ( | const opentl::core::State & | state,
|  | const math::Matrix & | bodyPoints,
|  | const math::Matrix & | screenPoints,
|  | int | cameraIdx = `0`,
|  | const math::Vector * | linkIdx = `NULL`,
|  | bool | useGaussNewton = `false`,
|  | double | errCov = `1.0` |
| ) |  |  |

Compute the pose from a set of point correspondences (model-image), eventually using a Gauss-Newton refinement.

Parameters:

  | state | Input/output pose to be estimated (within a State vector)
  | bodyPoints | Input points in object space (3xN) or (2xN), for each target
  | screenPoints | Input corresponding points in image space (2xN), for each target
  | cameraIdx | Camera ID for all targets (default = 0)
  | linkIdx | Input Link ID of each point, for each target (for articulated Poses only) - default = NULL
  | useGaussNewton | Flag, whether to refine the estimate with Gauss-Newton - default = false
  | errCov | Covariance of point re-projection errors - deafult = 1.0

Returns:
  Error condition (0 = OK)