Point Cloud Library (PCL)  1.7.0
Public Types | Public Member Functions
pcl::RangeImageSpherical Class Reference

RangeImageSpherical is derived from the original range image and uses a slightly different spherical projection. More...

#include <pcl/range_image/range_image_spherical.h>

+ Inheritance diagram for pcl::RangeImageSpherical:

List of all members.

Public Types

typedef RangeImage BaseClass
typedef boost::shared_ptr
< RangeImageSpherical
Ptr
typedef boost::shared_ptr
< const RangeImageSpherical
ConstPtr

Public Member Functions

PCL_EXPORTS RangeImageSpherical ()
 Constructor.
virtual PCL_EXPORTS ~RangeImageSpherical ()
 Destructor.
virtual RangeImagegetNew () const
 Return a newly created RangeImagePlanar.
Ptr makeShared ()
 Get a boost shared pointer of a copy of this.
virtual void calculate3DPoint (float image_x, float image_y, float range, Eigen::Vector3f &point) const
 Calculate the 3D point according to the given image point and range.
virtual void getImagePoint (const Eigen::Vector3f &point, float &image_x, float &image_y, float &range) const
 Calculate the image point and range from the given 3D point.
void getAnglesFromImagePoint (float image_x, float image_y, float &angle_x, float &angle_y) const
 Get the angles corresponding to the given image point.
void getImagePointFromAngles (float angle_x, float angle_y, float &image_x, float &image_y) const
 Get the image point corresponding to the given ranges.

Detailed Description

RangeImageSpherical is derived from the original range image and uses a slightly different spherical projection.

In the original range image, the image will appear more and more "scaled down" along the y axis, the further away from the mean line of the image a point is. This class removes this scaling, which makes it especially suitable for spinning LIDAR sensors that capure a 360° view, since a rotation of the sensor will now simply correspond to a shift of the range image. (This class is similar to RangeImagePlanar, but changes less of the behaviour of the base class.)

Author:
Andreas Muetzel

Definition at line 51 of file range_image_spherical.h.


Member Typedef Documentation

Reimplemented from pcl::RangeImage.

Definition at line 55 of file range_image_spherical.h.

typedef boost::shared_ptr<const RangeImageSpherical> pcl::RangeImageSpherical::ConstPtr

Reimplemented from pcl::RangeImage.

Definition at line 57 of file range_image_spherical.h.

Reimplemented from pcl::RangeImage.

Definition at line 56 of file range_image_spherical.h.


Constructor & Destructor Documentation

Constructor.

Definition at line 61 of file range_image_spherical.h.

Referenced by getNew().

virtual PCL_EXPORTS pcl::RangeImageSpherical::~RangeImageSpherical ( ) [inline, virtual]

Destructor.

Definition at line 63 of file range_image_spherical.h.


Member Function Documentation

void pcl::RangeImageSpherical::calculate3DPoint ( float  image_x,
float  image_y,
float  range,
Eigen::Vector3f &  point 
) const [inline, virtual]

Calculate the 3D point according to the given image point and range.

Parameters:
image_xthe x image position
image_ythe y image position
rangethe range
pointthe resulting 3D point
Note:
Implementation according to planar range images (compared to spherical as in the original)

Reimplemented from pcl::RangeImage.

Definition at line 44 of file range_image_spherical.hpp.

References getAnglesFromImagePoint(), and pcl::RangeImage::to_world_system_.

void pcl::RangeImageSpherical::getAnglesFromImagePoint ( float  image_x,
float  image_y,
float &  angle_x,
float &  angle_y 
) const [inline]

Get the angles corresponding to the given image point.

Reimplemented from pcl::RangeImage.

Definition at line 66 of file range_image_spherical.hpp.

References pcl::RangeImage::angular_resolution_x_, pcl::RangeImage::angular_resolution_y_, pcl::RangeImage::image_offset_x_, and pcl::RangeImage::image_offset_y_.

Referenced by calculate3DPoint().

void pcl::RangeImageSpherical::getImagePoint ( const Eigen::Vector3f &  point,
float &  image_x,
float &  image_y,
float &  range 
) const [inline, virtual]

Calculate the image point and range from the given 3D point.

Parameters:
pointthe resulting 3D point
image_xthe resulting x image position
image_ythe resulting y image position
rangethe resulting range
Note:
Implementation according to planar range images (compared to spherical as in the original)

Reimplemented from pcl::RangeImage.

Definition at line 56 of file range_image_spherical.hpp.

References pcl::RangeImage::asinLookUp(), pcl::RangeImage::atan2LookUp(), getImagePointFromAngles(), and pcl::RangeImage::to_range_image_system_.

void pcl::RangeImageSpherical::getImagePointFromAngles ( float  angle_x,
float  angle_y,
float &  image_x,
float &  image_y 
) const [inline]

Get the image point corresponding to the given ranges.

Reimplemented from pcl::RangeImage.

Definition at line 73 of file range_image_spherical.hpp.

References pcl::RangeImage::angular_resolution_x_reciprocal_, pcl::RangeImage::angular_resolution_y_reciprocal_, pcl::RangeImage::image_offset_x_, and pcl::RangeImage::image_offset_y_.

Referenced by getImagePoint().

virtual RangeImage* pcl::RangeImageSpherical::getNew ( ) const [inline, virtual]

Return a newly created RangeImagePlanar.

Reimplmentation to return an image of the same type.

Reimplemented from pcl::RangeImage.

Definition at line 68 of file range_image_spherical.h.

References RangeImageSpherical().

Get a boost shared pointer of a copy of this.

Reimplemented from pcl::RangeImage.

Definition at line 73 of file range_image_spherical.h.


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