GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Public Member Functions | Protected Attributes | List of all members
gtsam::Cal3_S2Stereo Class Reference

The most common 5DOF 3D->2D calibration, stereo version. More...

#include <Cal3_S2Stereo.h>

Inheritance diagram for gtsam::Cal3_S2Stereo:
Inheritance graph
[legend]
Collaboration diagram for gtsam::Cal3_S2Stereo:
Collaboration graph
[legend]

Public Types

enum  { dimension = 6 }
 
using shared_ptr = std::shared_ptr< Cal3_S2Stereo >
 
enum  { dimension = 5 }
 
enum  { dimension = 5 }
 

Public Member Functions

Point2 uncalibrate (const Point2 &p, OptionalJacobian< 2, 6 > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) const
 
Point2 calibrate (const Point2 &p, OptionalJacobian< 2, 6 > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) const
 
Vector3 calibrate (const Vector3 &p) const
 

Protected Attributes

double fx_ = 1.0f
 
double fy_ = 1.0f
 focal length
 
double s_ = 0.0f
 skew
 
double u0_ = 0.0f
 
double v0_ = 0.0f
 principal point
 

Testable

bool equals (const Cal3 &K, double tol=10e-9) const
 Check if equal up to specified tolerance.
 

Standard Interface

double fx () const
 focal length x
 
double fy () const
 focal length y
 
double aspectRatio () const
 aspect ratio
 
double skew () const
 skew
 
double px () const
 image center in x
 
double py () const
 image center in y
 
Point2 principalPoint () const
 return the principal point
 
Matrix3 inverse () const
 Return inverted calibration matrix inv(K)
 

Standard Constructors

Point2 uncalibrate (const Point2 &p, OptionalJacobian< 2, 5 > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) const
 
Point2 calibrate (const Point2 &p, OptionalJacobian< 2, 5 > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) const
 

Testable

bool equals (const Cal3_S2 &K, double tol=10e-9) const
 Check if equal up to specified tolerance.
 
Cal3_S2 between (const Cal3_S2 &q, OptionalJacobian< 5, 5 > H1={}, OptionalJacobian< 5, 5 > H2={}) const
 "Between", subtracts calibrations. between(p,q) == compose(inverse(p),q)
 

Manifold

Vector5 localCoordinates (const Cal3_S2 &T2) const
 Unretraction for the calibration.
 

Standard Constructors

 Cal3_S2Stereo ()=default
 default calibration leaves coordinates unchanged
 
 Cal3_S2Stereo (double fx, double fy, double s, double u0, double v0, double b)
 constructor from doubles
 
 Cal3_S2Stereo (const Vector6 &d)
 constructor from vector
 
 Cal3_S2Stereo (double fov, int w, int h, double b)
 easy constructor; field-of-view in degrees, assumes zero skew
 

Testable

void print (const std::string &s="") const override
 print with optional string
 
bool equals (const Cal3_S2Stereo &other, double tol=10e-9) const
 Check if equal up to specified tolerance.
 
GTSAM_EXPORT friend std::ostream & operator<< (std::ostream &os, const Cal3_S2Stereo &cal)
 Output stream operator.
 

Standard Interface

const Cal3_S2calibration () const
 return calibration, same for left and right
 
Matrix3 K () const override
 return calibration matrix K, same for left and right
 
double baseline () const
 return baseline
 
Vector6 vector () const
 vectorized form (column-wise)
 

Manifold

size_t dim () const override
 return DOF, dimensionality of tangent space
 
Cal3_S2Stereo retract (const Vector &d) const
 Given 6-dim tangent vector, create new calibration.
 
Vector6 localCoordinates (const Cal3_S2Stereo &T2) const
 Unretraction for the calibration.
 
static size_t Dim ()
 return DOF, dimensionality of tangent space
 

Detailed Description

The most common 5DOF 3D->2D calibration, stereo version.

Member Function Documentation

◆ calibrate() [1/3]

Point2 gtsam::Cal3_S2Stereo::calibrate ( const Point2 p,
OptionalJacobian< 2, 6 >  Dcal = {},
OptionalJacobian< 2, 2 >  Dp = {} 
) const

Convert image coordinates uv to intrinsic coordinates xy

Parameters
ppoint in image coordinates
Dcaloptional 2*6 Jacobian wrpt Cal3_S2Stereo parameters
Dpoptional 2*2 Jacobian wrpt intrinsic coordinates
Returns
point in intrinsic coordinates

◆ calibrate() [2/3]

Point2 gtsam::Cal3_S2::calibrate ( const Point2 p,
OptionalJacobian< 2, 5 >  Dcal = {},
OptionalJacobian< 2, 2 >  Dp = {} 
) const
inherited

Convert image coordinates uv to intrinsic coordinates xy

Parameters
ppoint in image coordinates
Dcaloptional 2*5 Jacobian wrpt Cal3 parameters
Dpoptional 2*2 Jacobian wrpt intrinsic coordinates
Returns
point in intrinsic coordinates

◆ calibrate() [3/3]

Vector3 gtsam::Cal3_S2Stereo::calibrate ( const Vector3 &  p) const
inline

Convert homogeneous image coordinates to intrinsic coordinates

Parameters
ppoint in image coordinates
Returns
point in intrinsic coordinates

◆ uncalibrate() [1/2]

Point2 gtsam::Cal3_S2Stereo::uncalibrate ( const Point2 p,
OptionalJacobian< 2, 6 >  Dcal = {},
OptionalJacobian< 2, 2 >  Dp = {} 
) const

Convert intrinsic coordinates xy to image coordinates uv, fixed derivaitves

Parameters
ppoint in intrinsic coordinates
Dcaloptional 2*6 Jacobian wrpt Cal3_S2Stereo parameters
Dpoptional 2*2 Jacobian wrpt intrinsic coordinates
Returns
point in image coordinates

◆ uncalibrate() [2/2]

Point2 gtsam::Cal3_S2::uncalibrate ( const Point2 p,
OptionalJacobian< 2, 5 >  Dcal = {},
OptionalJacobian< 2, 2 >  Dp = {} 
) const
inherited

Convert intrinsic coordinates xy to image coordinates uv, fixed derivaitves

Parameters
ppoint in intrinsic coordinates
Dcaloptional 2*5 Jacobian wrpt Cal3 parameters
Dpoptional 2*2 Jacobian wrpt intrinsic coordinates
Returns
point in image coordinates

The documentation for this class was generated from the following file: