52 Filter(
double leaf_size,
double noise_threshold,
double floor_threshold);
65 void setLeafSize(
double new_leaf_size);
72 void setNoiseThreshold(
double noise_th);
79 void setFloorThreshold(
double floor_th);
86 void setCloudCenter(Eigen::Vector3f cloud_center);
96 void run(PointCloudRGB::Ptr cloud, PointCloudRGB::Ptr cloud_filtered);
104 void downsampleCloud(PointCloudRGB::Ptr cloud, PointCloudRGB::Ptr cloud_downsampled);
113 void filterNoise(PointCloudRGB::Ptr cloud, PointCloudRGB::Ptr cloud_filtered);
122 void filterFloor(PointCloudRGB::Ptr cloud, PointCloudRGB::Ptr cloud_filtered);
130 void outlierRemove(PointCloudRGB::Ptr cloud, PointCloudRGB::Ptr cloud_filtered);
140 static void removeFromCloud(PointCloudRGB::Ptr input_cloud,
141 PointCloudRGB::Ptr substract_cloud,
143 PointCloudRGB::Ptr cloud_filtered);
152 static void extractIndicesNegative(PointCloudRGB::Ptr cloud_in,
153 PointCloudRGB::Ptr cloud_out,
154 pcl::IndicesPtr indices);
163 static void extractIndices(PointCloudRGB::Ptr cloud_in,
164 PointCloudRGB::Ptr cloud_out,
165 pcl::IndicesPtr indices);
174 static void extractIndices(PointCloudNormal::Ptr normals_in,
175 PointCloudNormal::Ptr normals_out,
176 pcl::IndicesPtr indices);
183 double noise_threshold_;
186 Eigen::Vector4f cloud_center_;
192 double floor_threshold_;
pcl::PointCloud< pcl::PointXYZRGB > PointCloudRGB
pcl::PointCloud< pcl::Normal > PointCloudNormal
pcl::PointCloud< pcl::PointXYZ > PointCloudXYZ