gtsam  4.1.0
gtsam
gtsam::PinholeBase Class Reference
+ Inheritance diagram for gtsam::PinholeBase:

Transformations and measurement functions

static Point2 Project (const Point3 &pc, OptionalJacobian< 2, 3 > Dpoint=boost::none)
 Project from 3D point in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane. More...
 
static Point2 Project (const Unit3 &pc, OptionalJacobian< 2, 2 > Dpoint=boost::none)
 Project from 3D point at infinity in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane. More...
 
static Point3 BackprojectFromCamera (const Point2 &p, const double depth, OptionalJacobian< 3, 2 > Dpoint=boost::none, OptionalJacobian< 3, 1 > Ddepth=boost::none)
 backproject a 2-dimensional point to a 3-dimensional point at given depth
 
std::pair< Point2, bool > projectSafe (const Point3 &pw) const
 Project a point into the image and check depth.
 
Point2 project2 (const Point3 &point, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 3 > Dpoint=boost::none) const
 Project point into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION. More...
 
Point2 project2 (const Unit3 &point, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 2 > Dpoint=boost::none) const
 Project point at infinity into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION. More...
 

Public Member Functions

Standard Constructors
 PinholeBase ()
 default constructor
 
 PinholeBase (const Pose3 &pose)
 constructor with pose
 
Advanced Constructors
 PinholeBase (const Vector &v)
 
Testable
bool equals (const PinholeBase &camera, double tol=1e-9) const
 assert equality up to a tolerance
 
void print (const std::string &s="PinholeBase") const
 print
 
Standard Interface
const Pose3pose () const
 return pose, constant version
 
const Rot3rotation () const
 get rotation
 
const Point3translation () const
 get translation
 
const Pose3getPose (OptionalJacobian< 6, 6 > H) const
 return pose, with derivative
 

Static Public Member Functions

Static functions
static Pose3 LevelPose (const Pose2 &pose2, double height)
 Create a level pose at the given 2D pose and height. More...
 
static Pose3 LookatPose (const Point3 &eye, const Point3 &target, const Point3 &upVector)
 Create a camera pose at the given eye position looking at a target point in the scene with the specified up direction vector. More...
 
Advanced interface
static std::pair< size_t, size_t > translationInterval ()
 Return the start and end indices (inclusive) of the translation component of the exponential map parameterization. More...
 

Public Types

typedef Rot3 Rotation
 Pose Concept requirements.
 
typedef Point3 Translation
 
typedef Point2 Measurement
 Some classes template on either PinholeCamera or StereoCamera, and this typedef informs those classes what "project" returns.
 
typedef Point2Vector MeasurementVector
 

Static Protected Member Functions

Derivatives
static Matrix26 Dpose (const Point2 &pn, double d)
 Calculate Jacobian with respect to pose. More...
 
static Matrix23 Dpoint (const Point2 &pn, double d, const Matrix3 &Rt)
 Calculate Jacobian with respect to point. More...
 

Friends

class boost::serialization::access
 Serialization function.
 

Member Function Documentation

◆ Dpoint()

Matrix23 gtsam::PinholeBase::Dpoint ( const Point2 pn,
double  d,
const Matrix3 &  Rt 
)
staticprotected

Calculate Jacobian with respect to point.

Parameters
pnprojection in normalized coordinates
ddisparity (inverse depth)
Rttransposed rotation matrix

◆ Dpose()

Matrix26 gtsam::PinholeBase::Dpose ( const Point2 pn,
double  d 
)
staticprotected

Calculate Jacobian with respect to pose.

Parameters
pnprojection in normalized coordinates
ddisparity (inverse depth)

◆ LevelPose()

Pose3 gtsam::PinholeBase::LevelPose ( const Pose2 pose2,
double  height 
)
static

Create a level pose at the given 2D pose and height.

Parameters
Kthe calibration
pose2specifies the location and viewing direction (theta 0 = looking in direction of positive X axis)
heightcamera height

◆ LookatPose()

Pose3 gtsam::PinholeBase::LookatPose ( const Point3 eye,
const Point3 target,
const Point3 upVector 
)
static

Create a camera pose at the given eye position looking at a target point in the scene with the specified up direction vector.

Parameters
eyespecifies the camera position
targetthe point to look at
upVectorspecifies the camera up direction vector, doesn't need to be on the image plane nor orthogonal to the viewing axis

◆ Project() [1/2]

Point2 gtsam::PinholeBase::Project ( const Point3 pc,
OptionalJacobian< 2, 3 >  Dpoint = boost::none 
)
static

Project from 3D point in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane.

Parameters
pcpoint in camera coordinates

◆ Project() [2/2]

Point2 gtsam::PinholeBase::Project ( const Unit3 pc,
OptionalJacobian< 2, 2 >  Dpoint = boost::none 
)
static

Project from 3D point at infinity in camera coordinates into image Does not throw a CheiralityException, even if pc behind image plane.

Parameters
pcpoint in camera coordinates

◆ project2() [1/2]

Point2 gtsam::PinholeBase::project2 ( const Point3 point,
OptionalJacobian< 2, 6 >  Dpose = boost::none,
OptionalJacobian< 2, 3 >  Dpoint = boost::none 
) const

Project point into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION.

Parameters
point3D point in world coordinates
Returns
the intrinsic coordinates of the projected point

◆ project2() [2/2]

Point2 gtsam::PinholeBase::project2 ( const Unit3 point,
OptionalJacobian< 2, 6 >  Dpose = boost::none,
OptionalJacobian< 2, 2 >  Dpoint = boost::none 
) const

Project point at infinity into the image Throws a CheiralityException if point behind image plane iff GTSAM_THROW_CHEIRALITY_EXCEPTION.

Parameters
point3D point in world coordinates
Returns
the intrinsic coordinates of the projected point

◆ translationInterval()

static std::pair<size_t, size_t> gtsam::PinholeBase::translationInterval ( )
inlinestatic

Return the start and end indices (inclusive) of the translation component of the exponential map parameterization.

Returns
a pair of [start, end] indices into the tangent space vector

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