template<class PointType>
BipedalLocomotion::Perception::Features::PointCloudProcessor class

A wrapper class to do a basic PCL processing for perception aided locomotion.

The available operations,

  • Downsample a point cloud
  • Remove outliers
  • Extract spatial clusters of point cloud
  • Transform a point cloud

Constructors, destructors, conversion operators

PointCloudProcessor()
~PointCloudProcessor() defaulted

Public functions

auto initialize(std::weak_ptr<BipedalLocomotion::ParametersHandler::IParametersHandler> handler) -> bool
auto downsample(const typename pcl::PointCloud<PointType>::Ptr inCloud, typename pcl::PointCloud<PointType>::Ptr outCloud) -> bool
Downsample the point cloud using voxel grid filter See https://pcl.readthedocs.io/projects/tutorials/en/latest/voxel_grid.html#voxelgrid.
auto removeOutliers(const typename pcl::PointCloud<PointType>::Ptr inCloud, typename pcl::PointCloud<PointType>::Ptr outCloud) -> bool
Remove outliers from point cloud based on nearest neighbors See https://pcl.readthedocs.io/projects/tutorials/en/latest/statistical_outlier.html#statistical-outlier-removal.
auto extractClusters(const typename pcl::PointCloud<PointType>::Ptr inCloud, std::vector<pcl::PointIndices>& clusterIndices, std::vector<typename pcl::PointCloud<PointType>::Ptr>& cloudClusters) -> bool
Extract Euclidean clustering based point cloud clusters See https://pcl.readthedocs.io/projects/tutorials/en/latest/cluster_extraction.html#cluster-extraction.
auto transform(const typename pcl::PointCloud<PointType>::Ptr inCloud, Eigen::Ref<const Eigen::Matrix4f> transform, typename pcl::PointCloud<PointType>::Ptr outCloud) -> bool
Transform point cloud See https://pcl.readthedocs.io/projects/tutorials/en/latest/matrix_transform.html.
auto transform(const typename pcl::PointCloud<PointType>::Ptr inCloud, const Eigen::Affine3f& transform, typename pcl::PointCloud<PointType>::Ptr outCloud) -> bool
Transform point cloud See https://pcl.readthedocs.io/projects/tutorials/en/latest/matrix_transform.html.