Ocean
Ocean::Tracking::PoseProjectionSet Class Reference

This class implements a set of pose projections. More...

Data Structures

class  ErrorObject
 This class implements a error object. More...
 

Public Types

typedef std::vector< PoseProjectionPoseProjections
 Definition of a vector holding pose projections. More...
 
typedef std::vector< ErrorObjectErrorObjects
 Definition of a vector holding error objects. More...
 

Public Member Functions

 PoseProjectionSet ()
 Creates an empty set of pose projections. More...
 
 ~PoseProjectionSet ()
 Destructs a set of pose projections. More...
 
unsigned int width () const
 Returns the width of the camera in pixel used for all projections. More...
 
unsigned int height () const
 Returns the height of the camera in pixel used for all projections. More...
 
void addPoseProjection (const PoseProjection &poseProjection)
 Adds a new pose projection. More...
 
const PoseProjectionsposeProjections () const
 Returns the registered pose projections. More...
 
size_t size () const
 Returns the number of registered pose projections. More...
 
void setDimension (const unsigned int width, const unsigned int height)
 Sets the dimension of the camera used for all pose projections. More...
 
void clear ()
 Clears the projection set. More...
 
template<Geometry::Estimator::EstimatorType tEstimator>
HomogenousMatrix4 findPoseWithMinimalError (const Geometry::ImagePoint *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Geometry::Error::ErrorDetermination errorDetermination, Scalar *resultingError=nullptr, Worker *worker=nullptr)
 Returns the pose with the minimal distance error. More...
 
template<Geometry::Estimator::EstimatorType tEstimator>
unsigned int findPosesWithMinimalError (const Geometry::ImagePoint *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Geometry::Error::ErrorDetermination errorDetermination, const size_t numberPoses, HomogenousMatrix4 *poses, Scalar *resultingErrors=nullptr, Worker *worker=nullptr)
 Returns the poses with the minimal distance error. More...
 
bool isEmpty () const
 Returns whether this set holds no pose projections. More...
 
 operator bool () const
 Returns whether this set holds at least one pose projection. More...
 

Private Member Functions

template<Geometry::Estimator::EstimatorType tEstimator>
void findPoseWithMinimalErrorSubset (const Geometry::ImagePoint *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Geometry::Error::ErrorDetermination errorDetermination, ErrorObject *errorObjects, const unsigned int firstProjection, const unsigned int numberProjections)
 Returns the pose with the minimal distance error for a subset of the pose projections. More...
 

Private Attributes

PoseProjections projectionSetPoseProjections
 All registered pose projections. More...
 
unsigned int projectionSetCameraWidth
 Width of the camera in pixel used for all pose projections. More...
 
unsigned int projectionSetCameraHeight
 Height of the camera in pixel used for all pose projections. More...
 

Detailed Description

This class implements a set of pose projections.

Member Typedef Documentation

◆ ErrorObjects

Definition of a vector holding error objects.

◆ PoseProjections

Definition of a vector holding pose projections.

Constructor & Destructor Documentation

◆ PoseProjectionSet()

Ocean::Tracking::PoseProjectionSet::PoseProjectionSet ( )

Creates an empty set of pose projections.

◆ ~PoseProjectionSet()

Ocean::Tracking::PoseProjectionSet::~PoseProjectionSet ( )

Destructs a set of pose projections.

Member Function Documentation

◆ addPoseProjection()

void Ocean::Tracking::PoseProjectionSet::addPoseProjection ( const PoseProjection poseProjection)
inline

Adds a new pose projection.

Parameters
poseProjectionPose projection to be added

◆ clear()

void Ocean::Tracking::PoseProjectionSet::clear ( )

Clears the projection set.

◆ findPosesWithMinimalError()

