Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::features::ISMVoteList< PointT > Class Template Reference

This class is used for storing, analyzing and manipulating votes obtained from ISM algorithm. More...

#include <pcl/recognition/implicit_shape_model.h>

+ Collaboration diagram for pcl::features::ISMVoteList< PointT >:

Public Types

using Ptr = shared_ptr< ISMVoteList< PointT > >
 
using ConstPtr = shared_ptr< const ISMVoteList< PointT > >
 

Public Member Functions

 ISMVoteList ()
 Empty constructor with member variables initialization. More...
 
virtual ~ISMVoteList ()
 virtual descriptor. More...
 
void addVote (pcl::InterestPoint &in_vote, const PointT &vote_origin, int in_class)
 This method simply adds another vote to the list. More...
 
pcl::PointCloud< pcl::PointXYZRGB >::Ptr getColoredCloud (typename pcl::PointCloud< PointT >::Ptr cloud=0)
 Returns the colored cloud that consists of votes for center (blue points) and initial point cloud (if it was passed). More...
 
void findStrongestPeaks (std::vector< ISMPeak, Eigen::aligned_allocator< ISMPeak > > &out_peaks, int in_class_id, double in_non_maxima_radius, double in_sigma)
 This method finds the strongest peaks (points were density has most higher values). More...
 
double getDensityAtPoint (const PointT &point, double sigma_dist)
 Returns the density at the specified point. More...
 
unsigned int getNumberOfVotes ()
 This method simply returns the number of votes. More...
 

Protected Member Functions

void validateTree ()
 this method is simply setting up the search tree. More...
 
Eigen::Vector3f shiftMean (const Eigen::Vector3f &snapPt, const double in_dSigmaDist)
 

Protected Attributes

pcl::PointCloud< pcl::InterestPoint >::Ptr votes_ {new pcl::PointCloud<pcl::InterestPoint>}
 Stores all votes. More...
 
bool tree_is_valid_ {false}
 Signalizes if the tree is valid. More...
 
pcl::PointCloud< PointT >::Ptr votes_origins_ {new pcl::PointCloud<PointT>}
 Stores the origins of the votes. More...
 
std::vector< int > votes_class_ {}
 Stores classes for which every single vote was cast. More...
 
pcl::KdTreeFLANN< pcl::InterestPoint >::Ptr tree_ {nullptr}
 Stores the search tree. More...
 
pcl::Indices k_ind_ {}
 Stores neighbours indices. More...
 
std::vector< float > k_sqr_dist_ {}
 Stores square distances to the corresponding neighbours. More...
 

Detailed Description

template<typename PointT>
class pcl::features::ISMVoteList< PointT >

This class is used for storing, analyzing and manipulating votes obtained from ISM algorithm.

Definition at line 70 of file implicit_shape_model.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointT >
using pcl::features::ISMVoteList< PointT >::ConstPtr = shared_ptr<const ISMVoteList<PointT> >

Definition at line 75 of file implicit_shape_model.h.

◆ Ptr

template<typename PointT >
using pcl::features::ISMVoteList< PointT >::Ptr = shared_ptr<ISMVoteList<PointT> >

Definition at line 74 of file implicit_shape_model.h.

Constructor & Destructor Documentation

◆ ISMVoteList()

template<typename PointT >
pcl::features::ISMVoteList< PointT >::ISMVoteList ( )
default

Empty constructor with member variables initialization.

◆ ~ISMVoteList()

template<typename PointT >
pcl::features::ISMVoteList< PointT >::~ISMVoteList
virtual

virtual descriptor.

Definition at line 56 of file implicit_shape_model.hpp.

Member Function Documentation

◆ addVote()

template<typename PointT >
void pcl::features::ISMVoteList< PointT >::addVote ( pcl::InterestPoint in_vote,
const PointT vote_origin,
int  in_class 
)

This method simply adds another vote to the list.

Parameters
[in]in_votevote to add
[in]vote_originorigin of the added vote
[in]in_classclass for which this vote is cast

Definition at line 68 of file implicit_shape_model.hpp.

Referenced by pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::findObjects().

