W3cubDocs

/PointCloudLibrary

A searchable voxel strucure containing the mean and covariance of the data. More...

#include <pcl/filters/voxel_grid_covariance.h>

Classes

struct Leaf
Simple structure to hold a centroid, covarince and the number of points in a leaf. More...

Public Types

using Ptr = shared_ptr< VoxelGrid< PointT > >
using ConstPtr = shared_ptr< const VoxelGrid< PointT > >
using LeafPtr = Leaf *
Pointer to VoxelGridCovariance leaf structure. More...
using LeafConstPtr = const Leaf *
Const pointer to VoxelGridCovariance leaf structure. More...
- Public Types inherited from pcl::VoxelGrid< PointT >
using Ptr = shared_ptr< VoxelGrid< PointT > >
using ConstPtr = shared_ptr< const VoxelGrid< PointT > >
- Public Types inherited from pcl::Filter< PointT >
using Ptr = shared_ptr< Filter< PointT > >
using ConstPtr = shared_ptr< const Filter< PointT > >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
- Public Types inherited from pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Public Member Functions

VoxelGridCovariance ()
Constructor. More...
void setMinPointPerVoxel (int min_points_per_voxel)
Set the minimum number of points required for a cell to be used (must be 3 or greater for covariance calculation). More...
int getMinPointPerVoxel ()
Get the minimum number of points required for a cell to be used. More...
void setCovEigValueInflationRatio (double min_covar_eigvalue_mult)
Set the minimum allowable ratio between eigenvalues to prevent singular covariance matrices. More...
double getCovEigValueInflationRatio ()
Get the minimum allowable ratio between eigenvalues to prevent singular covariance matrices. More...
void filter (PointCloud &output, bool searchable=false)
Filter cloud and initializes voxel structure. More...
void filter (bool searchable=false)
Initializes voxel structure. More...
LeafConstPtr getLeaf (int index)
Get the voxel containing point p. More...
LeafConstPtr getLeaf (PointT &p)
Get the voxel containing point p. More...
LeafConstPtr getLeaf (Eigen::Vector3f &p)
Get the voxel containing point p. More...
int getNeighborhoodAtPoint (const Eigen::Matrix< int, 3, Eigen::Dynamic > &relative_coordinates, const PointT &reference_point, std::vector< LeafConstPtr > &neighbors) const
Get the voxels surrounding point p designated by #relative_coordinates. More...
int getNeighborhoodAtPoint (const PointT &reference_point, std::vector< LeafConstPtr > &neighbors) const
Get the voxels surrounding point p, not including the voxel containing point p. More...
int getVoxelAtPoint (const PointT &reference_point, std::vector< LeafConstPtr > &neighbors) const
Get the voxel at p. More...
int getFaceNeighborsAtPoint (const PointT &reference_point, std::vector< LeafConstPtr > &neighbors) const
Get the voxel at p and its facing voxels (up to 7 voxels). More...
int getAllNeighborsAtPoint (const PointT &reference_point, std::vector< LeafConstPtr > &neighbors) const
Get all 3x3x3 neighbor voxels of p (up to 27 voxels). More...
const std::map< std::size_t, Leaf > & getLeaves ()
Get the leaf structure map. More...
PointCloudPtr getCentroids ()
Get a pointcloud containing the voxel centroids. More...
void getDisplayCloud (pcl::PointCloud< PointXYZ > &cell_cloud)
Get a cloud to visualize each voxels normal distribution. More...
int nearestKSearch (const PointT &point, int k, std::vector< LeafConstPtr > &k_leaves, std::vector< float > &k_sqr_distances) const
Search for the k-nearest occupied voxels for the given query point. More...
int nearestKSearch (const PointCloud &cloud, int index, int k, std::vector< LeafConstPtr > &k_leaves, std::vector< float > &k_sqr_distances) const
Search for the k-nearest occupied voxels for the given query point. More...
int radiusSearch (const PointT &point, double radius, std::vector< LeafConstPtr > &k_leaves, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Search for all the nearest occupied voxels of the query point in a given radius. More...
int radiusSearch (const PointCloud &cloud, int index, double radius, std::vector< LeafConstPtr > &k_leaves, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Search for all the nearest occupied voxels of the query point in a given radius. More...
- Public Member Functions inherited from pcl::VoxelGrid< PointT >
VoxelGrid ()
Empty constructor. More...
~VoxelGrid ()
Destructor. More...
void setLeafSize (const Eigen::Vector4f &leaf_size)
Set the voxel grid leaf size. More...
void setLeafSize (float lx, float ly, float lz)
Set the voxel grid leaf size. More...
Eigen::Vector3f getLeafSize () const
Get the voxel grid leaf size. More...
void setDownsampleAllData (bool downsample)
Set to true if all fields need to be downsampled, or false if just XYZ. More...
bool getDownsampleAllData () const
Get the state of the internal downsampling parameter (true if all fields need to be downsampled, false if just XYZ). More...
void setMinimumPointsNumberPerVoxel (unsigned int min_points_per_voxel)
Set the minimum number of points required for a voxel to be used. More...
unsigned int getMinimumPointsNumberPerVoxel () const
Return the minimum number of points required for a voxel to be used. More...
void setSaveLeafLayout (bool save_leaf_layout)
Set to true if leaf layout information needs to be saved for later access. More...
bool getSaveLeafLayout () const
Returns true if leaf layout information will to be saved for later access. More...
Eigen::Vector3i getMinBoxCoordinates () const
Get the minimum coordinates of the bounding box (after filtering is performed). More...
Eigen::Vector3i getMaxBoxCoordinates () const
Get the minimum coordinates of the bounding box (after filtering is performed). More...
Eigen::Vector3i getNrDivisions () const
Get the number of divisions along all 3 axes (after filtering is performed). More...
Eigen::Vector3i getDivisionMultiplier () const
Get the multipliers to be applied to the grid coordinates in order to find the centroid index (after filtering is performed). More...
int getCentroidIndex (const PointT &p) const
Returns the index in the resulting downsampled cloud of the specified point. More...
std::vector< int > getNeighborCentroidIndices (const PointT &reference_point, const Eigen::MatrixXi &relative_coordinates) const
Returns the indices in the resulting downsampled cloud of the points at the specified grid coordinates, relative to the grid coordinates of the specified point (or -1 if the cell was empty/out of bounds). More...
std::vector< int > getLeafLayout () const
Returns the layout of the leafs for fast access to cells relative to current position. More...
Eigen::Vector3i getGridCoordinates (float x, float y, float z) const
Returns the corresponding (i,j,k) coordinates in the grid of point (x,y,z). More...
int getCentroidIndexAt (const Eigen::Vector3i &ijk) const
Returns the index in the downsampled cloud corresponding to a given set of coordinates. More...
void setFilterFieldName (const std::string &field_name)
Provide the name of the field to be used for filtering data. More...
const std::string getFilterFieldName () const
Get the name of the field used for filtering. More...
void setFilterLimits (const double &limit_min, const double &limit_max)
Set the field filter limits. More...
void getFilterLimits (double &limit_min, double &limit_max) const
Get the field filter limits (min/max) set by the user. More...
void setFilterLimitsNegative (const bool limit_negative)
Set to true if we want to return the data outside the interval specified by setFilterLimits (min, max). More...
void getFilterLimitsNegative (bool &limit_negative) const
Get whether the data outside the interval (min/max) is to be returned (true) or inside (false). More...
bool getFilterLimitsNegative () const
Get whether the data outside the interval (min/max) is to be returned (true) or inside (false). More...
- Public Member Functions inherited from pcl::Filter< PointT >
Filter (bool extract_removed_indices=false)
Empty constructor. More...
const IndicesConstPtr getRemovedIndices () const
Get the point indices being removed. More...
void getRemovedIndices (PointIndices &pi)
Get the point indices being removed. More...
void filter (PointCloud &output)
Calls the filtering method and returns the filtered dataset in output. More...
- Public Member Functions inherited from pcl::PCLBase< PointT >
PCLBase ()
Empty constructor. More...
PCLBase (const PCLBase &base)
Copy constructor. More...
virtual ~PCLBase ()=default
Destructor. More...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset. More...
const PointCloudConstPtr getInputCloud () const
Get a pointer to the input point cloud dataset. More...
virtual void setIndices (const IndicesPtr &indices)
Provide a pointer to the vector of indices that represents the input data. More...
virtual void setIndices (const IndicesConstPtr &indices)
Provide a pointer to the vector of indices that represents the input data. More...
virtual void setIndices (const PointIndicesConstPtr &indices)
Provide a pointer to the vector of indices that represents the input data. More...
virtual void setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr getIndices ()
Get a pointer to the vector of indices used. More...
const IndicesConstPtr getIndices () const
Get a pointer to the vector of indices used. More...
const PointT & operator[] (std::size_t pos) const
Override PointCloud operator[] to shorten code. More...

Protected Types

using FieldList = typename pcl::traits::fieldList< PointT >::type
using PointCloud = typename Filter< PointT >::PointCloud
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
- Protected Types inherited from pcl::VoxelGrid< PointT >
using PointCloud = typename Filter< PointT >::PointCloud
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using FieldList = typename pcl::traits::fieldList< PointT >::type

Protected Member Functions

void applyFilter (PointCloud &output) override
Filter cloud and initializes voxel structure. More...
- Protected Member Functions inherited from pcl::Filter< PointT >
const std::string & getClassName () const
Get a string representation of the name of this class. More...
- Protected Member Functions inherited from pcl::PCLBase< PointT >
bool initCompute ()
This method should get called before starting the actual computation. More...
bool deinitCompute ()
This method should get called after finishing the actual computation. More...

Protected Attributes

bool searchable_
Flag to determine if voxel structure is searchable. More...
int min_points_per_voxel_
Minimum points contained with in a voxel to allow it to be usable. More...
double min_covar_eigvalue_mult_
Minimum allowable ratio between eigenvalues to prevent singular covariance matrices. More...
std::map< std::size_t, Leaf > leaves_
Voxel structure containing all leaf nodes (includes voxels with less than a sufficient number of points). More...
PointCloudPtr voxel_centroids_
Point cloud containing centroids of voxels containing atleast minimum number of points. More...
std::vector< int > voxel_centroids_leaf_indices_
Indices of leaf structurs associated with each point in voxel_centroids_ (used for searching). More...
KdTreeFLANN< PointT > kdtree_
KdTree generated using voxel_centroids_ (used for searching). More...
- Protected Attributes inherited from pcl::VoxelGrid< PointT >
Eigen::Vector4f leaf_size_
The size of a leaf. More...
Eigen::Array4f inverse_leaf_size_
Internal leaf sizes stored as 1/leaf_size_ for efficiency reasons. More...
bool downsample_all_data_
Set to true if all fields need to be downsampled, or false if just XYZ. More...
bool save_leaf_layout_
Set to true if leaf layout information needs to be saved in leaf_layout_. More...
std::vector< int > leaf_layout_
The leaf layout information for fast access to cells relative to current position. More...
Eigen::Vector4i min_b_
The minimum and maximum bin coordinates, the number of divisions, and the division multiplier. More...
Eigen::Vector4i max_b_
Eigen::Vector4i div_b_
Eigen::Vector4i divb_mul_
std::string filter_field_name_
The desired user filter field name. More...
double filter_limit_min_
The minimum allowed filter value a point will be considered from. More...
double filter_limit_max_
The maximum allowed filter value a point will be considered from. More...
bool filter_limit_negative_
Set to true if we want to return the data outside (filter_limit_min_;filter_limit_max_). More...
unsigned int min_points_per_voxel_
Minimum number of points per voxel for the centroid to be computed. More...
- Protected Attributes inherited from pcl::Filter< PointT >
IndicesPtr removed_indices_
Indices of the points that are removed. More...
std::string filter_name_
The filter name. More...
bool extract_removed_indices_
Set to true if we want to return the indices of the removed points. More...
- Protected Attributes inherited from pcl::PCLBase< PointT >
PointCloudConstPtr input_
The input point cloud dataset. More...
IndicesPtr indices_
A pointer to the vector of point indices to use. More...
bool use_indices_
Set to true if point indices are used. More...
bool fake_indices_
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...

Detailed Description

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

A searchable voxel strucure containing the mean and covariance of the data.

Note
For more information please see Magnusson, M. (2009). The Three-Dimensional Normal-Distributions Transform — an Efficient Representation for Registration, Surface Analysis, and Loop Detection. PhD thesis, Orebro University. Orebro Studies in Technology 36
Author
Brian Okorn (Space and Naval Warfare Systems Center Pacific)

Definition at line 55 of file voxel_grid_covariance.h.

Member Typedef Documentation

ConstPtr

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::ConstPtr = shared_ptr<const VoxelGrid<PointT> >

Definition at line 86 of file voxel_grid_covariance.h.

FieldList

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::FieldList = typename pcl::traits::fieldList<PointT>::type
protected

Definition at line 78 of file voxel_grid_covariance.h.

LeafConstPtr

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::LeafConstPtr = const Leaf *

Const pointer to VoxelGridCovariance leaf structure.

Definition at line 191 of file voxel_grid_covariance.h.

LeafPtr

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::LeafPtr = Leaf *

Pointer to VoxelGridCovariance leaf structure.

Definition at line 188 of file voxel_grid_covariance.h.

PointCloud

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::PointCloud = typename Filter<PointT>::PointCloud
protected

Definition at line 79 of file voxel_grid_covariance.h.

PointCloudConstPtr

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr
protected

Definition at line 81 of file voxel_grid_covariance.h.

PointCloudPtr

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::PointCloudPtr = typename PointCloud::Ptr
protected

Definition at line 80 of file voxel_grid_covariance.h.

Ptr

template<typename PointT >
using pcl::VoxelGridCovariance< PointT >::Ptr = shared_ptr<VoxelGrid<PointT> >

Definition at line 85 of file voxel_grid_covariance.h.

Constructor & Destructor Documentation

VoxelGridCovariance()

template<typename PointT >
pcl::VoxelGridCovariance< PointT >::VoxelGridCovariance ( )
inline

Constructor.

Sets leaf_size_ to 0 and searchable_ to false.

Definition at line 198 of file voxel_grid_covariance.h.

Member Function Documentation

applyFilter()

template<typename PointT >
void pcl::VoxelGridCovariance< PointT >::applyFilter ( PointCloud & output )
overrideprotectedvirtual

Filter cloud and initializes voxel structure.

Parameters
[out] output cloud containing centroids of voxels containing a sufficient number of points

Reimplemented from pcl::VoxelGrid< PointT >.

Definition at line 53 of file voxel_grid_covariance.hpp.

Referenced by pcl::VoxelGridCovariance< PointTarget >::filter().

filter() [1/2]

template<typename PointT >
void pcl::VoxelGridCovariance< PointT >::filter ( bool searchable = false )
inline

Initializes voxel structure.

Parameters
[in] searchable flag if voxel structure is searchable, if true then kdtree is built

Definition at line 281 of file voxel_grid_covariance.h.

filter() [2/2]

template<typename PointT >
void pcl::VoxelGridCovariance< PointT >::filter ( PointCloud & output,
bool searchable = false
)
inline

Filter cloud and initializes voxel structure.

Parameters
[out] output cloud containing centroids of voxels containing a sufficient number of points
[in] searchable flag if voxel structure is searchable, if true then kdtree is built

Definition at line 263 of file voxel_grid_covariance.h.

Referenced by pcl::NormalDistributionsTransform< PointSource, PointTarget >::init().

getAllNeighborsAtPoint()

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::getAllNeighborsAtPoint ( const PointT & reference_point,
std::vector< LeafConstPtr > & neighbors
) const

Get all 3x3x3 neighbor voxels of p (up to 27 voxels).

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] reference_point the point to get the leaf structure at
[out] neighbors
Returns
number of neighbors found (up to 27)

Definition at line 434 of file voxel_grid_covariance.hpp.

getCentroids()

template<typename PointT >
PointCloudPtr pcl::VoxelGridCovariance< PointT >::getCentroids ( )
inline

Get a pointcloud containing the voxel centroids.

Note
Only voxels containing a sufficient number of points are used.
Returns
a map contataining all leaves

Definition at line 423 of file voxel_grid_covariance.h.

getCovEigValueInflationRatio()

template<typename PointT >
double pcl::VoxelGridCovariance< PointT >::getCovEigValueInflationRatio ( )
inline

Get the minimum allowable ratio between eigenvalues to prevent singular covariance matrices.

Returns
the minimum allowable ratio between eigenvalues

Definition at line 253 of file voxel_grid_covariance.h.

getDisplayCloud()

template<typename PointT >
void pcl::VoxelGridCovariance< PointT >::getDisplayCloud ( pcl::PointCloud< PointXYZ > & cell_cloud )

Get a cloud to visualize each voxels normal distribution.

Parameters
[out] cell_cloud a cloud created by sampling the normal distributions of each voxel

Definition at line 445 of file voxel_grid_covariance.hpp.

getFaceNeighborsAtPoint()

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::getFaceNeighborsAtPoint ( const PointT & reference_point,
std::vector< LeafConstPtr > & neighbors
) const

Get the voxel at p and its facing voxels (up to 7 voxels).

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] reference_point the point to get the leaf structure at
[out] neighbors
Returns
number of neighbors found (up to 7)

