Loading...
Searching...
No Matches
pcl::cuda::SampleConsensusModelPlane< Storage > Class Template Reference

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

`#include </build/pcl-Jv4Ahb/pcl-1.14.0+dfsg/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model_plane.h>`

Inheritance diagram for pcl::cuda::SampleConsensusModelPlane< Storage >:

## 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.
void | getSamples (int &iterations, Indices &samples)
| Get 3 random non-collinear points as data samples and return them as point indices.
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.
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.
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.
virtual | ~SampleConsensusModel ()=default
| Destructor for base SampleConsensusModel.
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.
PointCloudConstPtr | getInputCloud () const
| Get a pointer to the input point cloud dataset.
IndicesPtr | getIndices () const
| Get a pointer to the vector of indices used.
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)
void | getRadiusLimits (float &min_radius, float &max_radius)
| Get the minimum and maximum allowable radius limits for the model as set by the user.
shared_ptr< typename Storage< float4 >::type > | getNormals ()
void | setNormals (shared_ptr< typename Storage< float4 >::type > normals)

## Static Public Attributes

static const 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.
shared_ptr< typename Storage< float4 >::type > | normals_
IndicesPtr | indices_
| A pointer to the vector of point indices to use.
IndicesPtr | indices_stencil_
| A pointer to the vector of point indices (stencil) to use.
unsigned int | nr_indices_in_stencil_
| number of indices left in indices_stencil_
float | radius_min_
| The minimum and maximum radius limits for the model.
float | radius_max_
thrust::minstd_rand | rngl_
| Linear-Congruent random number generator engine.

## 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

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

## countWithinDistance() [2/2]

template<template< typename > class Storage>

int pcl::cuda::SampleConsensusModelPlane< Storage >::countWithinDistance | ( | const Hypotheses & | h,
|  | int | idx,
|  | float | threshold
| ) |  |

virtual

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

## generateModelHypotheses() [1/2]

template<template< typename > class Storage>

bool pcl::cuda::SampleConsensusModelPlane< Storage >::generateModelHypotheses | ( | Hypotheses & | h,
|  | int | max_iterations
| ) |  |

virtual

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

Referenced by pcl::cuda::SampleConsensusModelPlane< Storage >::generateModelHypotheses().

## generateModelHypotheses() [2/2]

template<template< typename > class Storage>

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

inline virtual

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

Definition at line 134 of file sac_model_plane.h.

References pcl::cuda::SampleConsensusModelPlane< Storage >::generateModelHypotheses().

## 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

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

## 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

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

## Member Data Documentation

## MAX_ITERATIONS_COLLINEAR

template<template< typename > class Storage>

const 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:

- /build/pcl-Jv4Ahb/pcl-1.14.0+dfsg/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model_plane.h