◆ findStrongestPeaks()

template<typename PointT >
void pcl::features::ISMVoteList< PointT >::findStrongestPeaks ( std::vector< ISMPeak, Eigen::aligned_allocator< ISMPeak > > &  out_peaks,
int  in_class_id,
double  in_non_maxima_radius,
double  in_sigma 
)

This method finds the strongest peaks (points were density has most higher values).

It is based on the non maxima suppression principles.

Parameters
[out]out_peaksit will contain the strongest peaks
[in]in_class_idclass of interest for which peaks are evaluated
[in]in_non_maxima_radiusnon maxima suppression radius. The shapes radius is recommended for this value.
in_sigma

Definition at line 119 of file implicit_shape_model.hpp.

References pcl::ISMPeak::class_id, and pcl::ISMPeak::density.

◆ getColoredCloud()

template<typename PointT >
pcl::PointCloud< pcl::PointXYZRGB >::Ptr pcl::features::ISMVoteList< PointT >::getColoredCloud ( typename pcl::PointCloud< PointT >::Ptr  cloud = 0)

Returns the colored cloud that consists of votes for center (blue points) and initial point cloud (if it was passed).

Parameters
[in]cloudcloud that needs to be merged with votes for visualizing.

Definition at line 80 of file implicit_shape_model.hpp.

References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.

◆ getDensityAtPoint()

template<typename PointT >
double pcl::features::ISMVoteList< PointT >::getDensityAtPoint ( const PointT point,
double  sigma_dist 
)

Returns the density at the specified point.

Parameters
[in]pointpoint of interest
[in]sigma_dist

Definition at line 261 of file implicit_shape_model.hpp.

◆ getNumberOfVotes()

template<typename PointT >
unsigned int pcl::features::ISMVoteList< PointT >::getNumberOfVotes

This method simply returns the number of votes.

Definition at line 286 of file implicit_shape_model.hpp.

◆ shiftMean()

template<typename PointT >
Eigen::Vector3f pcl::features::ISMVoteList< PointT >::shiftMean ( const Eigen::Vector3f &  snapPt,
const double  in_dSigmaDist 
)
protected

Definition at line 234 of file implicit_shape_model.hpp.

◆ validateTree()

template<typename PointT >
void pcl::features::ISMVoteList< PointT >::validateTree
protected

this method is simply setting up the search tree.

Definition at line 219 of file implicit_shape_model.hpp.

Member Data Documentation

◆ k_ind_

template<typename PointT >
pcl::Indices pcl::features::ISMVoteList< PointT >::k_ind_ {}
protected

Stores neighbours indices.

Definition at line 146 of file implicit_shape_model.h.

◆ k_sqr_dist_

template<typename PointT >
std::vector<float> pcl::features::ISMVoteList< PointT >::k_sqr_dist_ {}
protected

Stores square distances to the corresponding neighbours.

Definition at line 149 of file implicit_shape_model.h.

◆ tree_

template<typename PointT >
pcl::KdTreeFLANN<pcl::InterestPoint>::Ptr pcl::features::ISMVoteList< PointT >::tree_ {nullptr}
protected

Stores the search tree.

Definition at line 143 of file implicit_shape_model.h.

◆ tree_is_valid_

template<typename PointT >
bool pcl::features::ISMVoteList< PointT >::tree_is_valid_ {false}
protected

Signalizes if the tree is valid.

Definition at line 134 of file implicit_shape_model.h.

◆ votes_

Stores all votes.

Definition at line 131 of file implicit_shape_model.h.

◆ votes_class_

template<typename PointT >
std::vector<int> pcl::features::ISMVoteList< PointT >::votes_class_ {}
protected

Stores classes for which every single vote was cast.

Definition at line 140 of file implicit_shape_model.h.

◆ votes_origins_

template<typename PointT >
pcl::PointCloud<PointT>::Ptr pcl::features::ISMVoteList< PointT >::votes_origins_ {new pcl::PointCloud<PointT>}
protected

Stores the origins of the votes.

Definition at line 137 of file implicit_shape_model.h.


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