26#include <gtsam/geometry/Cal3DS2_Base.h>
56 using shared_ptr = std::shared_ptr<Cal3Unified>;
65 double k2,
double p1 = 0.0,
double p2 = 0.0,
double xi = 0.0)
74 Cal3Unified(
const Vector10& v)
75 : Base(v(0), v(1), v(2), v(3), v(4), v(5), v(6), v(7), v(8)), xi_(v(9)) {}
82 GTSAM_EXPORT
friend std::ostream& operator<<(std::ostream& os,
83 const Cal3Unified& cal);
86 void print(
const std::string& s =
"")
const override;
89 bool equals(
const Cal3Unified& K,
double tol = 10e-9)
const;
96 double xi()
const {
return xi_; }
99 Vector10 vector()
const;
110 OptionalJacobian<2, 2> Dp = {})
const;
113 Point2 calibrate(
const Point2& p, OptionalJacobian<2, 10> Dcal = {},
114 OptionalJacobian<2, 2> Dp = {})
const;
117 Point2 spaceToNPlane(
const Point2& p)
const;
120 Point2 nPlaneToSpace(
const Point2& p)
const;
127 Cal3Unified retract(
const Vector& d)
const;
130 Vector localCoordinates(
const Cal3Unified& T2)
const;
141#if GTSAM_ENABLE_BOOST_SERIALIZATION
143 friend class boost::serialization::access;
144 template <
class Archive>
145 void serialize(Archive& ar,
const unsigned int ) {
146 ar& boost::serialization::make_nvp(
147 "Cal3Unified", boost::serialization::base_object<Cal3DS2_Base>(*
this));
148 ar& BOOST_SERIALIZATION_NVP(xi_);
Global functions in a separate testing namespace.
Definition chartTesting.h:28
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition Matrix.cpp:143
Vector2 Point2
As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point2 to Vector2...
Definition Point2.h:32
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition Group.h:37
Both ManifoldTraits and Testable.
Definition Manifold.h:156
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition OptionalJacobian.h:40
double fx() const
focal length x
Definition Cal3.h:138
double fy() const
focal length y
Definition Cal3.h:141
Cal3DS2_Base()=default
Default Constructor with only unit focal length.
double p2() const
Second tangential distortion coefficient.
Definition Cal3DS2_Base.h:110
double k2() const
Second distortion coefficient.
Definition Cal3DS2_Base.h:104
double k1() const
First distortion coefficient.
Definition Cal3DS2_Base.h:101
double p1() const
First tangential distortion coefficient.
Definition Cal3DS2_Base.h:107
Calibration of a omni-directional camera with mirror + lens radial distortion.
Definition Cal3Unified.h:45
Cal3Unified()=default
Default Constructor with only unit focal length.
double xi() const
mirror parameter
Definition Cal3Unified.h:96
static constexpr auto dimension
shared pointer to stereo calibration object
Definition Cal3Unified.h:53
static size_t Dim()
Return dimensions of calibration manifold object.
Definition Cal3Unified.h:136
size_t dim() const
Return dimensions of calibration manifold object.
Definition Cal3Unified.h:133