Ocean
Ocean::Tracking::PoseProjection Class Reference

This class implements a pose projection. More...

Public Member Functions

 PoseProjection ()
 Creates an empty pose projection object. More...
 
 PoseProjection (const HomogenousMatrix4 &pose, const PinholeCamera &pinholeCamera, const Geometry::ObjectPoint *objectPoints, const size_t number, const bool distortImagePoints)
 Creates a new pose projection object by a given pose and object points. More...
 
const HomogenousMatrix4pose () const
 Returns the pose of this projection. More...
 
const Geometry::ImagePointsimagePoints () const
 Returns the image points (the projected object points) of this pose projection. More...
 
CV::Detector::PointFeature::DistortionState distortionState () const
 Returns the distortion state of this projection. More...
 
size_t size () const
 Returns the number of stored pose points. More...
 
template<Geometry::Estimator::EstimatorType tEstimator>
Scalar minimalAverageSquareError (const Geometry::ImagePoint *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Geometry::Error::ErrorDetermination errorDetermination)
 Returns the robust minimal average square error between this pose projection and a given 2D point cloud. More...
 
bool isEmpty () const
 Returns whether this pose projection holds no points. More...
 
 operator bool () const
 Returns whether this pose projection holds at least one point. More...
 

Static Private Member Functions

static const Vector3objectPoint2objectPoint (const Geometry::ObjectPoint &element)
 Converts an element to an object point. More...
 

Private Attributes

HomogenousMatrix4 poseTransformation
 Pose of this projection. More...
 
Geometry::ImagePoints poseImagePoints
 Projection object points for this pose. More...
 
CV::Detector::PointFeature::DistortionState poseDistortionState
 Distortion state of the image points. More...
 

Detailed Description

This class implements a pose projection.

Constructor & Destructor Documentation

◆ PoseProjection() [1/2]

Ocean::Tracking::PoseProjection::PoseProjection ( )

Creates an empty pose projection object.

◆ PoseProjection() [2/2]

Ocean::Tracking::PoseProjection::PoseProjection ( const HomogenousMatrix4 pose,
const PinholeCamera pinholeCamera,
const Geometry::ObjectPoint objectPoints,
const size_t  number,
const bool  distortImagePoints 
)

Creates a new pose projection object by a given pose and object points.

Parameters
posePose used to project the object points to the image plane
pinholeCameraThe pinhole camera object defining the projection
objectPointsObject points to be projected
numberNumber Of object points to be projected
distortImagePointsDistorts the image points after projection if True

Member Function Documentation

◆ distortionState()

CV::Detector::PointFeature::DistortionState Ocean::Tracking::PoseProjection::distortionState ( ) const
inline

Returns the distortion state of this projection.

Returns
Distortion state

◆ imagePoints()

const Geometry::ImagePoints & Ocean::Tracking::PoseProjection::imagePoints ( ) const
inline

Returns the image points (the projected object points) of this pose projection.

Returns
Pose image points

◆ isEmpty()

bool Ocean::Tracking::PoseProjection::isEmpty ( ) const
inline

Returns whether this pose projection holds no points.

Returns
True, if so

◆ minimalAverageSquareError()

template<Geometry::Estimator::EstimatorType tEstimator>
Scalar Ocean::Tracking::PoseProjection::minimalAverageSquareError ( const Geometry::ImagePoint imagePoints,
const size_t  numberImagePoints,
const size_t  validImagePoints,
const Geometry::Error::ErrorDetermination  errorDetermination 
)

Returns the robust minimal average square error between this pose projection and a given 2D point cloud.

The number of given image points must be equal or small to the number of internal pose points of this object.

Parameters
imagePointsImage points to find corresponding pose points for
numberImagePointsNumber of given image points
validImagePointsNumber of valid image points expecting to have corresponding points in the pose points, with range [1, numberImagePoints]
errorDeterminationDepending on this flag uniqueAveragedRobustErrorInPointCloud, approximatedAveragedRobustErrorInPointCloud() or ambiguousAveragedRobustErrorInPointCloud() will be used
Returns
Resulting minimal average square error
Template Parameters
tEstimatorEstimator to be applied

◆ objectPoint2objectPoint()

const Vector3 & Ocean::Tracking::PoseProjection::objectPoint2objectPoint ( const Geometry::ObjectPoint element)
inlinestaticprivate

Converts an element to an object point.

Parameters
elementElement to be converted
Returns
Converted object point

◆ operator bool()

Ocean::Tracking::PoseProjection::operator bool ( ) const
inlineexplicit

Returns whether this pose projection holds at least one point.

Returns
True, if so

◆ pose()

const HomogenousMatrix4 & Ocean::Tracking::PoseProjection::pose ( ) const
inline

Returns the pose of this projection.

Returns
Projection pose

◆ size()

size_t Ocean::Tracking::PoseProjection::size ( ) const
inline

Returns the number of stored pose points.

Returns
Pose points

Field Documentation

◆ poseDistortionState

CV::Detector::PointFeature::DistortionState Ocean::Tracking::PoseProjection::poseDistortionState
private

Distortion state of the image points.

◆ poseImagePoints

Geometry::ImagePoints Ocean::Tracking::PoseProjection::poseImagePoints
private

Projection object points for this pose.

◆ poseTransformation

HomogenousMatrix4 Ocean::Tracking::PoseProjection::poseTransformation
private

Pose of this projection.


The documentation for this class was generated from the following file: