39 #ifndef INCLUDE_OKVIS_CAMERAS_EQUIDISTANTDISTORTION_HPP_
40 #define INCLUDE_OKVIS_CAMERAS_EQUIDISTANTDISTORTION_HPP_
56 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
74 inline bool setParameters(
const Eigen::VectorXd & parameters);
83 inline std::string
type()
const
85 return "EquidistantDistortion";
100 return std::shared_ptr<DistortionBase>(
117 inline bool distort(
const Eigen::Vector2d & pointUndistorted,
118 Eigen::Vector2d * pointDistorted)
const;
126 inline bool distort(
const Eigen::Vector2d & pointUndistorted,
127 Eigen::Vector2d * pointDistorted,
128 Eigen::Matrix2d * pointJacobian,
129 Eigen::Matrix2Xd * parameterJacobian = NULL)
const;
139 const Eigen::Vector2d & pointUndistorted,
140 const Eigen::VectorXd & parameters, Eigen::Vector2d * pointDistorted,
141 Eigen::Matrix2d * pointJacobian = NULL,
142 Eigen::Matrix2Xd * parameterJacobian = NULL)
const;
153 inline bool undistort(
const Eigen::Vector2d & pointDistorted,
154 Eigen::Vector2d * pointUndistorted)
const;
161 inline bool undistort(
const Eigen::Vector2d & pointDistorted,
162 Eigen::Vector2d * pointUndistorted,
163 Eigen::Matrix2d * pointJacobian)
const;
Implements equidistant distortion.
Definition: EquidistantDistortion.hpp:53
int numDistortionIntrinsics() const
Number of distortion parameters.
Definition: EquidistantDistortion.hpp:89
Eigen::Matrix< double, NumDistortionIntrinsics, 1 > parameters_
all distortion parameters
Definition: EquidistantDistortion.hpp:167
Header implementation file for the EquidistantDistortion class.
static EquidistantDistortion testObject()
Unit test support – create a test distortion object.
Definition: EquidistantDistortion.hpp:104
EIGEN_MAKE_ALIGNED_OPERATOR_NEW EquidistantDistortion()
The default constructor with all zero ki.
Definition: EquidistantDistortion.hpp:49
double k2_
radial parameter 2
Definition: EquidistantDistortion.hpp:170
bool setParameters(const Eigen::VectorXd ¶meters)
set the generic parameters
Definition: EquidistantDistortion.hpp:72
Header file for the DistortionBase class.
static std::shared_ptr< DistortionBase > createTestObject()
Unit test support – create a test distortion object.
Definition: EquidistantDistortion.hpp:98
double k1_
radial parameter 1
Definition: EquidistantDistortion.hpp:169
std::string type() const
The class type.
Definition: EquidistantDistortion.hpp:83
bool getParameters(Eigen::VectorXd ¶meters) const
Obtain the generic parameters.
Definition: EquidistantDistortion.hpp:77
static const int NumDistortionIntrinsics
Definition: EquidistantDistortion.hpp:94
bool distort(const Eigen::Vector2d &pointUndistorted, Eigen::Vector2d *pointDistorted) const
Distortion only.
Definition: EquidistantDistortion.hpp:85
Base class for all distortion models.
Definition: DistortionBase.hpp:52
double k4_
tangential parameter 2
Definition: EquidistantDistortion.hpp:172
double k3_
tangential parameter 1
Definition: EquidistantDistortion.hpp:171
bool distortWithExternalParameters(const Eigen::Vector2d &pointUndistorted, const Eigen::VectorXd ¶meters, Eigen::Vector2d *pointDistorted, Eigen::Matrix2d *pointJacobian=NULL, Eigen::Matrix2Xd *parameterJacobian=NULL) const
Distortion and Jacobians using external distortion intrinsics parameters.
Definition: EquidistantDistortion.hpp:208
bool undistort(const Eigen::Vector2d &pointDistorted, Eigen::Vector2d *pointUndistorted) const
Undistortion only.
Definition: EquidistantDistortion.hpp:316