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

OrganizedNeighborSearch class More...

#include </__w/1/s/cuda/nn/organized_neighbor_search.h>

Classes

class  nearestNeighborCandidate
 nearestNeighborCandidate entry for the nearest neighbor candidate queue More...
 
class  radiusSearchLoopkupEntry
 radiusSearchLoopkupEntry entry for radius search lookup vector More...
 

Public Types

typedef pcl::PointCloud< PointTPointCloud
 
typedef boost::shared_ptr< PointCloudPointCloudPtr
 
typedef boost::shared_ptr< const PointCloudPointCloudConstPtr
 

Public Member Functions

 OrganizedNeighborSearch ()
 OrganizedNeighborSearch constructor. More...
 
virtual ~OrganizedNeighborSearch ()
 Empty deconstructor. More...
 
void setInputCloud (const PointCloudConstPtr &cloud_arg)
 Provide a pointer to the input data set. More...
 
int radiusSearch (const PointCloudConstPtr &cloud_arg, int index_arg, double radius_arg, std::vector< int > &k_indices_arg, std::vector< float > &k_sqr_distances_arg, int max_nn_arg=INT_MAX)
 Search for all neighbors of query point that are within a given radius. More...
 
int radiusSearch (int index_arg, const double radius_arg, std::vector< int > &k_indices_arg, std::vector< float > &k_sqr_distances_arg, int max_nn_arg=INT_MAX) const
 Search for all neighbors of query point that are within a given radius. More...
 
int radiusSearch (const PointT &p_q_arg, const double radius_arg, std::vector< int > &k_indices_arg, std::vector< float > &k_sqr_distances_arg, int max_nn_arg=INT_MAX) const
 Search for all neighbors of query point that are within a given radius. More...
 
int nearestKSearch (const PointCloudConstPtr &cloud_arg, int index_arg, int k_arg, std::vector< int > &k_indices_arg, std::vector< float > &k_sqr_distances_arg)
 Search for k-nearest neighbors at the query point. More...
 
int nearestKSearch (int index_arg, int k_arg, std::vector< int > &k_indices_arg, std::vector< float > &k_sqr_distances_arg)
 Search for k-nearest neighbors at query point. More...
 
int nearestKSearch (const PointT &p_q_arg, int k_arg, std::vector< int > &k_indices_arg, std::vector< float > &k_sqr_distances_arg)
 Search for k-nearest neighbors at given query point. More...
 
double getMaxDistance () const
 Get the maximum allowed distance between the query point and its nearest neighbors. More...
 
void setMaxDistance (double max_dist)
 Set the maximum allowed distance between the query point and its nearest neighbors. More...
 

Protected Member Functions

const PointTgetPointByIndex (const unsigned int index_arg) const
 Get point at index from input pointcloud dataset. More...
 
void generateRadiusLookupTable (unsigned int width, unsigned int height)
 Generate radius lookup table. More...
 
void pointPlaneProjection (const PointT &point, int &xpos, int &ypos) const
 
void getProjectedRadiusSearchBox (const PointT &point_arg, double squared_radius_arg, int &minX_arg, int &minY_arg, int &maxX_arg, int &maxY_arg) const
 
void estimateFocalLengthFromInputCloud ()
 Estimate focal length parameter that was used during point cloud generation. More...
 
virtual std::string getName () const
 Class getName method. More...
 

Protected Attributes

PointCloudConstPtr input_
 Pointer to input point cloud dataset. More...
 
double max_distance_
 Maximum allowed distance between the query point and its k-neighbors. More...
 
double focalLength_
 Global focal length parameter. More...
 
std::vector< radiusSearchLoopkupEntryradiusSearchLookup_
 Precalculated radius search lookup vector. More...
 
int radiusLookupTableWidth_
 
int radiusLookupTableHeight_
 

Detailed Description

template<typename PointT>
class pcl::OrganizedNeighborSearch< PointT >

OrganizedNeighborSearch class

Note
This class provides neighbor search routines for organized point clouds.
typename: PointT: type of point used in pointcloud
Author
Julius Kammerl (juliu.nosp@m.s@ka.nosp@m.mmerl.nosp@m..de)

Definition at line 59 of file organized_neighbor_search.h.

Member Typedef Documentation

template<typename PointT >
typedef pcl::PointCloud<PointT> pcl::OrganizedNeighborSearch< PointT >::PointCloud