Definition at line 418 of file voxel_grid_covariance.hpp.

getLeaf() [1/3]

template<typename PointT >
LeafConstPtr pcl::VoxelGridCovariance< PointT >::getLeaf ( Eigen::Vector3f & p )
inline

Get the voxel containing point p.

Parameters
[in] p the point to get the leaf structure at
Returns
const pointer to leaf structure

Definition at line 341 of file voxel_grid_covariance.h.

getLeaf() [2/3]

template<typename PointT >
LeafConstPtr pcl::VoxelGridCovariance< PointT >::getLeaf ( int index )
inline

Get the voxel containing point p.

Parameters
[in] index the index of the leaf structure node
Returns
const pointer to leaf structure

Definition at line 299 of file voxel_grid_covariance.h.

getLeaf() [3/3]

template<typename PointT >
LeafConstPtr pcl::VoxelGridCovariance< PointT >::getLeaf ( PointT & p )
inline

Get the voxel containing point p.

Parameters
[in] p the point to get the leaf structure at
Returns
const pointer to leaf structure

Definition at line 315 of file voxel_grid_covariance.h.

getLeaves()

template<typename PointT >
const std::map<std::size_t, Leaf>& pcl::VoxelGridCovariance< PointT >::getLeaves ( )
inline

Get the leaf structure map.

