Ocean
Loading...
Searching...
No Matches
Ocean::Tracking::PoseProjection Class Reference

This class implements a pose projection. More...

#include <PoseProjection.h>

Public Member Functions

 PoseProjection ()=default
 Creates an empty pose projection object.
 
 PoseProjection (const HomogenousMatrix4 &world_T_camera, const AnyCamera &camera, const Geometry::ObjectPoint *objectPoints, const size_t number)
 Creates a new pose projection object by a given pose and object points.
 
const HomogenousMatrix4world_T_camera () const
 Returns the pose of this projection.
 
const Geometry::ImagePointsimagePoints () const
 Returns the image points (the projected object points) of this pose projection.
 
size_t size () const
 Returns the number of stored pose points.
 
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.
 
bool isEmpty () const
 Returns whether this pose projection holds no points.
 
 operator bool () const
 Returns whether this pose projection holds at least one point.
 

Static Private Member Functions

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

Private Attributes

HomogenousMatrix4 world_T_camera_ = HomogenousMatrix4(false)
 Pose of this projection.
 
Vectors2 imagePoints_
 Projection object points for this pose.
 

Detailed Description

This class implements a pose projection.

Constructor & Destructor Documentation

◆ PoseProjection() [1/2]

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

Creates an empty pose projection object.

◆ PoseProjection() [2/2]

Ocean::Tracking::PoseProjection::PoseProjection ( const HomogenousMatrix4 world_T_camera,
const AnyCamera camera,
const Geometry::ObjectPoint objectPoints,
const size_t  number 
)

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

Parameters
world_T_cameraThe transformation between camera and world, with default camera looking into the negative z-space with y-axis up, must be valid
cameraThe camera object defining the projection
objectPointsObject points to be projected
numberNumber Of object points to be projected

Member Function Documentation

◆ 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

◆ size()

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

Returns the number of stored pose points.

Returns
Pose points

◆ world_T_camera()

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

Returns the pose of this projection.

Returns
Projection pose

Field Documentation

◆ imagePoints_

Vectors2 Ocean::Tracking::PoseProjection::imagePoints_
private

Projection object points for this pose.

◆ world_T_camera_

HomogenousMatrix4 Ocean::Tracking::PoseProjection::world_T_camera_ = HomogenousMatrix4(false)
private

Pose of this projection.


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