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

## 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_vote | vote to add
  [in] | vote_origin | origin of the added vote
  [in] | in_class | class 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_peaks | it will contain the strongest peaks
  [in] | in_class_id | class of interest for which peaks are evaluated
  [in] | in_non_maxima_radius | non 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] | cloud | cloud 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] | point | point 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_

template<typename PointT>

pcl::PointCloud<pcl::InterestPoint>::Ptr pcl::features::ISMVoteList< PointT >::votes_ {new pcl::PointCloud<pcl::InterestPoint>}

protected

Stores all votes.

Definition at line 131 of file implicit_shape_model.h.

Referenced by addVote(), findStrongestPeaks(), getColoredCloud(), getDensityAtPoint(), getNumberOfVotes(), shiftMean(), validateTree(), and ~ISMVoteList().

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

- pcl/recognition/implicit_shape_model.h
- pcl/recognition/impl/implicit_shape_model.hpp