point_cloud_library / 1.12.1 / classpcl_1_1cuda_1_1_sample_consensus_model_plane.html /

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

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

Public Types

using PointCloud = typename SampleConsensusModel< Storage >::PointCloud
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using Indices = typename SampleConsensusModel< Storage >::Indices
using IndicesPtr = typename SampleConsensusModel< Storage >::IndicesPtr
using IndicesConstPtr = typename SampleConsensusModel< Storage >::IndicesConstPtr
using Coefficients = typename SampleConsensusModel< Storage >::Coefficients
using Hypotheses = typename SampleConsensusModel< Storage >::Hypotheses
using Samples = typename SampleConsensusModel< Storage >::Samples
using Ptr = shared_ptr< SampleConsensusModelPlane >
using ConstPtr = shared_ptr< const SampleConsensusModelPlane >
- Public Types inherited from pcl::cuda::SampleConsensusModel< Storage >
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

SampleConsensusModelPlane (const PointCloudConstPtr &cloud)
Constructor for base SampleConsensusModelPlane. 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)
virtual 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...
shared_ptr< typename Storage< float4 >::type > getNormals ()
void setNormals (shared_ptr< typename Storage< float4 >::type > normals)

Static Public Attributes

const static int MAX_ITERATIONS_COLLINEAR = 1000

Additional Inherited Members

- Protected Attributes inherited from pcl::cuda::SampleConsensusModel< Storage >
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::SampleConsensusModelPlane< Storage >

SampleConsensusModelPlane defines a model for 3D plane segmentation.

Definition at line 80 of file sac_model_plane.h.

Member Typedef Documentation

Coefficients

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::Coefficients = typename SampleConsensusModel<Storage>::Coefficients

Definition at line 95 of file sac_model_plane.h.

ConstPtr

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::ConstPtr = shared_ptr<const SampleConsensusModelPlane>

Definition at line 100 of file sac_model_plane.h.

Hypotheses

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::Hypotheses = typename SampleConsensusModel<Storage>::Hypotheses

Definition at line 96 of file sac_model_plane.h.

Indices

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::Indices = typename SampleConsensusModel<Storage>::Indices

Definition at line 91 of file sac_model_plane.h.

IndicesConstPtr

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::IndicesConstPtr = typename SampleConsensusModel<Storage>::IndicesConstPtr

Definition at line 93 of file sac_model_plane.h.

IndicesPtr

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::IndicesPtr = typename SampleConsensusModel<Storage>::IndicesPtr

Definition at line 92 of file sac_model_plane.h.

PointCloud

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::PointCloud = typename SampleConsensusModel<Storage>::PointCloud

Definition at line 87 of file sac_model_plane.h.

PointCloudConstPtr

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::PointCloudConstPtr = typename PointCloud::ConstPtr

Definition at line 89 of file sac_model_plane.h.

PointCloudPtr

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::PointCloudPtr = typename PointCloud::Ptr

Definition at line 88 of file sac_model_plane.h.

Ptr

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::Ptr = shared_ptr<SampleConsensusModelPlane>

Definition at line 99 of file sac_model_plane.h.

Samples

template<template< typename > class Storage>
using pcl::cuda::SampleConsensusModelPlane< Storage >::Samples = typename SampleConsensusModel<Storage>::Samples

Definition at line 97 of file sac_model_plane.h.

Constructor & Destructor Documentation

SampleConsensusModelPlane()

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

Constructor for base SampleConsensusModelPlane.

Parameters
cloud the input point cloud dataset

Member Function Documentation

computeModelCoefficients()

template<template< typename > class Storage>
bool pcl::cuda::SampleConsensusModelPlane< 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
samples the point indices found as possible good candidates for creating a valid model
model_coefficients the resultant model coefficients

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

countWithinDistance() [1/2]

template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModelPlane< Storage >::countWithinDistance ( const Coefficients & model_coefficients,
float threshold
)
virtual

countWithinDistance() [2/2]

template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModelPlane< Storage >::countWithinDistance ( const Hypotheses & h,
int idx,
float threshold
)
virtual

generateModelHypotheses() [1/2]

template<template< typename > class Storage>
bool pcl::cuda::SampleConsensusModelPlane< Storage >::generateModelHypotheses ( Hypotheses & h,
int max_iterations
)
virtual

generateModelHypotheses() [2/2]

template<template< typename > class Storage>
virtual bool pcl::cuda::SampleConsensusModelPlane< Storage >::generateModelHypotheses ( Hypotheses & h,
Samples & s,
int max_iterations
)
inlinevirtual

getSamples()

template<template< typename > class Storage>
void pcl::cuda::SampleConsensusModelPlane< Storage >::getSamples ( int & iterations,
Indices & samples
)
virtual

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

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

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

selectWithinDistance() [1/3]

template<template< typename > class Storage>
int pcl::cuda::SampleConsensusModelPlane< 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_coefficients the coefficients of a plane 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

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

selectWithinDistance() [2/3]

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

selectWithinDistance() [3/3]

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

Member Data Documentation

MAX_ITERATIONS_COLLINEAR

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

Definition at line 221 of file sac_model_plane.h.


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

© 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_plane.html