Loading...
Searching...
No Matches
gtsam::PinholeBase Class Reference
Geometry

## Detailed Description

A pinhole camera class that has a Pose3, functions as base class for all pinhole cameras.

Inheritance diagram for gtsam::PinholeBase:

## Derivatives

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

## Static functions

static Pose3 | LevelPose (const Pose2 &pose2, double height)
| Create a level pose at the given 2D pose and height.
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.

## 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.
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.
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.
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.

## 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.

## Standard Constructors

| PinholeBase ()
| Default constructor.
| PinholeBase (const Pose3 &pose)
| Constructor with pose.

## Advanced Constructors

| PinholeBase (const Vector &v)
virtual | ~PinholeBase ()=default
| Default destructor.

## Testable

bool | equals (const PinholeBase &camera, double tol=1e-9) const
| assert equality up to a tolerance
virtual void | print (const std::string &s="PinholeBase") const
| print

## Standard Interface

const Pose3 & | pose () const
| return pose, constant version
const Rot3 & | rotation () const
| get rotation
const Point3 & | translation () const
| get translation
const Pose3 & | getPose (OptionalJacobian< 6, 6 > H) const
| return pose, with derivative

## 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

## Friends

class | boost::serialization::access
| Serialization function.

## Member Function Documentation

## Dpoint()

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

static protected

Calculate Jacobian with respect to point.

Parameters

  pn | projection in normalized coordinates
  d | disparity (inverse depth)
  Rt | transposed rotation matrix

## Dpose()

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

static protected

Calculate Jacobian with respect to pose.

Parameters

  pn | projection in normalized coordinates
  d | disparity (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

  K | the calibration
  pose2 | specifies the location and viewing direction (theta 0 = looking in direction of positive X axis)
  height | camera 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

  eye | specifies the camera position
  target | the point to look at
  upVector | specifies the camera up direction vector, doesn't need to be on the image plane nor orthogonal to the viewing axis

## print()

void gtsam::PinholeBase::print | ( | const std::string & | s = "PinholeBase" | ) | const

virtual

print

Reimplemented in gtsam::CalibratedCamera, gtsam::PinholeCamera< Calibration >, gtsam::PinholeCamera< Cal3Bundler >, gtsam::PinholeCamera< CALIBRATION >, gtsam::PinholeCamera< gtsam::Cal3_S2 >, gtsam::PinholeCamera< gtsam::Cal3Bundler >, gtsam::PinholeCamera< gtsam::Cal3DS2 >, gtsam::PinholeCamera< gtsam::Cal3Fisheye >, gtsam::PinholeCamera< gtsam::Cal3Unified >, and gtsam::PinholePose< CALIBRATION >.

## 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

  pc | point 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

  pc | point 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

  point | 3D 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

  point | 3D point in world coordinates

Returns
  the intrinsic coordinates of the projected point

## translationInterval()

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

inline static

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:

- /build/gtsam-gchP9J/gtsam-4.2.2+dfsg/gtsam/geometry/CalibratedCamera.h
- /build/gtsam-gchP9J/gtsam-4.2.2+dfsg/gtsam/geometry/CalibratedCamera.cpp