Point Cloud Library (PCL)  1.7.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::SACSegmentationFromNormals< PointT, PointNT > Class Template Reference

SACSegmentationFromNormals represents the PCL nodelet segmentation class for Sample Consensus methods and models that require the use of surface normals for estimation. More...

#include <pcl/segmentation/sac_segmentation.h>

+ Inheritance diagram for pcl::SACSegmentationFromNormals< PointT, PointNT >:

List of all members.

Public Types

typedef SACSegmentation
< PointT >::PointCloud 
PointCloud
typedef PointCloud::Ptr PointCloudPtr
typedef PointCloud::ConstPtr PointCloudConstPtr
typedef pcl::PointCloud< PointNT > PointCloudN
typedef PointCloudN::Ptr PointCloudNPtr
typedef PointCloudN::ConstPtr PointCloudNConstPtr
typedef SampleConsensus
< PointT >::Ptr 
SampleConsensusPtr
typedef SampleConsensusModel
< PointT >::Ptr 
SampleConsensusModelPtr
typedef
SampleConsensusModelFromNormals
< PointT, PointNT >::Ptr 
SampleConsensusModelFromNormalsPtr

Public Member Functions

 SACSegmentationFromNormals (bool random=false)
 Empty constructor.
void setInputNormals (const PointCloudNConstPtr &normals)
 Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.
PointCloudNConstPtr getInputNormals () const
 Get a pointer to the normals of the input XYZ point cloud dataset.
void setNormalDistanceWeight (double distance_weight)
 Set the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.
double getNormalDistanceWeight () const
 Get the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.
void setMinMaxOpeningAngle (const double &min_angle, const double &max_angle)
 Set the minimum opning angle for a cone model.
void getMinMaxOpeningAngle (double &min_angle, double &max_angle)
 Get the opening angle which we need minumum to validate a cone model.
void setDistanceFromOrigin (const double d)
 Set the distance we expect a plane model to be from the origin.
double getDistanceFromOrigin () const
 Get the distance of a plane model from the origin.

Protected Member Functions

virtual bool initSACModel (const int model_type)
 Initialize the Sample Consensus model and set its parameters.
virtual std::string getClassName () const
 Class get name method.

Protected Attributes

PointCloudNConstPtr normals_
 A pointer to the input dataset that contains the point normals of the XYZ dataset.
double distance_weight_
 The relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.
double distance_from_origin_
 The distance from the template plane to the origin.
double min_angle_
 The minimum and maximum allowed opening angle of valid cone model.
double max_angle_

Detailed Description

template<typename PointT, typename PointNT>
class pcl::SACSegmentationFromNormals< PointT, PointNT >

SACSegmentationFromNormals represents the PCL nodelet segmentation class for Sample Consensus methods and models that require the use of surface normals for estimation.

Definition at line 310 of file sac_segmentation.h.


Member Typedef Documentation

template<typename PointT , typename PointNT >
typedef SACSegmentation<PointT>::PointCloud pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloud

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 324 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef PointCloud::ConstPtr pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudConstPtr

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 326 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef pcl::PointCloud<PointNT> pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudN

Definition at line 328 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef PointCloudN::ConstPtr pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudNConstPtr

Definition at line 330 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef PointCloudN::Ptr pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudNPtr

Definition at line 329 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef PointCloud::Ptr pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudPtr

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 325 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef SampleConsensusModelFromNormals<PointT, PointNT>::Ptr pcl::SACSegmentationFromNormals< PointT, PointNT >::SampleConsensusModelFromNormalsPtr

Definition at line 334 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef SampleConsensusModel<PointT>::Ptr pcl::SACSegmentationFromNormals< PointT, PointNT >::SampleConsensusModelPtr

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 333 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
typedef SampleConsensus<PointT>::Ptr pcl::SACSegmentationFromNormals< PointT, PointNT >::SampleConsensusPtr

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 332 of file sac_segmentation.h.


Constructor & Destructor Documentation

template<typename PointT , typename PointNT >
pcl::SACSegmentationFromNormals< PointT, PointNT >::SACSegmentationFromNormals ( bool  random = false) [inline]

Empty constructor.

Parameters:
[in]randomif true set the random seed to the current time, else set to 12345 (default: false)

Definition at line 339 of file sac_segmentation.h.


Member Function Documentation

template<typename PointT , typename PointNT >
virtual std::string pcl::SACSegmentationFromNormals< PointT, PointNT >::getClassName ( ) const [inline, protected, virtual]

Class get name method.

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 423 of file sac_segmentation.h.

template<typename PointT , typename PointNT >
double pcl::SACSegmentationFromNormals< PointT, PointNT >::getDistanceFromOrigin ( ) const [inline]

Get the distance of a plane model from the origin.

Definition at line 397 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_from_origin_.

template<typename PointT , typename PointNT >
PointCloudNConstPtr pcl::SACSegmentationFromNormals< PointT, PointNT >::getInputNormals ( ) const [inline]

Get a pointer to the normals of the input XYZ point cloud dataset.

