point_cloud_library / 1.12.1 / classpcl_1_1cuda_1_1_sample_consensus_model1_point_plane.html /

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>

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< SampleConsensusModel1PointPlane >
using ConstPtr = shared_ptr< const SampleConsensusModel1PointPlane >
- 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

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...
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::SampleConsensusModel1PointPlane< Storage >

SampleConsensusModel1PointPlane defines a model for 3D plane segmentation.

Definition at line 157 of file sac_model_1point_plane.h.

Member Typedef Documentation

Coefficients

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

Definition at line 174 of file sac_model_1point_plane.h.

ConstPtr

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

Definition at line 180 of file sac_model_1point_plane.h.

Hypotheses

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

Definition at line 175 of file sac_model_1point_plane.h.

Indices

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

Definition at line 170 of file sac_model_1point_plane.h.

IndicesConstPtr

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

Definition at line 172 of file sac_model_1point_plane.h.

IndicesPtr

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

Definition at line 171 of file sac_model_1point_plane.h.

PointCloud

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

Definition at line 166 of file sac_model_1point_plane.h.

PointCloudConstPtr

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

Definition at line 168 of file sac_model_1point_plane.h.

PointCloudPtr

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

Definition at line 167 of file sac_model_1point_plane.h.

Ptr

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

Definition at line 179 of file sac_model_1point_plane.h.

Samples

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

Definition at line 176 of file sac_model_1point_plane.h.

Constructor & Destructor Documentation

SampleConsensusModel1PointPlane()

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

Constructor for base SampleConsensusModel1PointPlane.

Parameters
cloud the input point cloud dataset

Member Function Documentation

computeModelCoefficients()

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
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::SampleConsensusModel1PointPlane< Storage >::countWithinDistance ( const Coefficients & model_coefficients,
float threshold
)
virtual

countWithinDistance() [2/2]

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

generateModelHypotheses() [1/2]

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

generateModelHypotheses() [2/2]

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

getSamples()

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
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::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_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::SampleConsensusModel1PointPlane< 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::SampleConsensusModel1PointPlane< 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::SampleConsensusModel1PointPlane< Storage >::MAX_ITERATIONS_COLLINEAR = 1000
static

Definition at line 238 of file sac_model_1point_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_model1_point_plane.html