template<Geometry::Estimator::EstimatorType tEstimator>
unsigned int Ocean::Tracking::PoseProjectionSet::findPosesWithMinimalError ( const Geometry::ImagePoint imagePoints,
const size_t  numberImagePoints,
const size_t  validImagePoints,
const Geometry::Error::ErrorDetermination  errorDetermination,
const size_t  numberPoses,
HomogenousMatrix4 poses,
Scalar resultingErrors = nullptr,
Worker worker = nullptr 
)

Returns the poses with the minimal distance error.

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
numberPosesNumber of poses to be found
posesResulting poses, make sure that the memory block provides enough space
resultingErrorsOptional resulting minimal average square errors individual for each returned pose, make sure that the memory block provides enough space
workerOptional worker object to distribute the computation
Returns
Number of found best poses
Template Parameters
tEstimatorEstimator to be applied

◆ findPoseWithMinimalError()

template<Geometry::Estimator::EstimatorType tEstimator>
HomogenousMatrix4 Ocean::Tracking::PoseProjectionSet::findPoseWithMinimalError ( const Geometry::ImagePoint imagePoints,
const size_t  numberImagePoints,
const size_t  validImagePoints,
const Geometry::Error::ErrorDetermination  errorDetermination,
Scalar resultingError = nullptr,
Worker worker = nullptr 
)
inline

Returns the pose with the minimal distance error.

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
resultingErrorOptional resulting minimal average square error
workerOptional worker object to distribute the computation
Returns
Pose with minimal error
Template Parameters
tEstimatorEstimator to be applied

◆ findPoseWithMinimalErrorSubset()

template<Geometry::Estimator::EstimatorType tEstimator>
void Ocean::Tracking::PoseProjectionSet::findPoseWithMinimalErrorSubset ( const Geometry::ImagePoint imagePoints,
const size_t  numberImagePoints,
const size_t  validImagePoints,
const Geometry::Error::ErrorDetermination  errorDetermination,
ErrorObject errorObjects,
const unsigned int  firstProjection,
const unsigned int  numberProjections 
)
private

Returns the pose with the minimal distance error for a subset of the pose projections.

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
errorObjectsError objects receiving the estimated error values
firstProjectionFirst projection to be handled
numberProjectionsNumber of projections to be handled
Template Parameters
tEstimatorEstimator to be applied

◆ height()

unsigned int Ocean::Tracking::PoseProjectionSet::height ( ) const
inline

Returns the height of the camera in pixel used for all projections.

Returns
The camera height in pixels
See also
width().

◆ isEmpty()

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

Returns whether this set holds no pose projections.

Returns
True, if so

◆ operator bool()

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

Returns whether this set holds at least one pose projection.

Returns
True, if so

◆ poseProjections()

const PoseProjectionSet::PoseProjections & Ocean::Tracking::PoseProjectionSet::poseProjections ( ) const
inline

Returns the registered pose projections.

Returns
Pose projections

◆ setDimension()

void Ocean::Tracking::PoseProjectionSet::setDimension ( const unsigned int  width,
const unsigned int  height 
)
inline

Sets the dimension of the camera used for all pose projections.

Parameters
widthThe camera width in pixel
heightThe camera height in pixel
See also
width(), height().

◆ size()

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

Returns the number of registered pose projections.

Returns
Pose projection number

◆ width()

unsigned int Ocean::Tracking::PoseProjectionSet::width ( ) const
inline

Returns the width of the camera in pixel used for all projections.

Returns
The camera width in pixels
See also
height().

Field Documentation

◆ projectionSetCameraHeight

unsigned int Ocean::Tracking::PoseProjectionSet::projectionSetCameraHeight
private

Height of the camera in pixel used for all pose projections.

◆ projectionSetCameraWidth

unsigned int Ocean::Tracking::PoseProjectionSet::projectionSetCameraWidth
private

Width of the camera in pixel used for all pose projections.

◆ projectionSetPoseProjections

PoseProjections Ocean::Tracking::PoseProjectionSet::projectionSetPoseProjections
private

All registered pose projections.


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