Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Public Member Functions | Static Public Attributes
pcl::cuda::SampleConsensusModel1PointPlane< Storage > Class Template Reference

SampleConsensusModel1PointPlane defines a model for 3D plane segmentation. More...

#include </__w/1/s/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model_1point_plane.h>

+ Inheritance diagram for pcl::cuda::SampleConsensusModel1PointPlane< Storage >:

Public Types

typedef SampleConsensusModel< Storage >::PointCloud PointCloud
 
typedef PointCloud::Ptr PointCloudPtr
 
typedef PointCloud::ConstPtr PointCloudConstPtr
 
typedef SampleConsensusModel< Storage >::Indices Indices
 
typedef SampleConsensusModel< Storage >::IndicesPtr IndicesPtr
 
typedef SampleConsensusModel< Storage >::IndicesConstPtr IndicesConstPtr
 
typedef SampleConsensusModel< Storage >::Coefficients Coefficients
 
typedef SampleConsensusModel< Storage >::Hypotheses Hypotheses
 
typedef SampleConsensusModel< Storage >::Samples Samples
 
typedef boost::shared_ptr< SampleConsensusModel1PointPlanePtr
 
- Public Types inherited from pcl::cuda::SampleConsensusModel< Storage >
typedef PointCloudAOS< Storage > PointCloud
 
typedef PointCloud::Ptr PointCloudPtr
 
typedef PointCloud::ConstPtr PointCloudConstPtr
 
typedef boost::shared_ptr< SampleConsensusModelPtr
 
typedef boost::shared_ptr< const SampleConsensusModelConstPtr
 
typedef Storage< int >::type Indices
 
typedef boost::shared_ptr< typename Storage< int >::type > IndicesPtr
 
typedef boost::shared_ptr< const typename Storage< int >::type > IndicesConstPtr
 
typedef Storage< float >::type Coefficients
 
typedef boost::shared_ptr< CoefficientsCoefficientsPtr
 
typedef boost::shared_ptr< const CoefficientsCoefficientsConstPtr
 
typedef Storage< float4 >::type Hypotheses
 
typedef Storage< int >::type Samples
 

Public Member Functions

 SampleConsensusModel1PointPlane (const PointCloudConstPtr &cloud)
 Constructor for base SampleConsensusModel1PointPlane. More...
 
void getSamples (int &iterations, Indices &samples)
 Get 3 random non-collinear points as data samples and return them as point indices. More...
 
bool computeModelCoefficients (const Indices &samples, Coefficients &model_coefficients)
 Check whether the given index samples can form a valid plane model, compute the model coefficients from these samples and store them in model_coefficients. More...
 
bool generateModelHypotheses (Hypotheses &h, int max_iterations)
 
bool generateModelHypotheses (Hypotheses &h, Samples &s, int max_iterations)
 
int selectWithinDistance (const Coefficients &model_coefficients, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)
 Select all the points which respect the given model coefficients as inliers. More...
 
int selectWithinDistance (const Hypotheses &h, int idx, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)
 
int selectWithinDistance (Hypotheses &h, int idx, float threshold, IndicesPtr &inliers_stencil, float3 &centroid)
 
int countWithinDistance (const Coefficients &model_coefficients, float threshold)
 
int countWithinDistance (const Hypotheses &h, int idx, float threshold)
 
- Public Member Functions inherited from pcl::cuda::SampleConsensusModel< Storage >
 SampleConsensusModel (const PointCloudConstPtr &cloud)
 Constructor for base SampleConsensusModel. More...
 
virtual ~SampleConsensusModel ()
 Destructor for base SampleConsensusModel. More...
 
virtual bool isSampleInlier (IndicesPtr &inliers_stencil, Samples &samples, unsigned int &i)
 
int deleteIndices (const IndicesPtr &indices_stencil)
 
int deleteIndices (const Hypotheses &h, int idx, IndicesPtr &inliers, const IndicesPtr &inliers_delete)
 
virtual void setInputCloud (const PointCloudConstPtr &cloud)
 Provide a pointer to the input dataset. More...
 
PointCloudConstPtr getInputCloud () const
 Get a pointer to the input point cloud dataset. More...
 
IndicesPtr getIndices () const
 Get a pointer to the vector of indices used. More...
 
void setRadiusLimits (float min_radius, float max_radius)
 Set the minimum and maximum allowable radius limits for the model (applicable to models that estimate a radius) More...
 
void getRadiusLimits (float &min_radius, float &max_radius)
 Get the minimum and maximum allowable radius limits for the model as set by the user. More...
 
boost::shared_ptr< typename Storage< float4 >::type > getNormals ()
 
void setNormals (boost::shared_ptr< typename Storage< float4 >::type > normals)
 

Static Public Attributes

static const int MAX_ITERATIONS_COLLINEAR = 1000
 Define the maximum number of iterations for collinearity checks. More...
 

Additional Inherited Members

