Apollo
6.0
Open source self driving car software
|
A searchable voxel structure containing the mean and covariance of the data. More...
#include <ndt_voxel_grid_covariance.h>
Public Member Functions | |
VoxelGridCovariance () | |
Constructor. More... | |
void | SetInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. 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 | filter (const std::vector< Leaf > &cell_leaf, bool searchable=true) |
Initializes voxel structure. More... | |
void | SetMap (const std::vector< Leaf > &map_leaves, PointCloudPtr output) |
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... | |
const std::map< size_t, Leaf > & | GetLeaves () |
Get the leaf structure map. More... | |
PointCloudPtr | GetCentroids () |
Get a pointcloud containing the voxel centroids. More... | |
int | RadiusSearch (const PointT &point, double radius, std::vector< LeafConstPtr > *k_leaves, std::vector< float > *k_sqr_distances, unsigned int max_nn=0) |
Search for all the nearest occupied voxels of the query point in a given radius. More... | |
void | GetDisplayCloud (pcl::PointCloud< pcl::PointXYZ > *cell_cloud) |
void | SetMapLeftTopCorner (const Eigen::Vector3d &left_top_corner) |
void | SetVoxelGridResolution (float lx, float ly, float lz) |
Protected Types | |
typedef pcl::PointCloud< PointT > | PointCloud |
typedef boost::shared_ptr< PointCloud > | PointCloudPtr |
typedef boost::shared_ptr< const PointCloud > | PointCloudConstPtr |
Protected Attributes | |
PointCloudConstPtr | input_ |
Eigen::Vector4f | leaf_size_ |
Eigen::Array4f | inverse_leaf_size_ |
Eigen::Vector4i | min_b_ |
Eigen::Vector4i | max_b_ |
Eigen::Vector4i | div_b_ |
Eigen::Vector4i | divb_mul_ |
int | min_points_per_voxel_ |
Minimum points contained with in a voxel to allow it to be usable. More... | |
std::map< 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 at least minimum number of points. More... | |
std::vector< int > | voxel_centroids_leaf_indices_ |
Indices of leaf structurs associated with each point. More... | |
pcl::KdTreeFLANN< PointT > | kdtree_ |
KdTree generated using voxel_centroids_ (used for searching). More... | |
Eigen::Vector3d | map_left_top_corner_ |
Left top corner. More... | |
A searchable voxel structure containing the mean and covariance of the data.
|
protected |
|
protected |
|
protected |
|
inline |
Constructor.
|
inline |
Initializes voxel structure.
|
inline |
Get a pointcloud containing the voxel centroids.
void apollo::localization::ndt::VoxelGridCovariance< PointT >::GetDisplayCloud | ( | pcl::PointCloud< pcl::PointXYZ > * | cell_cloud | ) |
|
inline |
Get the voxel containing point p.
|
inline |
Get the voxel containing point p.
[in] | p | the point to get the leaf structure at |
|
inline |
Get the voxel containing point p.*.
|
inline |
Get the leaf structure map.
|
inline |
Get the minimum number of points required for a cell to be used.
int apollo::localization::ndt::VoxelGridCovariance< PointT >::RadiusSearch | ( | const PointT & | point, |
double | radius, | ||
std::vector< LeafConstPtr > * | k_leaves, | ||
std::vector< float > * | k_sqr_distances, | ||
unsigned int | max_nn = 0 |
||
) |
Search for all the nearest occupied voxels of the query point in a given radius.
|
inline |
Provide a pointer to the input dataset.
void apollo::localization::ndt::VoxelGridCovariance< PointT >::SetMap | ( | const std::vector< Leaf > & | map_leaves, |
PointCloudPtr | output | ||
) |
|
inline |
|
inline |
Set the minimum number of points required for a cell to be used (must be 3 or greater for covariance calculation).
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
KdTree generated using voxel_centroids_ (used for searching).
|
protected |
|
protected |
Voxel structure containing all leaf nodes (includes voxels with less than a sufficient number of points).
|
protected |
Left top corner.
|
protected |
|
protected |
|
protected |
Minimum points contained with in a voxel to allow it to be usable.
|
protected |
Point cloud containing centroids of voxels containing at least minimum number of points.
|
protected |
Indices of leaf structurs associated with each point.