OKVIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
okvis::cameras::DistortionBase Class Referenceabstract

Base class for all distortion models. More...

#include <DistortionBase.hpp>

Inheritance diagram for okvis::cameras::DistortionBase:
okvis::cameras::EquidistantDistortion okvis::cameras::NoDistortion okvis::cameras::RadialTangentialDistortion okvis::cameras::RadialTangentialDistortion8

Public Member Functions

virtual
EIGEN_MAKE_ALIGNED_OPERATOR_NEW 
~DistortionBase ()
 Destructor – not doing anything. More...
 
Methods related to generic parameters
virtual bool setParameters (const Eigen::VectorXd &parameters)=0
 set the generic parameters More...
 
virtual bool getParameters (Eigen::VectorXd &parameters) const =0
 Obtain the generic parameters. More...
 
virtual std::string type () const =0
 The derived class type. More...
 
virtual int numDistortionIntrinsics () const =0
 Number of derived class distortion parameters. More...
 
Distortion functions
virtual bool distort (const Eigen::Vector2d &pointUndistorted, Eigen::Vector2d *pointDistorted) const =0
 Distortion only. More...
 
virtual bool distort (const Eigen::Vector2d &pointUndistorted, Eigen::Vector2d *pointDistorted, Eigen::Matrix2d *pointJacobian, Eigen::Matrix2Xd *parameterJacobian=NULL) const =0
 Distortion and Jacobians. More...
 
virtual bool distortWithExternalParameters (const Eigen::Vector2d &pointUndistorted, const Eigen::VectorXd &parameters, Eigen::Vector2d *pointDistorted, Eigen::Matrix2d *pointJacobian=NULL, Eigen::Matrix2Xd *parameterJacobian=NULL) const =0
 Distortion and Jacobians using external distortion intrinsics parameters. More...
 
Undistortion functions
virtual bool undistort (const Eigen::Vector2d &pointDistorted, Eigen::Vector2d *pointUndistorted) const =0
 Undistortion only. More...
 
virtual bool undistort (const Eigen::Vector2d &pointDistorted, Eigen::Vector2d *pointUndistorted, Eigen::Matrix2d *pointJacobian) const =0
 Undistortion only. More...
 

Detailed Description

Base class for all distortion models.

Constructor & Destructor Documentation

virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW okvis::cameras::DistortionBase::~DistortionBase ( )
inlinevirtual

Destructor – not doing anything.

Member Function Documentation

virtual bool okvis::cameras::DistortionBase::distort ( const Eigen::Vector2d &  pointUndistorted,
Eigen::Vector2d *  pointDistorted 
) const
pure virtual

Distortion only.

Parameters
[in]pointUndistortedThe undistorted normalised (!) image point.
[out]pointDistortedThe distorted normalised (!) image point.
Returns
True on success (no singularity)

Implemented in okvis::cameras::RadialTangentialDistortion8, okvis::cameras::EquidistantDistortion, okvis::cameras::RadialTangentialDistortion, and okvis::cameras::NoDistortion.

virtual bool okvis::cameras::DistortionBase::distort ( const Eigen::Vector2d &  pointUndistorted,
Eigen::Vector2d *  pointDistorted,
Eigen::Matrix2d *  pointJacobian,
Eigen::Matrix2Xd *  parameterJacobian = NULL 
) const
pure virtual

Distortion and Jacobians.

Parameters
[in]pointUndistortedThe undistorted normalised (!) image point.
[out]pointDistortedThe distorted normalised (!) image point.
[out]pointJacobianThe Jacobian w.r.t. changes on the image point.
[out]parameterJacobianThe Jacobian w.r.t. changes on the intrinsics vector.
Returns
True on success (no singularity)

Implemented in okvis::cameras::RadialTangentialDistortion8, okvis::cameras::NoDistortion, okvis::cameras::EquidistantDistortion, and okvis::cameras::RadialTangentialDistortion.

virtual bool okvis::cameras::DistortionBase::distortWithExternalParameters ( const Eigen::Vector2d &  pointUndistorted,
const Eigen::VectorXd &  parameters,
Eigen::Vector2d *  pointDistorted,
Eigen::Matrix2d *  pointJacobian = NULL,
Eigen::Matrix2Xd *  parameterJacobian = NULL 
) const
pure virtual

Distortion and Jacobians using external distortion intrinsics parameters.

Parameters
[in]pointUndistortedThe undistorted normalised (!) image point.
[in]parametersThe distortion intrinsics vector.
[out]pointDistortedThe distorted normalised (!) image point.
[out]pointJacobianThe Jacobian w.r.t. changes on the image point.
[out]parameterJacobianThe Jacobian w.r.t. changes on the intrinsics vector.
Returns
True on success (no singularity)

Implemented in okvis::cameras::NoDistortion, okvis::cameras::RadialTangentialDistortion8, okvis::cameras::EquidistantDistortion, and okvis::cameras::RadialTangentialDistortion.

virtual bool okvis::cameras::DistortionBase::getParameters ( Eigen::VectorXd &  parameters) const
pure virtual
virtual int okvis::cameras::DistortionBase::numDistortionIntrinsics ( ) const
pure virtual
virtual bool okvis::cameras::DistortionBase::setParameters ( const Eigen::VectorXd &  parameters)
pure virtual

set the generic parameters

Parameters
[in]parametersParameter vector – length must correspond numDistortionIntrinsics().
Returns
True if the requirements were followed.

Implemented in okvis::cameras::RadialTangentialDistortion8, okvis::cameras::EquidistantDistortion, okvis::cameras::RadialTangentialDistortion, and okvis::cameras::NoDistortion.

virtual std::string okvis::cameras::DistortionBase::type ( ) const
pure virtual
virtual bool okvis::cameras::DistortionBase::undistort ( const Eigen::Vector2d &  pointDistorted,
Eigen::Vector2d *  pointUndistorted 
) const
pure virtual

Undistortion only.

Parameters
[in]pointDistortedThe distorted normalised (!) image point.
[out]pointUndistortedThe undistorted normalised (!) image point.
Returns
True on success (no singularity)

Implemented in okvis::cameras::NoDistortion, okvis::cameras::RadialTangentialDistortion8, okvis::cameras::EquidistantDistortion, and okvis::cameras::RadialTangentialDistortion.

virtual bool okvis::cameras::DistortionBase::undistort ( const Eigen::Vector2d &  pointDistorted,
Eigen::Vector2d *  pointUndistorted,
Eigen::Matrix2d *  pointJacobian 
) const
pure virtual

Undistortion only.

Parameters
[in]pointDistortedThe distorted normalised (!) image point.
[out]pointUndistortedThe undistorted normalised (!) image point.
[out]pointJacobianThe Jacobian w.r.t. changes on the image point.
Returns
True on success (no singularity)

Implemented in okvis::cameras::NoDistortion, okvis::cameras::RadialTangentialDistortion8, okvis::cameras::EquidistantDistortion, and okvis::cameras::RadialTangentialDistortion.


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