Returns
a map contataining all leaves

Definition at line 413 of file voxel_grid_covariance.h.

getMinPointPerVoxel()

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::getMinPointPerVoxel ( )
inline

Get the minimum number of points required for a cell to be used.

Returns
the minimum number of points for required for a voxel to be used

Definition at line 235 of file voxel_grid_covariance.h.

getNeighborhoodAtPoint() [1/2]

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::getNeighborhoodAtPoint ( const Eigen::Matrix< int, 3, Eigen::Dynamic > & relative_coordinates,
const PointT & reference_point,
std::vector< LeafConstPtr > & neighbors
) const

Get the voxels surrounding point p designated by #relative_coordinates.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] relative_coordinates 3xN matrix that represents relative coordinates of N neighboring voxels with respect to the center voxel
[in] reference_point the point to get the leaf structure at
[out] neighbors
Returns
number of neighbors found

Definition at line 371 of file voxel_grid_covariance.hpp.

getNeighborhoodAtPoint() [2/2]

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::getNeighborhoodAtPoint ( const PointT & reference_point,
std::vector< LeafConstPtr > & neighbors
) const

Get the voxels surrounding point p, not including the voxel containing point p.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] reference_point the point to get the leaf structure at
[out] neighbors
Returns
number of neighbors found (up to 26)

