39 #ifndef INCLUDE_OKVIS_CAMERAS_NODISTORTION_HPP_
40 #define INCLUDE_OKVIS_CAMERAS_NODISTORTION_HPP_
57 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
87 return "NoDistortion";
101 return std::shared_ptr<DistortionBase>(
new NoDistortion());
116 bool distort(
const Eigen::Vector2d & pointUndistorted,
117 Eigen::Vector2d * pointDistorted)
const
119 *pointDistorted = pointUndistorted;
129 bool distort(
const Eigen::Vector2d & pointUndistorted,
130 Eigen::Vector2d * pointDistorted,
131 Eigen::Matrix2d * pointJacobian,
132 Eigen::Matrix2Xd * parameterJacobian = NULL)
const
134 *pointDistorted = pointUndistorted;
135 *pointJacobian = Eigen::Matrix2d::Identity();
136 if (parameterJacobian) {
137 parameterJacobian->resize(2, 0);
150 const Eigen::Vector2d & pointUndistorted,
151 const Eigen::VectorXd & parameters, Eigen::Vector2d * pointDistorted,
152 Eigen::Matrix2d * pointJacobian = NULL,
153 Eigen::Matrix2Xd * parameterJacobian = NULL)
const
156 *pointDistorted = pointUndistorted;
158 *pointJacobian = Eigen::Matrix2d::Identity();
160 if (parameterJacobian) {
161 parameterJacobian->resize(2, 0);
176 Eigen::Vector2d * pointUndistorted)
const
178 *pointUndistorted = pointDistorted;
188 Eigen::Vector2d * pointUndistorted,
189 Eigen::Matrix2d * pointJacobian)
const
191 *pointUndistorted = pointDistorted;
192 *pointJacobian = Eigen::Matrix2d::Identity();
static std::shared_ptr< DistortionBase > createTestObject()
Unit test support – create a test distortion object.
Definition: NoDistortion.hpp:100
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ~NoDistortion()
Destructor, not doing anything.
Definition: NoDistortion.hpp:60
This trivially doesn't do anything in terms of distortion. This is useful for testing, or working with pre-undistorted images.
Definition: NoDistortion.hpp:54
bool undistort(const Eigen::Vector2d &pointDistorted, Eigen::Vector2d *pointUndistorted) const
Undistortion only.
Definition: NoDistortion.hpp:175
bool distort(const Eigen::Vector2d &pointUndistorted, Eigen::Vector2d *pointDistorted) const
Distortion only.
Definition: NoDistortion.hpp:116
Header file for the DistortionBase class.
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: NoDistortion.hpp:149
std::string type() const
The class type.
Definition: NoDistortion.hpp:85
bool distort(const Eigen::Vector2d &pointUndistorted, Eigen::Vector2d *pointDistorted, Eigen::Matrix2d *pointJacobian, Eigen::Matrix2Xd *parameterJacobian=NULL) const
Distortion and Jacobians.
Definition: NoDistortion.hpp:129
static NoDistortion testObject()
Unit test support – create a test distortion object.
Definition: NoDistortion.hpp:104
bool undistort(const Eigen::Vector2d &pointDistorted, Eigen::Vector2d *pointUndistorted, Eigen::Matrix2d *pointJacobian) const
Undistortion only.
Definition: NoDistortion.hpp:187
Base class for all distortion models.
Definition: DistortionBase.hpp:52
static const int NumDistortionIntrinsics
Definition: NoDistortion.hpp:96
int numDistortionIntrinsics() const
Number of derived class distortion parameters.
Definition: NoDistortion.hpp:91
bool getParameters(Eigen::VectorXd ¶meters) const
Obtain the generic parameters.
Definition: NoDistortion.hpp:78
bool setParameters(const Eigen::VectorXd ¶meters)
set the generic parameters
Definition: NoDistortion.hpp:71