42 #include <pcl/filters/filter_indices.h>
43 #include <pcl/search/search.h>
71 template<
typename Po
intT>
82 using Ptr = shared_ptr<RadiusOutlierRemoval<PointT> >;
83 using ConstPtr = shared_ptr<const RadiusOutlierRemoval<PointT> >;
104 search_radius_ = radius;
115 return (search_radius_);
126 min_pts_radius_ = min_pts;
137 return (min_pts_radius_);
155 num_threads_ = nr_threads != 0 ? nr_threads : omp_get_num_procs();
157 if (num_threads_ != 1) {
158 PCL_WARN(
"OpenMP is not available. Keeping number of threads unchanged at 1\n");
195 double search_radius_{0.0};
198 int min_pts_radius_{1};
233 filter_name_ =
"RadiusOutlierRemoval";
242 search_radius_ = radius;
249 return (search_radius_);
259 min_pts_radius_ = min_pts;
268 return (min_pts_radius_);
273 double search_radius_{0.0};
278 int min_pts_radius_{1};
291 #ifdef PCL_NO_PRECOMPILE
292 #include <pcl/filters/impl/radius_outlier_removal.hpp>
Filter represents the base filter class.
shared_ptr< Filter< PointT > > Ptr
shared_ptr< const Filter< PointT > > ConstPtr
std::string filter_name_
The filter name.
FilterIndices represents the base class for filters that are about binary point removal.
PCLPointCloud2::Ptr PCLPointCloud2Ptr
PCLPointCloud2::ConstPtr PCLPointCloud2ConstPtr
typename PointCloud::Ptr PointCloudPtr
typename PointCloud::ConstPtr PointCloudConstPtr
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
void applyFilter(Indices &indices) override
Abstract filter method for point cloud indices.
double getRadiusSearch()
Get the sphere radius used for determining the k-nearest neighbors.
double getMinNeighborsInRadius()
Get the minimum number of neighbors that a point needs to have in the given search radius to be consi...
void setRadiusSearch(double radius)
Set the sphere radius that is to be used for determining the k-nearest neighbors for filtering.
KdTreePtr searcher_
A pointer to the spatial search object.
RadiusOutlierRemoval(bool extract_removed_indices=false)
Empty constructor.
void applyFilter(PCLPointCloud2 &output) override
Abstract filter method for point cloud.
void setMinNeighborsInRadius(int min_pts)
Set the minimum number of neighbors that a point needs to have in the given search radius in order to...
RadiusOutlierRemoval filters points in a cloud based on the number of neighbors they have.
void applyFilterIndices(Indices &indices)
Filtered results are indexed by an indices array.
int getMinNeighborsInRadius()
Get the number of neighbors that need to be present in order to be classified as an inlier.
void applyFilter(Indices &indices) override
Filtered results are indexed by an indices array.
void setMinNeighborsInRadius(int min_pts)
Set the number of neighbors that need to be present in order to be classified as an inlier.
void setRadiusSearch(double radius)
Set the radius of the sphere that will determine which points are neighbors.
RadiusOutlierRemoval(bool extract_removed_indices=false)
Constructor.
typename pcl::search::Search< PointT >::Ptr SearcherPtr
double getRadiusSearch()
Get the radius of the sphere that will determine which points are neighbors.
void setSearchMethod(const SearcherPtr &searcher)
Provide a pointer to the search object.
void setNumberOfThreads(unsigned int nr_threads=0)
Set the number of threads to use.
shared_ptr< pcl::search::Search< PointT > > Ptr
IndicesAllocator<> Indices
Type used for indices in PCL.
shared_ptr< ::pcl::PCLPointCloud2 > Ptr
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr
A point structure representing Euclidean xyz coordinates, and the RGB color.