Definition at line 403 of file voxel_grid_covariance.hpp.

getVoxelAtPoint()

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::getVoxelAtPoint ( const PointT & reference_point,
std::vector< LeafConstPtr > & neighbors
) const

Get the voxel at p.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] reference_point the point to get the leaf structure at
[out] neighbors
Returns
number of neighbors found (up to 1)

Definition at line 411 of file voxel_grid_covariance.hpp.

nearestKSearch() [1/2]

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::nearestKSearch ( const PointCloud & cloud,
int index,
int k,
std::vector< LeafConstPtr > & k_leaves,
std::vector< float > & k_sqr_distances
) const
inline

Search for the k-nearest occupied voxels for the given query point.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] cloud the given query point
[in] index the index
[in] k the number of neighbors to search for
[out] k_leaves the resultant leaves of the neighboring points
[out] k_sqr_distances the resultant squared distances to the neighboring points
Returns
number of neighbors found

Definition at line 484 of file voxel_grid_covariance.h.

nearestKSearch() [2/2]

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::nearestKSearch ( const PointT & point,
int k,
std::vector< LeafConstPtr > & k_leaves,
std::vector< float > & k_sqr_distances
) const
inline

Search for the k-nearest occupied voxels for the given query point.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] point the given query point
[in] k the number of neighbors to search for
[out] k_leaves the resultant leaves of the neighboring points
[out] k_sqr_distances the resultant squared distances to the neighboring points
Returns
number of neighbors found

