34 double k1_ = 0.0f, k2_ = 0.0f;
42 enum { dimension = 3 };
61 :
Cal3(f, f, 0,
u0,
v0), k1_(k1), k2_(k2), tol_(
tol) {}
70 GTSAM_EXPORT
friend std::ostream&
operator<<(std::ostream&
os,
74 void print(
const std::string&
s =
"")
const override;
84 inline double k1()
const {
return k1_; }
87 inline double k2()
const {
return k2_; }
90 inline double px()
const {
return u0_; }
93 inline double py()
const {
return v0_; }
95 Matrix3
K()
const override;
100 #ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V41 101 inline double u0()
const {
return u0_; }
105 inline double v0()
const {
return v0_; }
131 Matrix2 D2d_intrinsic(
const Point2& p)
const;
134 Matrix23 D2d_calibration(
const Point2& p)
const;
137 Matrix25 D2d_intrinsic_calibration(
const Point2& p)
const;
144 size_t dim()
const override {
return Dim(); }
147 inline static size_t Dim() {
return dimension; }
156 return T2.
vector() - vector();
165 friend class boost::serialization::access;
166 template <
class Archive>
168 ar& boost::serialization::make_nvp(
169 "Cal3Bundler", boost::serialization::base_object<Cal3>(*
this));
170 ar& BOOST_SERIALIZATION_NVP(k1_);
171 ar& BOOST_SERIALIZATION_NVP(k2_);
172 ar& BOOST_SERIALIZATION_NVP(tol_);
void print(const Matrix &A, const string &s, ostream &stream)
Both ManifoldTraits and Testable.
std::ostream & operator<<(std::ostream &os, const Dih6 &m)
double k1() const
distorsion parameter k1
static Cal3_S2 K(500, 500, 0.1, 640/2, 480/2)
Pose2 T2(M_PI/2.0, Point2(0.0, 2.0))
double k2() const
distorsion parameter k2
Cal3Bundler retract(const Vector &d) const
Update calibration with tangent space delta.
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Common code for all Calibration models.
double px() const
image center in x
size_t dim() const override
return DOF, dimensionality of tangent space
Cal3Bundler(double f, double k1, double k2, double u0=0, double v0=0, double tol=1e-5)
ofstream os("timeSchurFactors.csv")
Vector3 localCoordinates(const Cal3Bundler &T2) const
Calculate local coordinates to another calibration.
Point2_ uncalibrate(const Expression< CALIBRATION > &K, const Point2_ &xy_hat)
void serialize(Archive &ar, const unsigned int)
static size_t Dim()
return DOF, dimensionality of tangent space
double py() const
image center in y