Definition at line 82 of file organized_neighbor_search.h.

template<typename PointT >
typedef boost::shared_ptr<const PointCloud> pcl::OrganizedNeighborSearch< PointT >::PointCloudConstPtr

Definition at line 84 of file organized_neighbor_search.h.

template<typename PointT >
typedef boost::shared_ptr<PointCloud> pcl::OrganizedNeighborSearch< PointT >::PointCloudPtr

Definition at line 83 of file organized_neighbor_search.h.

Constructor & Destructor Documentation

template<typename PointT >
pcl::OrganizedNeighborSearch< PointT >::OrganizedNeighborSearch ( )
inline
template<typename PointT >
virtual pcl::OrganizedNeighborSearch< PointT >::~OrganizedNeighborSearch ( )
inlinevirtual

Empty deconstructor.

Definition at line 77 of file organized_neighbor_search.h.

Member Function Documentation

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::estimateFocalLengthFromInputCloud ( )
protected

Estimate focal length parameter that was used during point cloud generation.

Definition at line 378 of file organized_neighbor_search.hpp.

Referenced by pcl::OrganizedNeighborSearch< PointT >::pointPlaneProjection(), and pcl::OrganizedNeighborSearch< PointT >::setInputCloud().

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::generateRadiusLookupTable ( unsigned int  width,
unsigned int  height 
)
protected

Generate radius lookup table.

It is used to subsequentially iterate over points which are close to the search point

Parameters
widthof organized point cloud
heightof organized point cloud

Definition at line 411 of file organized_neighbor_search.hpp.

Referenced by pcl::OrganizedNeighborSearch< PointT >::setInputCloud().

template<typename PointT >
double pcl::OrganizedNeighborSearch< PointT >::getMaxDistance ( ) const
inline

Get the maximum allowed distance between the query point and its nearest neighbors.

Definition at line 181 of file organized_neighbor_search.h.

References pcl::OrganizedNeighborSearch< PointT >::max_distance_.

template<typename PointT >
virtual std::string pcl::OrganizedNeighborSearch< PointT >::getName ( ) const
inlineprotectedvirtual

Class getName method.

Definition at line 314 of file organized_neighbor_search.h.

template<typename PointT >
const PointT & pcl::OrganizedNeighborSearch< PointT >::getPointByIndex ( const unsigned int  index_arg) const
protected

Get point at index from input pointcloud dataset.

Parameters
index_argindex representing the point in the dataset given by setInputCloud
Returns
PointT from input pointcloud dataset

Definition at line 439 of file organized_neighbor_search.hpp.

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::getProjectedRadiusSearchBox ( const PointT point_arg,
double  squared_radius_arg,
int &  minX_arg,
int &  minY_arg,
int &  maxX_arg,
int &  maxY_arg 
) const
protected
template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::nearestKSearch ( const PointCloudConstPtr cloud_arg,
int  index_arg,
int  k_arg,
std::vector< int > &  k_indices_arg,
std::vector< float > &  k_sqr_distances_arg 
)

Search for k-nearest neighbors at the query point.

Parameters
cloud_argthe point cloud data
index_argthe index in cloud representing the query point
k_argthe number of neighbors to search for
k_indices_argthe resultant indices of the neighboring points (must be resized to k a priori!)
k_sqr_distances_argthe resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns
number of neighbors found

Definition at line 155 of file organized_neighbor_search.hpp.

Referenced by pcl::OrganizedNeighborSearch< PointT >::setInputCloud().

template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::nearestKSearch ( int  index_arg,
int  k_arg,
std::vector< int > &  k_indices_arg,
std::vector< float > &  k_sqr_distances_arg 
)

Search for k-nearest neighbors at query point.

Parameters
index_argindex representing the query point in the dataset given by setInputCloud. If indices were given in setInputCloud, index will be the position in the indices vector.
k_argthe number of neighbors to search for
k_indices_argthe resultant indices of the neighboring points (must be resized to k a priori!)
k_sqr_distances_argthe resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns
number of neighbors found

Definition at line 143 of file organized_neighbor_search.hpp.

template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::nearestKSearch ( const PointT p_q_arg,
int  k_arg,
std::vector< int > &  k_indices_arg,
std::vector< float > &  k_sqr_distances_arg 
)