Definition at line 444 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::nearestKSearch().

radiusSearch() [1/2]

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::radiusSearch ( const PointCloud & cloud,
int index,
double radius,
std::vector< LeafConstPtr > & k_leaves,
std::vector< float > & k_sqr_distances,
unsigned int max_nn = 0
) const
inline

Search for all the nearest occupied voxels of the query point in a given radius.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] cloud the given query point
[in] index a valid index in cloud representing a valid (i.e., finite) query point
[in] radius the radius of the sphere bounding all of p_q's neighbors
[out] k_leaves the resultant leaves of the neighboring points
[out] k_sqr_distances the resultant squared distances to the neighboring points
[in] max_nn
Returns
number of neighbors found

Definition at line 544 of file voxel_grid_covariance.h.

radiusSearch() [2/2]

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::radiusSearch ( const PointT & point,
double radius,
std::vector< LeafConstPtr > & k_leaves,
std::vector< float > & k_sqr_distances,
unsigned int max_nn = 0
) const
inline

Search for all the nearest occupied voxels of the query point in a given radius.

Note
Only voxels containing a sufficient number of points are used.
Parameters
[in] point the given query point
[in] radius the radius of the sphere bounding all of p_q's neighbors
[out] k_leaves the resultant leaves of the neighboring points
[out] k_sqr_distances the resultant squared distances to the neighboring points
[in] max_nn
Returns
number of neighbors found

