Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

pcl::OrganizedNeighborSearch< PointT > Class Template Reference

OrganizedNeighborSearch class More...

#include <pcl/kdtree/organized_neighbor_search.h>

List of all members.

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< PointT > PointCloud
typedef boost::shared_ptr
< PointCloud
PointCloudPtr
typedef boost::shared_ptr
< const PointCloud
PointCloudConstPtr

Public Member Functions

 OrganizedNeighborSearch ()
 OrganizedNeighborSearch constructor.
virtual ~OrganizedNeighborSearch ()
 Empty deconstructor.
void setInputCloud (const PointCloudConstPtr &cloud_arg)
 Provide a pointer to the input data set.
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.
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.
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.
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.
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.
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.
double getMaxDistance () const
 Get the maximum allowed distance between the query point and its nearest neighbors.
void setMaxDistance (double max_dist)
 Set the maximum allowed distance between the query point and its nearest neighbors.

Protected Member Functions

const PointT & getPointByIndex (const unsigned int index_arg) const
 Get point at index from input pointcloud dataset.
void generateRadiusLookupTable (unsigned int width, unsigned int height)
 Generate radius lookup table.
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.
virtual std::string getName () const
 Class getName method.

Protected Attributes

PointCloudConstPtr input_
 Pointer to input point cloud dataset.
double max_distance_
 Maximum allowed distance between the query point and its k-neighbors.
double oneOverFocalLength_
 Global focal length parameter.
std::vector
< radiusSearchLoopkupEntry
radiusSearchLookup_
 Precalculated radius search lookup vector.
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 (julius@kammerl.de)

Definition at line 60 of file organized_neighbor_search.h.


Member Typedef Documentation

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

Definition at line 83 of file organized_neighbor_search.h.

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

Definition at line 85 of file organized_neighbor_search.h.

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

Definition at line 84 of file organized_neighbor_search.h.


Constructor & Destructor Documentation

template<typename PointT >
pcl::OrganizedNeighborSearch< PointT >::OrganizedNeighborSearch (  )  [inline]

OrganizedNeighborSearch constructor.

Definition at line 67 of file organized_neighbor_search.h.

template<typename PointT >
virtual pcl::OrganizedNeighborSearch< PointT >::~OrganizedNeighborSearch (  )  [inline, virtual]

Empty deconstructor.

Definition at line 78 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 376 of file organized_neighbor_search.hpp.

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:
width of organized point cloud
height of organized point cloud

Definition at line 409 of file organized_neighbor_search.hpp.

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 185 of file organized_neighbor_search.h.

template<typename PointT >
virtual std::string pcl::OrganizedNeighborSearch< PointT >::getName (  )  const [inline, protected, virtual]

Class getName method.

Definition at line 318 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_arg index representing the point in the dataset given by setInputCloud
Returns:
PointT from input pointcloud dataset

Definition at line 438 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]

Definition at line 305 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.

Note:
limiting the maximum search radius (with setMaxDistance) can lead to a significant improvement in search speed
Parameters:
p_q_arg the given query point
k_arg the number of neighbors to search for
k_indices_arg the resultant indices of the neighboring points (must be resized to k a priori!)
k_sqr_distances_arg the resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns:
number of neighbors found

Definition at line 153 of file organized_neighbor_search.hpp.

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.

Note:
limiting the maximum search radius (with setMaxDistance) can lead to a significant improvement in search speed
Parameters:
cloud_arg the point cloud data
index_arg the index in cloud representing the query point
k_arg the number of neighbors to search for
k_indices_arg the resultant indices of the neighboring points (must be resized to k a priori!)
k_sqr_distances_arg the resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns:
number of neighbors found

Definition at line 141 of file organized_neighbor_search.hpp.

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.

Note:
limiting the maximum search radius (with setMaxDistance) can lead to a significant improvement in search speed
Parameters:
index_arg index 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_arg the number of neighbors to search for
k_indices_arg the resultant indices of the neighboring points (must be resized to k a priori!)
k_sqr_distances_arg the resultant squared distances to the neighboring points (must be resized to k a priori!)
Returns:
number of neighbors found

Definition at line 129 of file organized_neighbor_search.hpp.

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::pointPlaneProjection ( const PointT &  point,
int &  xpos,
int &  ypos 
) const [inline, protected]

Definition at line 300 of file organized_neighbor_search.h.

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_arg the point cloud data
index_arg the index in cloud representing the query point
radius_arg the radius of the sphere bounding all of p_q's neighbors
k_indices_arg the resultant indices of the neighboring points
k_sqr_distances_arg the resultant squared distances to the neighboring points
max_nn_arg if given, bounds the maximum returned neighbors to this value
Returns:
number of neighbors found in radius

Definition at line 50 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_arg the given query point
radius_arg the radius of the sphere bounding all of p_q's neighbors
k_indices_arg the resultant indices of the neighboring points
k_sqr_distances_arg the resultant squared distances to the neighboring points
max_nn_arg if given, bounds the maximum returned neighbors to this value
Returns:
number of neighbors found in radius

Definition at line 76 of file organized_neighbor_search.hpp.

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_arg index 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_arg radius of the sphere bounding all of p_q's neighbors
k_indices_arg the resultant indices of the neighboring points
k_sqr_distances_arg the resultant squared distances to the neighboring points
max_nn_arg if given, bounds the maximum returned neighbors to this value
Returns:
number of neighbors found in radius

Definition at line 62 of file organized_neighbor_search.hpp.

template<typename PointT >
void pcl::OrganizedNeighborSearch< PointT >::setInputCloud ( const PointCloudConstPtr cloud_arg  )  [inline]

Provide a pointer to the input data set.

Parameters:
cloud_arg the const boost shared pointer to a PointCloud message

Definition at line 92 of file organized_neighbor_search.h.

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 192 of file organized_neighbor_search.h.


Member Data Documentation

template<typename PointT >
PointCloudConstPtr pcl::OrganizedNeighborSearch< PointT >::input_ [protected]

Pointer to input point cloud dataset.

Definition at line 328 of file organized_neighbor_search.h.

template<typename PointT >
double pcl::OrganizedNeighborSearch< PointT >::max_distance_ [protected]

Maximum allowed distance between the query point and its k-neighbors.

Definition at line 331 of file organized_neighbor_search.h.

template<typename PointT >
double pcl::OrganizedNeighborSearch< PointT >::oneOverFocalLength_ [protected]

Global focal length parameter.

Definition at line 334 of file organized_neighbor_search.h.

template<typename PointT >
int pcl::OrganizedNeighborSearch< PointT >::radiusLookupTableHeight_ [protected]

Definition at line 339 of file organized_neighbor_search.h.

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

Definition at line 338 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 337 of file organized_neighbor_search.h.


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