Classes | Functions

Module filters


Detailed Description

Overview

The pcl_filters library contains outlier and noise removal mechanisms for 3D point cloud data filtering applications.

An example of noise removal is presented in the figure below. Due to measurement errors, certain datasets present a large number of shadow points. This complicates the estimation of local point cloud 3D features. Some of these outliers can be filtered by performing a statistical analysis on each point's neighborhood, and trimming those which do not meet a certain criteria. The sparse outlier removal implementation in PCL is based on the computation of the distribution of point to neighbors distances in the input dataset. For each point, the mean distance from it to all its neighbors is computed. By assuming that the resulted distribution is Gaussian with a mean and a standard deviation, all points whose mean distances are outside an interval defined by the global distances mean and standard deviation can be considered as outliers and trimmed from the dataset.

filters_statistical_noise.png

History

Requirements

Classes

class  pcl::ConditionalRemoval< PointT >
 ConditionalRemoval filters data that satisfies certain conditions. More...
class  pcl::ExtractIndices< PointT >
 ExtractIndices extracts a set of indices from a PointCloud as a separate PointCloud. More...
class  pcl::ExtractIndices< sensor_msgs::PointCloud2 >
 ExtractIndices extracts a set of indices from a PointCloud as a separate PointCloud. More...
class  pcl::Filter< PointT >
 Filter represents the base filter class. More...
class  pcl::Filter< sensor_msgs::PointCloud2 >
 Filter represents the base filter class. More...
class  pcl::PassThrough< PointT >
 PassThrough uses the base Filter class methods to pass through all data that satisfies the user given constraints. More...
class  pcl::PassThrough< sensor_msgs::PointCloud2 >
 PassThrough uses the base Filter class methods to pass through all data that satisfies the user given constraints. More...
class  pcl::ProjectInliers< PointT >
 ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud. More...
class  pcl::ProjectInliers< sensor_msgs::PointCloud2 >
 ProjectInliers uses a model and a set of inlier indices from a PointCloud to project them into a separate PointCloud. More...
class  pcl::RadiusOutlierRemoval< PointT >
 RadiusOutlierRemoval is a simple filter that removes outliers if the number of neighbors in a certain search radius is smaller than a given K. More...
class  pcl::RadiusOutlierRemoval< sensor_msgs::PointCloud2 >
 RadiusOutlierRemoval is a simple filter that removes outliers if the number of neighbors in a certain search radius is smaller than a given K. More...
class  pcl::StatisticalOutlierRemoval< PointT >
 StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. More...
class  pcl::StatisticalOutlierRemoval< sensor_msgs::PointCloud2 >
 StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data. More...
class  pcl::VoxelGrid< PointT >
 VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...
class  pcl::VoxelGrid< sensor_msgs::PointCloud2 >
 VoxelGrid assembles a local 3D grid over a given PointCloud, and downsamples + filters the data. More...

Functions

template<typename PointT >
void pcl::removeNaNFromPointCloud (const pcl::PointCloud< PointT > &cloud_in, pcl::PointCloud< PointT > &cloud_out, std::vector< int > &index)
 Removes points with x, y, or z equal to NaN.

Function Documentation

template<typename PointT >
void pcl::removeNaNFromPointCloud ( const pcl::PointCloud< PointT > &  cloud_in,
pcl::PointCloud< PointT > &  cloud_out,
std::vector< int > &  index 
)

Removes points with x, y, or z equal to NaN.

Parameters:
cloud_in the input point cloud
cloud_out the input point cloud
index the mapping (ordered): cloud_out.points[i] = cloud_in.points[index[i]]
Note:
The density of the point cloud is lost.
Can be called with cloud_in == cloud_out

Definition at line 45 of file filter.hpp.