Definition at line 357 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::normals_.

template<typename PointT , typename PointNT >
void pcl::SACSegmentationFromNormals< PointT, PointNT >::getMinMaxOpeningAngle ( double &  min_angle,
double &  max_angle 
) [inline]

Get the opening angle which we need minumum to validate a cone model.

Definition at line 383 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::max_angle_, and pcl::SACSegmentationFromNormals< PointT, PointNT >::min_angle_.

template<typename PointT , typename PointNT >
double pcl::SACSegmentationFromNormals< PointT, PointNT >::getNormalDistanceWeight ( ) const [inline]

Get the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.

Definition at line 369 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_weight_.

template<typename PointT , typename PointNT >
bool pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel ( const int  model_type) [protected, virtual]

Initialize the Sample Consensus model and set its parameters.

Parameters:
[in]model_typethe type of SAC model that is to be used

Reimplemented from pcl::SACSegmentation< PointT >.

Definition at line 342 of file sac_segmentation.hpp.

References pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getAxis(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::getAxis(), pcl::SampleConsensusModelCone< PointT, PointNT >::getAxis(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getDistanceFromOrigin(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::getEpsAngle(), pcl::SampleConsensusModelCone< PointT, PointNT >::getEpsAngle(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getEpsAngle(), pcl::SampleConsensusModelCone< PointT, PointNT >::getMinMaxOpeningAngle(), pcl::SampleConsensusModelFromNormals< PointT, PointNT >::getNormalDistanceWeight(), pcl::SampleConsensusModel< PointT >::getRadiusLimits(), pcl::SACMODEL_CONE, pcl::SACMODEL_CYLINDER, pcl::SACMODEL_NORMAL_PARALLEL_PLANE, pcl::SACMODEL_NORMAL_PLANE, pcl::SACMODEL_NORMAL_SPHERE, pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::setAxis(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::setAxis(), pcl::SampleConsensusModelCone< PointT, PointNT >::setAxis(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::setDistanceFromOrigin(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::setEpsAngle(), pcl::SampleConsensusModelCone< PointT, PointNT >::setEpsAngle(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::setEpsAngle(), pcl::SampleConsensusModelFromNormals< PointT, PointNT >::setInputNormals(), pcl::SampleConsensusModelCone< PointT, PointNT >::setMinMaxOpeningAngle(), pcl::SampleConsensusModelFromNormals< PointT, PointNT >::setNormalDistanceWeight(), and pcl::SampleConsensusModel< PointT >::setRadiusLimits().

template<typename PointT , typename PointNT >
void pcl::SACSegmentationFromNormals< PointT, PointNT >::setDistanceFromOrigin ( const double  d) [inline]

Set the distance we expect a plane model to be from the origin.

Parameters:
[in]ddistance from the template plane modl to the origin

Definition at line 393 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_from_origin_.

template<typename PointT , typename PointNT >
void pcl::SACSegmentationFromNormals< PointT, PointNT >::setInputNormals ( const PointCloudNConstPtr normals) [inline]

Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.

Parameters:
[in]normalsthe const boost shared pointer to a PointCloud message

Definition at line 353 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::normals_.

template<typename PointT , typename PointNT >
void pcl::SACSegmentationFromNormals< PointT, PointNT >::setMinMaxOpeningAngle ( const double &  min_angle,
const double &  max_angle 
) [inline]

Set the minimum opning angle for a cone model.

Parameters:
oathe opening angle which we need minumum to validate a cone model.

Definition at line 375 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::max_angle_, and pcl::SACSegmentationFromNormals< PointT, PointNT >::min_angle_.

template<typename PointT , typename PointNT >
void pcl::SACSegmentationFromNormals< PointT, PointNT >::setNormalDistanceWeight ( double  distance_weight) [inline]

Set the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.

Parameters:
[in]distance_weightthe distance/angular weight

Definition at line 364 of file sac_segmentation.h.

References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_weight_.


Member Data Documentation

template<typename PointT , typename PointNT >
double pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_from_origin_ [protected]
template<typename PointT , typename PointNT >
double pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_weight_ [protected]

The relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.

Definition at line 406 of file sac_segmentation.h.

Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getNormalDistanceWeight(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setNormalDistanceWeight().

template<typename PointT , typename PointNT >
double pcl::SACSegmentationFromNormals< PointT, PointNT >::max_angle_ [protected]
template<typename PointT , typename PointNT >
double pcl::SACSegmentationFromNormals< PointT, PointNT >::min_angle_ [protected]

The minimum and maximum allowed opening angle of valid cone model.

Definition at line 412 of file sac_segmentation.h.

Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getMinMaxOpeningAngle(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setMinMaxOpeningAngle().

template<typename PointT , typename PointNT >
PointCloudNConstPtr pcl::SACSegmentationFromNormals< PointT, PointNT >::normals_ [protected]

A pointer to the input dataset that contains the point normals of the XYZ dataset.

Definition at line 401 of file sac_segmentation.h.

Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getInputNormals(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setInputNormals().


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