SACSegmentationFromNormals represents the PCL nodelet segmentation class for Sample Consensus methods and models that require the use of surface normals for estimation. More...
#include <pcl/segmentation/sac_segmentation.h>
Public Member Functions | |
SACSegmentationFromNormals (bool random=false) | |
Empty constructor. More... |
|
void | setInputNormals (const PointCloudNConstPtr &normals) |
Provide a pointer to the input dataset that contains the point normals of the XYZ dataset. More... |
|
PointCloudNConstPtr | getInputNormals () const |
Get a pointer to the normals of the input XYZ point cloud dataset. More... |
|
void | setNormalDistanceWeight (double distance_weight) |
Set the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal. More... |
|
double | getNormalDistanceWeight () const |
Get the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal. More... |
|
void | setMinMaxOpeningAngle (const double &min_angle, const double &max_angle) |
Set the minimum opning angle for a cone model. More... |
|
void | getMinMaxOpeningAngle (double &min_angle, double &max_angle) |
Get the opening angle which we need minimum to validate a cone model. More... |
|
void | setDistanceFromOrigin (const double d) |
Set the distance we expect a plane model to be from the origin. More... |
|
double | getDistanceFromOrigin () const |
Get the distance of a plane model from the origin. More... |
|
Public Member Functions inherited from pcl::SACSegmentation< PointT > | |
SACSegmentation (bool random=false) | |
Empty constructor. More... |
|
~SACSegmentation () | |
Empty destructor. More... |
|
void | setModelType (int model) |
The type of model to use (user given parameter). More... |
|
int | getModelType () const |
Get the type of SAC model used. More... |
|
SampleConsensusPtr | getMethod () const |
Get a pointer to the SAC method used. More... |
|
SampleConsensusModelPtr | getModel () const |
Get a pointer to the SAC model used. More... |
|
void | setMethodType (int method) |
The type of sample consensus method to use (user given parameter). More... |
|
int | getMethodType () const |
Get the type of sample consensus method used. More... |
|
void | setDistanceThreshold (double threshold) |
Distance to the model threshold (user given parameter). More... |
|
double | getDistanceThreshold () const |
Get the distance to the model threshold. More... |
|
void | setMaxIterations (int max_iterations) |
Set the maximum number of iterations before giving up. More... |
|
int | getMaxIterations () const |
Get maximum number of iterations before giving up. More... |
|
void | setProbability (double probability) |
Set the probability of choosing at least one sample free from outliers. More... |
|
double | getProbability () const |
Get the probability of choosing at least one sample free from outliers. More... |
|
void | setNumberOfThreads (const int nr_threads=-1) |
Set the number of threads to use or turn off parallelization. More... |
|
void | setOptimizeCoefficients (bool optimize) |
Set to true if a coefficient refinement is required. More... |
|
bool | getOptimizeCoefficients () const |
Get the coefficient refinement internal flag. More... |
|
void | setRadiusLimits (const double &min_radius, const double &max_radius) |
Set the minimum and maximum allowable radius limits for the model (applicable to models that estimate a radius) More... |
|
void | getRadiusLimits (double &min_radius, double &max_radius) |
Get the minimum and maximum allowable radius limits for the model as set by the user. More... |
|
void | setSamplesMaxDist (const double &radius, SearchPtr search) |
Set the maximum distance allowed when drawing random samples. More... |
|
void | getSamplesMaxDist (double &radius) |
Get maximum distance allowed when drawing random samples. More... |
|
void | setAxis (const Eigen::Vector3f &ax) |
Set the axis along which we need to search for a model perpendicular to. More... |
|
Eigen::Vector3f | getAxis () const |
Get the axis along which we need to search for a model perpendicular to. More... |
|
void | setEpsAngle (double ea) |
Set the angle epsilon (delta) threshold. More... |
|
double | getEpsAngle () const |
Get the epsilon (delta) model angle threshold in radians. More... |
|
virtual void | segment (PointIndices &inliers, ModelCoefficients &model_coefficients) |
Base method for segmentation of a model in a PointCloud given by <setInputCloud (), setIndices ()> More... |
|
Public Member Functions inherited from pcl::PCLBase< PointT > | |
PCLBase () | |
Empty constructor. More... |
|
PCLBase (const PCLBase &base) | |
Copy constructor. More... |
|
virtual | ~PCLBase ()=default |
Destructor. More... |
|
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... |
|
const PointCloudConstPtr | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... |
|
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
Set the indices for the points laying within an interest region of the point cloud. More... |
|
IndicesPtr | getIndices () |
Get a pointer to the vector of indices used. More... |
|
const IndicesConstPtr | getIndices () const |
Get a pointer to the vector of indices used. More... |
|
const PointT & | operator[] (std::size_t pos) const |
Override PointCloud operator[] to shorten code. More... |
|
Protected Member Functions | |
bool | initSACModel (const int model_type) override |
Initialize the Sample Consensus model and set its parameters. More... |
|
std::string | getClassName () const override |
Class get name method. More... |
|
Protected Member Functions inherited from pcl::SACSegmentation< PointT > | |
virtual void | initSAC (const int method_type) |
Initialize the Sample Consensus method and set its parameters. More... |
|
Protected Member Functions inherited from pcl::PCLBase< PointT > | |
bool | initCompute () |
This method should get called before starting the actual computation. More... |
|
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... |
|
Protected Attributes | |
PointCloudNConstPtr | normals_ |
A pointer to the input dataset that contains the point normals of the XYZ dataset. More... |
|
double | distance_weight_ |
The relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal. More... |
|
double | distance_from_origin_ |
The distance from the template plane to the origin. More... |
|
double | min_angle_ |
The minimum and maximum allowed opening angle of valid cone model. More... |
|
double | max_angle_ |
Protected Attributes inherited from pcl::SACSegmentation< PointT > | |
SampleConsensusModelPtr | model_ |
The model that needs to be segmented. More... |
|
SampleConsensusPtr | sac_ |
The sample consensus segmentation method. More... |
|
int | model_type_ |
The type of model to use (user given parameter). More... |
|
int | method_type_ |
The type of sample consensus method to use (user given parameter). More... |
|
double | threshold_ |
Distance to the model threshold (user given parameter). More... |
|
bool | optimize_coefficients_ |
Set to true if a coefficient refinement is required. More... |
|
double | radius_min_ |
The minimum and maximum radius limits for the model. More... |
|
double | radius_max_ |
double | samples_radius_ |
The maximum distance of subsequent samples from the first (radius search) More... |
|
SearchPtr | samples_radius_search_ |
The search object for picking subsequent samples using radius search. More... |
|
double | eps_angle_ |
The maximum allowed difference between the model normal and the given axis. More... |
|
Eigen::Vector3f | axis_ |
The axis along which we need to search for a model perpendicular to. More... |
|
int | max_iterations_ |
Maximum number of iterations before giving up (user given parameter). More... |
|
int | threads_ |
The number of threads the scheduler should use, or a negative number if no parallelization is wanted. More... |
|
double | probability_ |
Desired probability of choosing at least one sample free from outliers (user given parameter). More... |
|
bool | random_ |
Set to true if we need a random seed. More... |
|
Protected Attributes inherited from pcl::PCLBase< PointT > | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... |
|
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... |
|
bool | use_indices_ |
Set to true if point indices are used. More... |
|
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... |
|
SACSegmentationFromNormals represents the PCL nodelet segmentation class for Sample Consensus methods and models that require the use of surface normals for estimation.
Definition at line 321 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloud = typename SACSegmentation<PointT>::PointCloud |
Definition at line 335 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 337 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudN = pcl::PointCloud<PointNT> |
Definition at line 339 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr |
Definition at line 341 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudNPtr = typename PointCloudN::Ptr |
Definition at line 340 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::PointCloudPtr = typename PointCloud::Ptr |
Definition at line 336 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::SampleConsensusModelFromNormalsPtr = typename SampleConsensusModelFromNormals<PointT, PointNT>::Ptr |
Definition at line 345 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::SampleConsensusModelPtr = typename SampleConsensusModel<PointT>::Ptr |
Definition at line 344 of file sac_segmentation.h.
using pcl::SACSegmentationFromNormals< PointT, PointNT >::SampleConsensusPtr = typename SampleConsensus<PointT>::Ptr |
Definition at line 343 of file sac_segmentation.h.
| inline |
Empty constructor.
[in] | random | if true set the random seed to the current time, else set to 12345 (default: false) |
Definition at line 350 of file sac_segmentation.h.
| inlineoverrideprotectedvirtual |
Class get name method.
Reimplemented from pcl::SACSegmentation< PointT >.
Definition at line 435 of file sac_segmentation.h.
| inline |
Get the distance of a plane model from the origin.
Definition at line 409 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_from_origin_.
| inline |
Get a pointer to the normals of the input XYZ point cloud dataset.
Definition at line 368 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::normals_.
| inline |
Get the opening angle which we need minimum to validate a cone model.
Definition at line 395 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::max_angle_, and pcl::SACSegmentationFromNormals< PointT, PointNT >::min_angle_.
| inline |
Get the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.
Definition at line 380 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_weight_.
| overrideprotectedvirtual |
Initialize the Sample Consensus model and set its parameters.
[in] | model_type | the type of SAC model that is to be used |
Reimplemented from pcl::SACSegmentation< PointT >.
Definition at line 349 of file sac_segmentation.hpp.
References pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getAxis(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::getAxis(), pcl::SampleConsensusModelCone< PointT, PointNT >::getAxis(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getDistanceFromOrigin(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::getEpsAngle(), pcl::SampleConsensusModelCone< PointT, PointNT >::getEpsAngle(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::getEpsAngle(), pcl::SampleConsensusModelCone< PointT, PointNT >::getMinMaxOpeningAngle(), pcl::SampleConsensusModelFromNormals< PointT, PointNT >::getNormalDistanceWeight(), pcl::SampleConsensusModel< PointT >::getRadiusLimits(), M_PI, pcl::SACMODEL_CONE, pcl::SACMODEL_CYLINDER, pcl::SACMODEL_NORMAL_PARALLEL_PLANE, pcl::SACMODEL_NORMAL_PLANE, pcl::SACMODEL_NORMAL_SPHERE, pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::setAxis(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::setAxis(), pcl::SampleConsensusModelCone< PointT, PointNT >::setAxis(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::setDistanceFromOrigin(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::setEpsAngle(), pcl::SampleConsensusModelCone< PointT, PointNT >::setEpsAngle(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::setEpsAngle(), pcl::SampleConsensusModelFromNormals< PointT, PointNT >::setInputNormals(), pcl::SampleConsensusModelCone< PointT, PointNT >::setMinMaxOpeningAngle(), pcl::SampleConsensusModelFromNormals< PointT, PointNT >::setNormalDistanceWeight(), and pcl::SampleConsensusModel< PointT >::setRadiusLimits().
| inline |
Set the distance we expect a plane model to be from the origin.
[in] | d | distance from the template plane model to the origin |
Definition at line 405 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_from_origin_.
| inline |
Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.
[in] | normals | the const shared pointer to a PointCloud message |
Definition at line 364 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::normals_.
| inline |
Set the minimum opning angle for a cone model.
min_angle | the opening angle which we need minimum to validate a cone model. |
max_angle | the opening angle which we need maximum to validate a cone model. |
Definition at line 387 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::max_angle_, and pcl::SACSegmentationFromNormals< PointT, PointNT >::min_angle_.
| inline |
Set the relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.
[in] | distance_weight | the distance/angular weight |
Definition at line 375 of file sac_segmentation.h.
References pcl::SACSegmentationFromNormals< PointT, PointNT >::distance_weight_.
| protected |
The distance from the template plane to the origin.
Definition at line 421 of file sac_segmentation.h.
Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getDistanceFromOrigin(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setDistanceFromOrigin().
| protected |
The relative weight (between 0 and 1) to give to the angular distance (0 to pi/2) between point normals and the plane normal.
Definition at line 418 of file sac_segmentation.h.
Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getNormalDistanceWeight(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setNormalDistanceWeight().
| protected |
Definition at line 425 of file sac_segmentation.h.
Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getMinMaxOpeningAngle(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setMinMaxOpeningAngle().
| protected |
The minimum and maximum allowed opening angle of valid cone model.
Definition at line 424 of file sac_segmentation.h.
Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getMinMaxOpeningAngle(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setMinMaxOpeningAngle().
| protected |
A pointer to the input dataset that contains the point normals of the XYZ dataset.
Definition at line 413 of file sac_segmentation.h.
Referenced by pcl::SACSegmentationFromNormals< PointT, PointNT >::getInputNormals(), and pcl::SACSegmentationFromNormals< PointT, PointNT >::setInputNormals().
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_s_a_c_segmentation_from_normals.html