SACSegmentation represents the Nodelet segmentation class for Sample Consensus methods and models, in the sense that it just creates a Nodelet wrapper for generic-purpose SAC-based segmentation. More...
#include <sac_segmentation.h>
Public Types | |
typedef pcl::PointCloud< PointT > | PointCloud |
typedef PointCloud::ConstPtr | PointCloudConstPtr |
typedef PointCloud::Ptr | PointCloudPtr |
typedef SampleConsensusModel < PointT >::Ptr | SampleConsensusModelPtr |
typedef SampleConsensus < PointT >::Ptr | SampleConsensusPtr |
Public Member Functions | |
Eigen::Vector3f | getAxis () |
Get the axis along which we need to search for a model perpendicular to. | |
double | getDistanceThreshold () |
Get the distance to the model threshold. | |
double | getEpsAngle () |
Get the epsilon (delta) model angle threshold in radians. | |
int | getMaxIterations () |
Get maximum number of iterations before giving up. | |
SampleConsensusPtr | getMethod () |
Get a pointer to the SAC method used. | |
int | getMethodType () |
Get the type of sample consensus method used. | |
SampleConsensusModelPtr | getModel () |
Get a pointer to the SAC model used. | |
int | getModelType () |
Get the type of SAC model used. | |
bool | getOptimizeCoefficients () |
Get the coefficient refinement internal flag. | |
double | getProbability () |
Get the probability of choosing at least one sample free from outliers. | |
void | getRadiusLimits (double &min_radius, double &max_radius) |
Get the minimum and maximum allowable radius limits for the model as set by the user. | |
SACSegmentation () | |
Empty constructor. | |
virtual void | segment (PointIndices &inliers, ModelCoefficients &model_coefficients) |
Base method for segmentation of a model in a PointCloud given by <setInputCloud (), setIndices ()> | |
void | setAxis (const Eigen::Vector3f &ax) |
Set the axis along which we need to search for a model perpendicular to. | |
void | setDistanceThreshold (double threshold) |
Distance to the model threshold (user given parameter). | |
void | setEpsAngle (double ea) |
Set the angle epsilon (delta) threshold. | |
void | setMaxIterations (int max_iterations) |
Set the maximum number of iterations before giving up. | |
void | setMethodType (int method) |
The type of sample consensus method to use (user given parameter). | |
void | setModelType (int model) |
The type of model to use (user given parameter). | |
void | setOptimizeCoefficients (bool optimize) |
Set to true if a coefficient refinement is required. | |
void | setProbability (double probability) |
Set the probability of choosing at least one sample free from outliers. | |
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). | |
virtual | ~SACSegmentation () |
Empty destructor. | |
Protected Member Functions | |
virtual std::string | getClassName () const |
Class get name method. | |
virtual void | initSAC (const int method_type) |
Initialize the Sample Consensus method and set its parameters. | |
virtual bool | initSACModel (const int model_type) |
Initialize the Sample Consensus model and set its parameters. | |
Protected Attributes | |
Eigen::Vector3f | axis_ |
The axis along which we need to search for a model perpendicular to. | |
double | eps_angle_ |
The maximum allowed difference between the model normal and the given axis. | |
int | max_iterations_ |
Maximum number of iterations before giving up (user given parameter). | |
int | method_type_ |
The type of sample consensus method to use (user given parameter). | |
SampleConsensusModelPtr | model_ |
The model that needs to be segmented. | |
int | model_type_ |
The type of model to use (user given parameter). | |
bool | optimize_coefficients_ |
Set to true if a coefficient refinement is required. | |
double | probability_ |
Desired probability of choosing at least one sample free from outliers (user given parameter). | |
double | radius_max_ |
double | radius_min_ |
The minimum and maximum radius limits for the model. Applicable to all models that estimate a radius. | |
SampleConsensusPtr | sac_ |
The sample consensus segmentation method. | |
double | threshold_ |
Distance to the model threshold (user given parameter). |
SACSegmentation represents the Nodelet segmentation class for Sample Consensus methods and models, in the sense that it just creates a Nodelet wrapper for generic-purpose SAC-based segmentation.
Definition at line 58 of file sac_segmentation.h.
typedef pcl::PointCloud<PointT> pcl::SACSegmentation< PointT >::PointCloud |
Reimplemented from pcl::PCLBase< PointT >.
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 67 of file sac_segmentation.h.
typedef PointCloud::ConstPtr pcl::SACSegmentation< PointT >::PointCloudConstPtr |
Reimplemented from pcl::PCLBase< PointT >.
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 69 of file sac_segmentation.h.
typedef PointCloud::Ptr pcl::SACSegmentation< PointT >::PointCloudPtr |
Reimplemented from pcl::PCLBase< PointT >.
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 68 of file sac_segmentation.h.
typedef SampleConsensusModel<PointT>::Ptr pcl::SACSegmentation< PointT >::SampleConsensusModelPtr |
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 72 of file sac_segmentation.h.
typedef SampleConsensus<PointT>::Ptr pcl::SACSegmentation< PointT >::SampleConsensusPtr |
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 71 of file sac_segmentation.h.
pcl::SACSegmentation< PointT >::SACSegmentation | ( | ) | [inline] |
Empty constructor.
Definition at line 75 of file sac_segmentation.h.
virtual pcl::SACSegmentation< PointT >::~SACSegmentation | ( | ) | [inline, virtual] |
Empty destructor.
Definition at line 84 of file sac_segmentation.h.
Eigen::Vector3f pcl::SACSegmentation< PointT >::getAxis | ( | ) | [inline] |
Get the axis along which we need to search for a model perpendicular to.
Definition at line 185 of file sac_segmentation.h.
virtual std::string pcl::SACSegmentation< PointT >::getClassName | ( | ) | const [inline, protected, virtual] |
Class get name method.
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 252 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::getDistanceThreshold | ( | ) | [inline] |
Get the distance to the model threshold.
Definition at line 121 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::getEpsAngle | ( | ) | [inline] |
Get the epsilon (delta) model angle threshold in radians.
Definition at line 195 of file sac_segmentation.h.
int pcl::SACSegmentation< PointT >::getMaxIterations | ( | ) | [inline] |
Get maximum number of iterations before giving up.
Definition at line 131 of file sac_segmentation.h.
SampleConsensusPtr pcl::SACSegmentation< PointT >::getMethod | ( | ) | [inline] |
Get a pointer to the SAC method used.
Definition at line 97 of file sac_segmentation.h.
int pcl::SACSegmentation< PointT >::getMethodType | ( | ) | [inline] |
Get the type of sample consensus method used.
Definition at line 111 of file sac_segmentation.h.
SampleConsensusModelPtr pcl::SACSegmentation< PointT >::getModel | ( | ) | [inline] |
Get a pointer to the SAC model used.
Definition at line 101 of file sac_segmentation.h.
int pcl::SACSegmentation< PointT >::getModelType | ( | ) | [inline] |
Get the type of SAC model used.
Definition at line 93 of file sac_segmentation.h.
bool pcl::SACSegmentation< PointT >::getOptimizeCoefficients | ( | ) | [inline] |
Get the coefficient refinement internal flag.
Definition at line 151 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::getProbability | ( | ) | [inline] |
Get the probability of choosing at least one sample free from outliers.
Definition at line 141 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::getRadiusLimits | ( | double & | min_radius, | |
double & | max_radius | |||
) | [inline] |
Get the minimum and maximum allowable radius limits for the model as set by the user.
min_radius | the resultant minimum radius model | |
max_radius | the resultant maximum radius model |
Definition at line 171 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::initSAC | ( | const int | method_type | ) | [inline, protected, virtual] |
Initialize the Sample Consensus method and set its parameters.
method_type | the type of SAC method to be used |
Definition at line 240 of file sac_segmentation.hpp.
bool pcl::SACSegmentation< PointT >::initSACModel | ( | const int | model_type | ) | [inline, protected, virtual] |
Initialize the Sample Consensus model and set its parameters.
model_type | the type of SAC model that is to be used |
Reimplemented in pcl::SACSegmentationFromNormals< PointT, PointNT >.
Definition at line 130 of file sac_segmentation.hpp.
void pcl::SACSegmentation< PointT >::segment | ( | PointIndices & | inliers, | |
ModelCoefficients & | model_coefficients | |||
) | [inline, virtual] |
Base method for segmentation of a model in a PointCloud given by <setInputCloud (), setIndices ()>
inliers | the resultant point indices that support the model found (inliers) | |
model_coefficients | the resultant model coefficients |
Definition at line 72 of file sac_segmentation.hpp.
void pcl::SACSegmentation< PointT >::setAxis | ( | const Eigen::Vector3f & | ax | ) | [inline] |
Set the axis along which we need to search for a model perpendicular to.
ax | the axis along which we need to search for a model perpendicular to |
Definition at line 181 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setDistanceThreshold | ( | double | threshold | ) | [inline] |
Distance to the model threshold (user given parameter).
threshold | the distance threshold to use |
Definition at line 117 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setEpsAngle | ( | double | ea | ) | [inline] |
Set the angle epsilon (delta) threshold.
ea | the maximum allowed difference between the model normal and the given axis in radians. |
Definition at line 191 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setMaxIterations | ( | int | max_iterations | ) | [inline] |
Set the maximum number of iterations before giving up.
max_iterations | the maximum number of iterations the sample consensus method will run |
Definition at line 127 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setMethodType | ( | int | method | ) | [inline] |
The type of sample consensus method to use (user given parameter).
method | the method type (check method_types.h) |
Definition at line 107 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setModelType | ( | int | model | ) | [inline] |
The type of model to use (user given parameter).
model | the model type (check model_types.h) |
Definition at line 89 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setOptimizeCoefficients | ( | bool | optimize | ) | [inline] |
Set to true if a coefficient refinement is required.
optimize | true for enabling model coefficient refinement, false otherwise |
Definition at line 147 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setProbability | ( | double | probability | ) | [inline] |
Set the probability of choosing at least one sample free from outliers.
probability | the model fitting probability |
Definition at line 137 of file sac_segmentation.h.
void pcl::SACSegmentation< PointT >::setRadiusLimits | ( | const double & | min_radius, | |
const double & | max_radius | |||
) | [inline] |
Set the minimum and maximum allowable radius limits for the model (applicable to models that estimate a radius).
min_radius | the minimum radius model | |
max_radius | the maximum radius model |
Definition at line 160 of file sac_segmentation.h.
Eigen::Vector3f pcl::SACSegmentation< PointT >::axis_ [protected] |
The axis along which we need to search for a model perpendicular to.
Definition at line 242 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::eps_angle_ [protected] |
The maximum allowed difference between the model normal and the given axis.
Definition at line 239 of file sac_segmentation.h.
int pcl::SACSegmentation< PointT >::max_iterations_ [protected] |
Maximum number of iterations before giving up (user given parameter).
Definition at line 245 of file sac_segmentation.h.
int pcl::SACSegmentation< PointT >::method_type_ [protected] |
The type of sample consensus method to use (user given parameter).
Definition at line 227 of file sac_segmentation.h.
SampleConsensusModelPtr pcl::SACSegmentation< PointT >::model_ [protected] |
The model that needs to be segmented.
Definition at line 218 of file sac_segmentation.h.
int pcl::SACSegmentation< PointT >::model_type_ [protected] |
The type of model to use (user given parameter).
Definition at line 224 of file sac_segmentation.h.
bool pcl::SACSegmentation< PointT >::optimize_coefficients_ [protected] |
Set to true if a coefficient refinement is required.
Definition at line 233 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::probability_ [protected] |
Desired probability of choosing at least one sample free from outliers (user given parameter).
Definition at line 248 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::radius_max_ [protected] |
Definition at line 236 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::radius_min_ [protected] |
The minimum and maximum radius limits for the model. Applicable to all models that estimate a radius.
Definition at line 236 of file sac_segmentation.h.
SampleConsensusPtr pcl::SACSegmentation< PointT >::sac_ [protected] |
The sample consensus segmentation method.
Definition at line 221 of file sac_segmentation.h.
double pcl::SACSegmentation< PointT >::threshold_ [protected] |
Distance to the model threshold (user given parameter).
Definition at line 230 of file sac_segmentation.h.