RaspiKinect  1.0
filter.h
1 #pragma once
2 
3 #include <pcl/common/transforms.h>
4 #include <pcl/filters/filter.h>
5 #include <pcl/filters/median_filter.h>
6 #include <pcl/filters/passthrough.h>
7 #include <pcl/filters/radius_outlier_removal.h>
8 #include <pcl/filters/statistical_outlier_removal.h>
9 #include <pcl/filters/voxel_grid.h>
10 #include <pcl/point_cloud.h>
11 #include <pcl/point_types.h>
12 #include <pcl/surface/mls.h>
13 #include <pcl/filters/fast_bilateral.h>
17 class Filter {
18 public:
19 
24  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
25  removeNaNPoints(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud);
34  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
35  passThrough(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud,
36  float min_val, float max_val);
37 
43  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
44  voxelGrid(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud,
45  float leaf_size);
46 
54  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
55  statisticalOutlierRemoval(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &input,
56  float mean, float std_dev);
57 
67  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
68  radiusOutlineRemoval(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud,
69  float radius, int neighbors);
70 
75  pcl::PointCloud<pcl::PointNormal>::Ptr
76  removeNaNNormals(const pcl::PointCloud<pcl::PointNormal>::Ptr &cloud);
77 
86  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
87  matrixTransform(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud,
88  char axis, float theta, float translation, bool centroid);
93  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
94  medianFilter(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud) ;
99  pcl::PointCloud<pcl::PointNormal>::Ptr
100  movingLeastSquaresSmooth(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud);
106  pcl::PointCloud<pcl::PointXYZRGB>::Ptr movingLeastSquaresUpsample(
107  const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud);
116  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
117  applyFilters(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud,
118  float min_val, float max_val, float leaf_size, float radius,
119  int neighbors);
125  pcl::PointCloud<pcl::PointXYZRGB>::Ptr
126  bilateralFilter(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud) ;
127 
128 };
pcl::PointCloud< pcl::PointXYZRGB >::Ptr voxelGrid(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, float leaf_size)
Definition: filter.cpp:56
pcl::PointCloud< pcl::PointXYZRGB >::Ptr applyFilters(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, float min_val, float max_val, float leaf_size, float radius, int neighbors)
Definition: filter.cpp:185
pcl::PointCloud< pcl::PointXYZRGB >::Ptr movingLeastSquaresUpsample(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud)
Definition: filter.cpp:235
pcl::PointCloud< pcl::PointXYZRGB >::Ptr medianFilter(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud)
Definition: filter.cpp:203
pcl::PointCloud< pcl::PointXYZRGB >::Ptr statisticalOutlierRemoval(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &input, float mean, float std_dev)
Definition: filter.cpp:80
pcl::PointCloud< pcl::PointXYZRGB >::Ptr removeNaNPoints(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud)
Definition: filter.cpp:4
pcl::PointCloud< pcl::PointNormal >::Ptr movingLeastSquaresSmooth(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud)
Definition: filter.cpp:215
pcl::PointCloud< pcl::PointXYZRGB >::Ptr matrixTransform(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, char axis, float theta, float translation, bool centroid)
Definition: filter.cpp:149
pcl::PointCloud< pcl::PointXYZRGB >::Ptr radiusOutlineRemoval(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, float radius, int neighbors)
Definition: filter.cpp:104
pcl::PointCloud< pcl::PointXYZRGB >::Ptr passThrough(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, float min_val, float max_val)
Definition: filter.cpp:32
pcl::PointCloud< pcl::PointNormal >::Ptr removeNaNNormals(const pcl::PointCloud< pcl::PointNormal >::Ptr &cloud)
Definition: filter.cpp:122
Definition: filter.h:17
pcl::PointCloud< pcl::PointXYZRGB >::Ptr bilateralFilter(const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud)
Definition: filter.cpp:262