Loading...
Searching...
No Matches
gtsam::PinholeBaseK< CALIBRATION > Class Template Referenceabstract
Geometry

## Detailed Description

template<typename CALIBRATION>
class gtsam::PinholeBaseK< CALIBRATION >

A pinhole camera class that has a Pose3 and a fixed Calibration.

Inheritance diagram for gtsam::PinholeBaseK< CALIBRATION >:

## Transformations and measurement functions

class | boost::serialization::access
| Serialization function.
std::pair< Point2, bool > | projectSafe (const Point3 &pw) const
| Project a point into the image and check depth.
template<class POINT>
Point2 | _project (const POINT &pw, OptionalJacobian< 2, 6 > Dpose, OptionalJacobian< 2, FixedDimension< POINT >::value > Dpoint, OptionalJacobian< 2, DimK > Dcal) const
| Templated projection of a point (possibly at infinity) from world coordinate to the image.
Point2 | project (const Point3 &pw, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 3 > Dpoint=boost::none, OptionalJacobian< 2, DimK > Dcal=boost::none) const
| project a 3D point from world coordinates into the image
Point2 | reprojectionError (const Point3 &pw, const Point2 &measured, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 3 > Dpoint=boost::none, OptionalJacobian< 2, DimK > Dcal=boost::none) const
| project a 3D point from world coordinates into the image
Point2 | project (const Unit3 &pw, OptionalJacobian< 2, 6 > Dpose=boost::none, OptionalJacobian< 2, 2 > Dpoint=boost::none, OptionalJacobian< 2, DimK > Dcal=boost::none) const
| project a point at infinity from world coordinates into the image
Point3 | backproject (const Point2 &p, double depth, OptionalJacobian< 3, 6 > Dresult_dpose=boost::none, OptionalJacobian< 3, 2 > Dresult_dp=boost::none, OptionalJacobian< 3, 1 > Dresult_ddepth=boost::none, OptionalJacobian< 3, DimK > Dresult_dcal=boost::none) const
| backproject a 2-dimensional point to a 3-dimensional point at given depth
Unit3 | backprojectPointAtInfinity (const Point2 &p) const
| backproject a 2-dimensional point to a 3-dimensional point at infinity
double | range (const Point3 &point, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 3 > Dpoint=boost::none) const
| Calculate range to a landmark.
double | range (const Pose3 &pose, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 6 > Dpose=boost::none) const
| Calculate range to another pose.
double | range (const CalibratedCamera &camera, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 6 > Dother=boost::none) const
| Calculate range to a CalibratedCamera.
template<class CalibrationB>
double | range (const PinholeBaseK< CalibrationB > &camera, OptionalJacobian< 1, 6 > Dcamera=boost::none, OptionalJacobian< 1, 6 > Dother=boost::none) const
| Calculate range to a PinholePoseK derived class.

## Standard Constructors

| PinholeBaseK ()
| default constructor
| PinholeBaseK (const Pose3 &pose)
| constructor with pose

## Advanced Constructors

| PinholeBaseK (const Vector &v)

## Standard Interface

virtual const CALIBRATION & | calibration () const =0
| return calibration

## Public Types

typedef CALIBRATION | CalibrationType
Public Types inherited from gtsam::PinholeBase
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

## Additional Inherited Members

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.
| PinholeBase ()
| Default constructor.
| PinholeBase (const Pose3 &pose)
| Constructor with pose.
| PinholeBase (const Vector &v)
virtual | ~PinholeBase ()=default
| Default destructor.
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
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
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.
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
static std::pair< size_t, size_t > | translationInterval ()
| Return the start and end indices (inclusive) of the translation component of the exponential map parameterization.
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.

## Member Function Documentation

## _project()

template<typename CALIBRATION>
template<class POINT>

Point2 gtsam::PinholeBaseK< CALIBRATION >::_project | ( | const POINT & | pw,
|  | OptionalJacobian< 2, 6 > | Dpose,
|  | OptionalJacobian< 2, FixedDimension< POINT >::value > | Dpoint,
|  | OptionalJacobian< 2, DimK > | Dcal ) const

inline

Templated projection of a point (possibly at infinity) from world coordinate to the image.

Parameters

  pw | is a 3D point or a Unit3 (point at infinity) in world coordinates
  Dpose | is the Jacobian w.r.t. pose3
  Dpoint | is the Jacobian w.r.t. point3
  Dcal | is the Jacobian w.r.t. calibration

## calibration()

template<typename CALIBRATION>

virtual const CALIBRATION & gtsam::PinholeBaseK< CALIBRATION >::calibration | ( |  | ) | const

pure virtual

return calibration

Implemented in 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 >.

## range() [1/4]

template<typename CALIBRATION>

double gtsam::PinholeBaseK< CALIBRATION >::range | ( | const CalibratedCamera & | camera,
|  | OptionalJacobian< 1, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 1, 6 > | Dother = boost::none ) const

inline

Calculate range to a CalibratedCamera.

Parameters

  camera | Other camera

Returns
  range (double)

## range() [2/4]

template<typename CALIBRATION>
template<class CalibrationB>

double gtsam::PinholeBaseK< CALIBRATION >::range | ( | const PinholeBaseK< CalibrationB > & | camera,
|  | OptionalJacobian< 1, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 1, 6 > | Dother = boost::none ) const

inline

Calculate range to a PinholePoseK derived class.

Parameters

  camera | Other camera

Returns
  range (double)

## range() [3/4]

template<typename CALIBRATION>

double gtsam::PinholeBaseK< CALIBRATION >::range | ( | const Point3 & | point,
|  | OptionalJacobian< 1, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 1, 3 > | Dpoint = boost::none ) const

inline

Calculate range to a landmark.

Parameters

  point | 3D location of landmark

Returns
  range (double)

## range() [4/4]

template<typename CALIBRATION>

double gtsam::PinholeBaseK< CALIBRATION >::range | ( | const Pose3 & | pose,
|  | OptionalJacobian< 1, 6 > | Dcamera = boost::none,
|  | OptionalJacobian< 1, 6 > | Dpose = boost::none ) const

inline

Calculate range to another pose.

Parameters

  pose | Other SO(3) pose

Returns
  range (double)

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

- /build/gtsam-RkN8wG/gtsam-4.2.2+dfsg/gtsam/geometry/PinholePose.h