Definition at line 503 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::radiusSearch().

setCovEigValueInflationRatio()

template<typename PointT >
void pcl::VoxelGridCovariance< PointT >::setCovEigValueInflationRatio ( double min_covar_eigvalue_mult )
inline

Set the minimum allowable ratio between eigenvalues to prevent singular covariance matrices.

Parameters
[in] min_covar_eigvalue_mult the minimum allowable ratio between eigenvalues

Definition at line 244 of file voxel_grid_covariance.h.

setMinPointPerVoxel()

template<typename PointT >
void pcl::VoxelGridCovariance< PointT >::setMinPointPerVoxel ( int min_points_per_voxel )
inline

Set the minimum number of points required for a cell to be used (must be 3 or greater for covariance calculation).

Parameters
[in] min_points_per_voxel the minimum number of points for required for a voxel to be used

Definition at line 218 of file voxel_grid_covariance.h.

Member Data Documentation

kdtree_

leaves_

template<typename PointT >
std::map<std::size_t, Leaf> pcl::VoxelGridCovariance< PointT >::leaves_
protected

Voxel structure containing all leaf nodes (includes voxels with less than a sufficient number of points).

Definition at line 570 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::getLeaf(), pcl::VoxelGridCovariance< PointTarget >::getLeaves(), pcl::VoxelGridCovariance< PointTarget >::nearestKSearch(), and pcl::VoxelGridCovariance< PointTarget >::radiusSearch().

min_covar_eigvalue_mult_

template<typename PointT >
double pcl::VoxelGridCovariance< PointT >::min_covar_eigvalue_mult_
protected

Minimum allowable ratio between eigenvalues to prevent singular covariance matrices.

Definition at line 567 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::getCovEigValueInflationRatio(), and pcl::VoxelGridCovariance< PointTarget >::setCovEigValueInflationRatio().

min_points_per_voxel_

template<typename PointT >
int pcl::VoxelGridCovariance< PointT >::min_points_per_voxel_
protected

Minimum points contained with in a voxel to allow it to be usable.

Definition at line 564 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::getMinPointPerVoxel(), and pcl::VoxelGridCovariance< PointTarget >::setMinPointPerVoxel().

searchable_

template<typename PointT >
bool pcl::VoxelGridCovariance< PointT >::searchable_
protected

voxel_centroids_

template<typename PointT >
PointCloudPtr pcl::VoxelGridCovariance< PointT >::voxel_centroids_
protected

Point cloud containing centroids of voxels containing atleast minimum number of points.

Definition at line 573 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::filter(), and pcl::VoxelGridCovariance< PointTarget >::getCentroids().

voxel_centroids_leaf_indices_

template<typename PointT >
std::vector<int> pcl::VoxelGridCovariance< PointT >::voxel_centroids_leaf_indices_
protected

Indices of leaf structurs associated with each point in voxel_centroids_ (used for searching).

Definition at line 576 of file voxel_grid_covariance.h.

Referenced by pcl::VoxelGridCovariance< PointTarget >::nearestKSearch(), and pcl::VoxelGridCovariance< PointTarget >::radiusSearch().


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

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_voxel_grid_covariance.html