SampleConsensusModel represents the base model class. More...
#include </__w/1/s/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model.h>
Public Types |
|
using | PointCloud = PointCloudAOS< Storage > |
using | PointCloudPtr = typename PointCloud::Ptr |
using | PointCloudConstPtr = typename PointCloud::ConstPtr |
using | Ptr = shared_ptr< SampleConsensusModel > |
using | ConstPtr = shared_ptr< const SampleConsensusModel > |
using | Indices = typename Storage< int >::type |
using | IndicesPtr = shared_ptr< typename Storage< int >::type > |
using | IndicesConstPtr = shared_ptr< const typename Storage< int >::type > |
using | Coefficients = typename Storage< float >::type |
using | CoefficientsPtr = shared_ptr< Coefficients > |
using | CoefficientsConstPtr = shared_ptr< const Coefficients > |
using | Hypotheses = typename Storage< float4 >::type |
using | Samples = typename Storage< int >::type |
Public Member Functions |
|
SampleConsensusModel (const PointCloudConstPtr &cloud) | |
Constructor for base SampleConsensusModel. More... |
|
virtual | ~SampleConsensusModel () |
Destructor for base SampleConsensusModel. More... |
|
virtual void | getSamples (int &iterations, Indices &samples)=0 |
Get a set of random data samples and return them as point indices. More... |
|
virtual bool | computeModelCoefficients (const Indices &samples, Coefficients &model_coefficients)=0 |
Check whether the given index samples can form a valid model, compute the model coefficients from these samples and store them in model_coefficients. More... |
|
virtual bool | generateModelHypotheses (Hypotheses &h, int max_iterations)=0 |
virtual bool | generateModelHypotheses (Hypotheses &h, Samples &s, int max_iterations)=0 |
virtual bool | isSampleInlier (IndicesPtr &inliers_stencil, Samples &samples, unsigned int &i) |
virtual int | selectWithinDistance (const Coefficients &model_coefficients, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)=0 |
Select all the points which respect the given model coefficients as inliers. More... |
|
virtual int | selectWithinDistance (const Hypotheses &h, int idx, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)=0 |
virtual int | selectWithinDistance (Hypotheses &h, int idx, float threshold, IndicesPtr &inliers_stencil, float3 ¢roid)=0 |
virtual int | countWithinDistance (const Coefficients &model_coefficients, float threshold)=0 |
virtual int | countWithinDistance (const Hypotheses &h, int idx, float threshold)=0 |
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... |
|
shared_ptr< typename Storage< float4 >::type > | getNormals () |
void | setNormals (shared_ptr< typename Storage< float4 >::type > normals) |
Protected Attributes |
|
PointCloudConstPtr | input_ |
A boost shared pointer to the point cloud data array. More... |
|
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::SampleConsensusModel< Storage >
SampleConsensusModel represents the base model class.
All sample consensus models must inherit from this class.
Definition at line 87 of file sac_model.h.
Member Typedef Documentation
Coefficients
using pcl::cuda::SampleConsensusModel< Storage >::Coefficients = typename Storage<float>::type |
Definition at line 101 of file sac_model.h.
CoefficientsConstPtr
using pcl::cuda::SampleConsensusModel< Storage >::CoefficientsConstPtr = shared_ptr <const Coefficients> |
Definition at line 103 of file sac_model.h.
CoefficientsPtr
using pcl::cuda::SampleConsensusModel< Storage >::CoefficientsPtr = shared_ptr <Coefficients> |
Definition at line 102 of file sac_model.h.
ConstPtr
using pcl::cuda::SampleConsensusModel< Storage >::ConstPtr = shared_ptr<const SampleConsensusModel> |
Definition at line 95 of file sac_model.h.
Hypotheses
using pcl::cuda::SampleConsensusModel< Storage >::Hypotheses = typename Storage<float4>::type |
Definition at line 105 of file sac_model.h.
Indices
using pcl::cuda::SampleConsensusModel< Storage >::Indices = typename Storage<int>::type |
Definition at line 97 of file sac_model.h.
IndicesConstPtr
using pcl::cuda::SampleConsensusModel< Storage >::IndicesConstPtr = shared_ptr<const typename Storage<int>::type> |
Definition at line 99 of file sac_model.h.
IndicesPtr
using pcl::cuda::SampleConsensusModel< Storage >::IndicesPtr = shared_ptr<typename Storage<int>::type> |
Definition at line 98 of file sac_model.h.
PointCloud
using pcl::cuda::SampleConsensusModel< Storage >::PointCloud = PointCloudAOS<Storage> |
Definition at line 90 of file sac_model.h.
PointCloudConstPtr
using pcl::cuda::SampleConsensusModel< Storage >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 92 of file sac_model.h.
PointCloudPtr
using pcl::cuda::SampleConsensusModel< Storage >::PointCloudPtr = typename PointCloud::Ptr |
Definition at line 91 of file sac_model.h.
Ptr
using pcl::cuda::SampleConsensusModel< Storage >::Ptr = shared_ptr<SampleConsensusModel> |
Definition at line 94 of file sac_model.h.
Samples
using pcl::cuda::SampleConsensusModel< Storage >::Samples = typename Storage<int>::type |
Definition at line 107 of file sac_model.h.
Constructor & Destructor Documentation
SampleConsensusModel()
|
inline |
Constructor for base SampleConsensusModel.
- Parameters
-
cloud the input point cloud dataset
Definition at line 118 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::setInputCloud().
~SampleConsensusModel()
|
inlinevirtual |
Destructor for base SampleConsensusModel.
Definition at line 143 of file sac_model.h.
Member Function Documentation
computeModelCoefficients()
|
pure virtual |
Check whether the given index samples can form a valid model, compute the model coefficients from these samples and store them in model_coefficients.
Pure virtual.
- Parameters
-
samples the point indices found as possible good candidates for creating a valid model, stored on the device model_coefficients the computed model coefficients
Implemented in pcl::cuda::SampleConsensusModel1PointPlane< Storage >, and pcl::cuda::SampleConsensusModelPlane< Storage >.
countWithinDistance() [1/2]
|
pure virtual |
countWithinDistance() [2/2]
|
pure virtual |
deleteIndices() [1/2]
int pcl::cuda::SampleConsensusModel< Storage >::deleteIndices | ( | const Hypotheses & | h, |
int | idx, | ||
IndicesPtr & | inliers, | ||
const IndicesPtr & | inliers_delete | ||
) |
deleteIndices() [2/2]
int pcl::cuda::SampleConsensusModel< Storage >::deleteIndices | ( | const IndicesPtr & | indices_stencil | ) |
generateModelHypotheses() [1/2]
|
pure virtual |
generateModelHypotheses() [2/2]
|
pure virtual |
getIndices()
|
inline |
Get a pointer to the vector of indices used.
Definition at line 287 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::indices_, pcl::cuda::SampleConsensusModel< Storage >::indices_stencil_, and pcl::cuda::SampleConsensusModel< Storage >::nr_indices_in_stencil_.
getInputCloud()
|
inline |
Get a pointer to the input point cloud dataset.
Definition at line 268 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::input_.
getNormals()
|
inline |
Definition at line 335 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::normals_.
getRadiusLimits()
|
inline |
Get the minimum and maximum allowable radius limits for the model as set by the user.
- Parameters
-
min_radius the resultant minimum radius model max_radius the resultant maximum radius model
Definition at line 326 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::radius_max_, and pcl::cuda::SampleConsensusModel< Storage >::radius_min_.
getSamples()
|
pure virtual |
Get a set of random data samples and return them as point indices.
Pure virtual.
- Parameters
-
iterations the internal number of iterations used by SAC methods samples the resultant model samples, stored on the device
Implemented in pcl::cuda::SampleConsensusModel1PointPlane< Storage >, and pcl::cuda::SampleConsensusModelPlane< Storage >.
isSampleInlier()
|
inlinevirtual |
Definition at line 170 of file sac_model.h.
selectWithinDistance() [1/3]
|
pure virtual |
Select all the points which respect the given model coefficients as inliers.
Pure virtual.
- Parameters
-
model_coefficients the coefficients of a model that we need to compute distances to threshold a maximum admissible distance threshold for determining the inliers from the outliers inliers the resultant model inliers inliers_stencil
Implemented in pcl::cuda::SampleConsensusModel1PointPlane< Storage >, and pcl::cuda::SampleConsensusModelPlane< Storage >.
selectWithinDistance() [2/3]
|
pure virtual |
selectWithinDistance() [3/3]
|
pure virtual |
setInputCloud()
|
virtual |
Provide a pointer to the input dataset.
- Parameters
-
cloud the const boost shared pointer to a PointCloud message
Referenced by pcl::cuda::SampleConsensusModel< Storage >::SampleConsensusModel().
setNormals()
|
inline |
Definition at line 338 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::normals_.
setRadiusLimits()
|
inline |
Set the minimum and maximum allowable radius limits for the model (applicable to models that estimate a radius)
- Parameters
-
min_radius the minimum radius model max_radius the maximum radius model
- Todo:
- change this to set limits on the entire model
Definition at line 313 of file sac_model.h.
References pcl::cuda::SampleConsensusModel< Storage >::radius_max_, and pcl::cuda::SampleConsensusModel< Storage >::radius_min_.
Member Data Documentation
indices_
|
protected |
A pointer to the vector of point indices to use.
Definition at line 353 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getIndices().
indices_stencil_
|
protected |
A pointer to the vector of point indices (stencil) to use.
Definition at line 355 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getIndices().
input_
|
protected |
A boost shared pointer to the point cloud data array.
Definition at line 349 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getInputCloud().
normals_
|
protected |
Definition at line 350 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getNormals(), and pcl::cuda::SampleConsensusModel< Storage >::setNormals().
nr_indices_in_stencil_
|
protected |
number of indices left in indices_stencil_
Definition at line 357 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getIndices().
radius_max_
|
protected |
Definition at line 362 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getRadiusLimits(), and pcl::cuda::SampleConsensusModel< Storage >::setRadiusLimits().
radius_min_
|
protected |
The minimum and maximum radius limits for the model.
Applicable to all models that estimate a radius.
Definition at line 362 of file sac_model.h.
Referenced by pcl::cuda::SampleConsensusModel< Storage >::getRadiusLimits(), and pcl::cuda::SampleConsensusModel< Storage >::setRadiusLimits().
rngl_
|
protected |
Linear-Congruent random number generator engine.
Definition at line 365 of file sac_model.h.
The documentation for this class was generated from the following file:
- /__w/1/s/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1cuda_1_1_sample_consensus_model.html