- Protected Attributes inherited from pcl::cuda::SampleConsensusModel< Storage >
PointCloudConstPtr input_
 A boost shared pointer to the point cloud data array. More...
 
boost::shared_ptr< typename Storage< float4 >::type > normals_
 
IndicesPtr indices_
 A pointer to the vector of point indices to use. More...
 
IndicesPtr indices_stencil_
 A pointer to the vector of point indices (stencil) to use. More...
 
unsigned int nr_indices_in_stencil_
 number of indices left in indices_stencil_ More...
 
float radius_min_
 The minimum and maximum radius limits for the model. More...
 
float radius_max_
 
thrust::minstd_rand rngl_
 Linear-Congruent random number generator engine. More...
 

Detailed Description

template<template< typename > class Storage>
class pcl::cuda::SampleConsensusModel1PointPlane< Storage >

SampleConsensusModel1PointPlane defines a model for 3D plane segmentation.

Definition at line 157 of file sac_model_1point_plane.h.

Member Typedef Documentation

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::Coefficients pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Coefficients

Definition at line 174 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::Hypotheses pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Hypotheses

Definition at line 175 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::Indices pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Indices

Definition at line 170 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::IndicesConstPtr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::IndicesConstPtr

Definition at line 172 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::IndicesPtr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::IndicesPtr

Definition at line 171 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::PointCloud pcl::cuda::SampleConsensusModel1PointPlane< Storage >::PointCloud

Definition at line 166 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef PointCloud::ConstPtr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::PointCloudConstPtr

Definition at line 168 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef PointCloud::Ptr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::PointCloudPtr

Definition at line 167 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef boost::shared_ptr<SampleConsensusModel1PointPlane> pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Ptr

Definition at line 179 of file sac_model_1point_plane.h.

template<template< typename > class Storage>
typedef SampleConsensusModel<Storage>::Samples pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Samples

Definition at line 176 of file sac_model_1point_plane.h.

Constructor & Destructor Documentation

template<template< typename > class Storage>
pcl::cuda::SampleConsensusModel1PointPlane< Storage >::SampleConsensusModel1PointPlane ( const PointCloudConstPtr cloud)

Constructor for base SampleConsensusModel1PointPlane.

Parameters
cloudthe input point cloud dataset

Member Function Documentation

template<template< typename > class Storage>
bool pcl::cuda::SampleConsensusModel1PointPlane< Storage >::computeModelCoefficients ( const Indices samples,
Coefficients model_coefficients 
)
virtual

Check whether the given index samples can form a valid plane model, compute the model coefficients from these samples and store them in model_coefficients.

The plane coefficients are: a, b, c, d (ax+by+cz+d=0)

Parameters
samplesthe point indices found as possible good candidates for creating a valid model
model_coefficientsthe resultant model coefficients

Implements pcl::cuda::SampleConsensusModel< Storage >.

template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::countWithinDistance ( const Coefficients model_coefficients,
float  threshold 
)
virtual
template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::countWithinDistance ( const Hypotheses h,
int  idx,
float  threshold 
)
virtual
template<template< typename > class Storage>
bool pcl::cuda::SampleConsensusModel1PointPlane< Storage >::generateModelHypotheses ( Hypotheses h,
int  max_iterations 
)
virtual
template<template< typename > class Storage>
bool pcl::cuda::SampleConsensusModel1PointPlane< Storage >::generateModelHypotheses ( Hypotheses h,
Samples s,
int  max_iterations 
)
virtual
template<template< typename > class Storage>
void pcl::cuda::SampleConsensusModel1PointPlane< Storage >::getSamples ( int &  iterations,
Indices samples 
)
virtual

Get 3 random non-collinear points as data samples and return them as point indices.

Parameters
iterationsthe internal number of iterations used by SAC methods
samplesthe resultant model samples
Note
assumes unique points!

Implements pcl::cuda::SampleConsensusModel< Storage >.

template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::selectWithinDistance ( const Coefficients model_coefficients,
float  threshold,
IndicesPtr inliers,
IndicesPtr inliers_stencil 
)
virtual

Select all the points which respect the given model coefficients as inliers.

Parameters
model_coefficientsthe coefficients of a plane model that we need to compute distances to
thresholda maximum admissible distance threshold for determining the inliers from the outliers
inliersthe resultant model inliers
inliers_stencil

Implements pcl::cuda::SampleConsensusModel< Storage >.

template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::selectWithinDistance ( const Hypotheses h,
int  idx,
float  threshold,
IndicesPtr inliers,
IndicesPtr inliers_stencil 
)
virtual
template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::selectWithinDistance ( Hypotheses h,
int  idx,
float  threshold,
IndicesPtr inliers_stencil,
float3 &  centroid 
)
virtual

Member Data Documentation

template<template< typename > class Storage>
const int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::MAX_ITERATIONS_COLLINEAR = 1000
static

Define the maximum number of iterations for collinearity checks.

Definition at line 237 of file sac_model_1point_plane.h.


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