23 #include <gtsam/geometry/Cal3DS2_Base.h> 39 enum { dimension = 9 };
42 using shared_ptr = std::shared_ptr<Cal3DS2>;
50 Cal3DS2(
double fx,
double fy,
double s,
double u0,
double v0,
double k1,
51 double k2,
double p1 = 0.0,
double p2 = 0.0,
double tol = 1e-5)
52 : Base(fx, fy, s, u0, v0, k1, k2, p1, p2, tol) {}
60 Cal3DS2(
const Vector9& v) : Base(v) {}
67 GTSAM_EXPORT
friend std::ostream& operator<<(std::ostream& os,
71 void print(
const std::string& s =
"")
const override;
81 Cal3DS2 retract(
const Vector& d)
const;
84 Vector localCoordinates(
const Cal3DS2& T2)
const;
87 size_t dim()
const override {
return Dim(); }
90 inline static size_t Dim() {
return dimension; }
97 std::shared_ptr<Base>
clone()
const override {
98 return std::shared_ptr<Base>(
new Cal3DS2(*
this));
107 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 109 friend class boost::serialization::access;
110 template <
class Archive>
111 void serialize(Archive& ar,
const unsigned int ) {
112 ar& boost::serialization::make_nvp(
113 "Cal3DS2", boost::serialization::base_object<Cal3DS2_Base>(*
this));
std::shared_ptr< Base > clone() const override
Definition: Cal3DS2.h:97
Both ManifoldTraits and Testable.
Definition: Manifold.h:117
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Calibration of a camera with radial distortion.
Definition: Cal3DS2_Base.h:42
size_t dim() const override
Return dimensions of calibration manifold object.
Definition: Cal3DS2.h:87
Definition: Testable.h:112
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
Calibration of a camera with radial distortion that also supports Lie-group behaviors for optimizatio...
Definition: Cal3DS2.h:35
Definition: chartTesting.h:28
static size_t Dim()
Return dimensions of calibration manifold object.
Definition: Cal3DS2.h:90