Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
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.
virtual ~ISMVoteList ()
 virtual descriptor.
void addVote (pcl::InterestPoint &in_vote, const PointT &vote_origin, int in_class)
 This method simply adds another vote to the list.
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).
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).
double getDensityAtPoint (const PointT &point, double sigma_dist)
 Returns the density at the specified point.
unsigned int getNumberOfVotes ()
 This method simply returns the number of votes.

Protected Member Functions

void validateTree ()
 this method is simply setting up the search tree.
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.
bool tree_is_valid_ {false}
 Signalizes if the tree is valid.
pcl::PointCloud< PointT >::Ptr votes_origins_ {new pcl::PointCloud<PointT>}
 Stores the origins of the votes.
std::vector< int > votes_class_ {}
 Stores classes for which every single vote was cast.
pcl::KdTreeFLANN< pcl::InterestPoint >::Ptr tree_ {nullptr}
 Stores the search tree.
pcl::Indices k_ind_ {}
 Stores neighbours indices.
std::vector< float > k_sqr_dist_ {}
 Stores square distances to the corresponding neighbours.

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.

References addVote(), findStrongestPeaks(), getColoredCloud(), getDensityAtPoint(), getNumberOfVotes(), ISMVoteList(), shiftMean(), and validateTree().

Referenced by ISMVoteList().

◆ ~ISMVoteList()

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

virtual descriptor.

Definition at line 56 of file implicit_shape_model.hpp.

References k_ind_, k_sqr_dist_, tree_, votes_, votes_class_, and votes_origins_.

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.

References tree_is_valid_, votes_, votes_class_, and votes_origins_.

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

◆ 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, pcl::ISMPeak::density, getDensityAtPoint(), shiftMean(), validateTree(), votes_, and votes_class_.

Referenced by ISMVoteList().

◆ 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(), votes_, and pcl::PointCloud< PointT >::width.

Referenced by ISMVoteList().

◆ 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.

References k_ind_, k_sqr_dist_, tree_, validateTree(), votes_, and votes_class_.

Referenced by findStrongestPeaks(), and ISMVoteList().

◆ 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.

References votes_.

Referenced by ISMVoteList().

◆ 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.

References k_ind_, k_sqr_dist_, tree_, validateTree(), and votes_.

Referenced by findStrongestPeaks(), and ISMVoteList().

◆ 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.

References k_ind_, k_sqr_dist_, tree_, tree_is_valid_, and votes_.

Referenced by findStrongestPeaks(), getDensityAtPoint(), ISMVoteList(), and shiftMean().

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.

Referenced by getDensityAtPoint(), shiftMean(), validateTree(), and ~ISMVoteList().

◆ 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.

Referenced by getDensityAtPoint(), shiftMean(), validateTree(), and ~ISMVoteList().

◆ 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.

Referenced by getDensityAtPoint(), shiftMean(), validateTree(), and ~ISMVoteList().

◆ 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.

Referenced by addVote(), and validateTree().

◆ votes_

◆ 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.

Referenced by addVote(), findStrongestPeaks(), getDensityAtPoint(), and ~ISMVoteList().

◆ 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.

Referenced by addVote(), and ~ISMVoteList().


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