Search for k-nearest neighbors at given query point.

Parameters
p_q_argthe given query point
k_argthe number of neighbors to search for
k_indices_argthe resultant indices of the neighboring points (must be resized to k a priori!)
k_sqr_distances_argthe resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns
number of neighbors found

Definition at line 167 of file organized_neighbor_search.hpp.

References pcl::OrganizedNeighborSearch< PointT >::nearestNeighborCandidate::index_, and pcl::OrganizedNeighborSearch< PointT >::nearestNeighborCandidate::squared_distance_.

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::pointPlaneProjection ( const PointT point,
int &  xpos,
int &  ypos 
) const
inlineprotected
template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::radiusSearch ( const PointCloudConstPtr cloud_arg,
int  index_arg,
double  radius_arg,
std::vector< int > &  k_indices_arg,
std::vector< float > &  k_sqr_distances_arg,
int  max_nn_arg = INT_MAX 
)

Search for all neighbors of query point that are within a given radius.

Parameters
cloud_argthe point cloud data
index_argthe index in cloud representing the query point
radius_argthe radius of the sphere bounding all of p_q's neighbors
k_indices_argthe resultant indices of the neighboring points
k_sqr_distances_argthe resultant squared distances to the neighboring points
max_nn_argif given, bounds the maximum returned neighbors to this value
Returns
number of neighbors found in radius

Definition at line 14 of file organized_neighbor_search.hpp.

Referenced by pcl::OrganizedNeighborSearch< PointT >::setInputCloud().

template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::radiusSearch ( int  index_arg,
const double  radius_arg,
std::vector< int > &  k_indices_arg,
std::vector< float > &  k_sqr_distances_arg,
int  max_nn_arg = INT_MAX 
) const

Search for all neighbors of query point that are within a given radius.

Parameters
index_argindex representing the query point in the dataset given by setInputCloud. If indices were given in setInputCloud, index will be the position in the indices vector
radius_argradius of the sphere bounding all of p_q's neighbors
k_indices_argthe resultant indices of the neighboring points
k_sqr_distances_argthe resultant squared distances to the neighboring points
max_nn_argif given, bounds the maximum returned neighbors to this value
Returns
number of neighbors found in radius

Definition at line 26 of file organized_neighbor_search.hpp.

template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::radiusSearch ( const PointT p_q_arg,
const double  radius_arg,
std::vector< int > &  k_indices_arg,
std::vector< float > &  k_sqr_distances_arg,
int  max_nn_arg = INT_MAX 
) const

Search for all neighbors of query point that are within a given radius.

Parameters
p_q_argthe given query point
radius_argthe radius of the sphere bounding all of p_q's neighbors
k_indices_argthe resultant indices of the neighboring points
k_sqr_distances_argthe resultant squared distances to the neighboring points
max_nn_argif given, bounds the maximum returned neighbors to this value
Returns
number of neighbors found in radius

Definition at line 40 of file organized_neighbor_search.hpp.

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::setInputCloud ( const PointCloudConstPtr cloud_arg)
inline
template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::setMaxDistance ( double  max_dist)
inline

Set the maximum allowed distance between the query point and its nearest neighbors.

Definition at line 188 of file organized_neighbor_search.h.

References pcl::OrganizedNeighborSearch< PointT >::max_distance_.

Member Data Documentation

template<typename PointT >
double pcl::OrganizedNeighborSearch< PointT >::focalLength_
protected
template<typename PointT >
PointCloudConstPtr pcl::OrganizedNeighborSearch< PointT >::input_
protected

Pointer to input point cloud dataset.

Definition at line 324 of file organized_neighbor_search.h.

Referenced by pcl::OrganizedNeighborSearch< PointT >::setInputCloud().

template<typename PointT >
double pcl::OrganizedNeighborSearch< PointT >::max_distance_
protected
template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::radiusLookupTableHeight_
protected

Definition at line 335 of file organized_neighbor_search.h.

template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::radiusLookupTableWidth_
protected

Definition at line 334 of file organized_neighbor_search.h.

template<typename PointT >
std::vector<radiusSearchLoopkupEntry> pcl::OrganizedNeighborSearch< PointT >::radiusSearchLookup_
protected

Precalculated radius search lookup vector.

Definition at line 333 of file organized_neighbor_search.h.


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