RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
Loading...
Searching...
No Matches
Subtract Filtering

Filters a point cloud by removing points that have a sufficient number of neighbors within a given radius in a second point cloud. More...

Functions

pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud, const pcl::IndicesPtr &indices, const pcl::PointCloud< pcl::PointXYZ >::Ptr &subtractCloud, const pcl::IndicesPtr &subtractIndices, float radiusSearch, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZ, returning filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const pcl::IndicesPtr &indices, const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &subtractCloud, const pcl::IndicesPtr &subtractIndices, float radiusSearch, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZRGB, returning filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointNormal >::Ptr &cloud, const pcl::IndicesPtr &indices, const pcl::PointCloud< pcl::PointNormal >::Ptr &subtractCloud, const pcl::IndicesPtr &subtractIndices, float radiusSearch, float maxAngle=M_PI/4.0f, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointNormal, returning filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZINormal >::Ptr &cloud, const pcl::IndicesPtr &indices, const pcl::PointCloud< pcl::PointXYZINormal >::Ptr &subtractCloud, const pcl::IndicesPtr &subtractIndices, float radiusSearch, float maxAngle=M_PI/4.0f, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZINormal, returning filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr &cloud, const pcl::IndicesPtr &indices, const pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr &subtractCloud, const pcl::IndicesPtr &subtractIndices, float radiusSearch, float maxAngle=M_PI/4.0f, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZRGBNormal, returning filtered indices.
 
pcl::PointCloud< pcl::PointXYZ >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud, const pcl::PointCloud< pcl::PointXYZ >::Ptr &subtractCloud, float radiusSearch, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZ, returning a new filtered point cloud.
 
pcl::PointCloud< pcl::PointXYZRGB >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &subtractCloud, float radiusSearch, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZRGB, returning a new filtered point cloud.
 
pcl::PointCloud< pcl::PointNormal >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointNormal >::Ptr &cloud, const pcl::PointCloud< pcl::PointNormal >::Ptr &subtractCloud, float radiusSearch, float maxAngle=M_PI/4.0f, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointNormal, returning a new filtered point cloud.
 
pcl::PointCloud< pcl::PointXYZINormal >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZINormal >::Ptr &cloud, const pcl::PointCloud< pcl::PointXYZINormal >::Ptr &subtractCloud, float radiusSearch, float maxAngle=M_PI/4.0f, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZINormal, returning a new filtered point cloud.
 
pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::subtractFiltering (const pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr &cloud, const pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr &subtractCloud, float radiusSearch, float maxAngle=M_PI/4.0f, int minNeighborsInRadius=1)
 Subtract filtering for point cloud of type pcl::PointXYZRGBNormal, returning a new filtered point cloud.
 

Detailed Description

Filters a point cloud by removing points that have a sufficient number of neighbors within a given radius in a second point cloud.

This function performs a radius-based subtraction filter between two point clouds. It searches the subtractCloud for neighbors around each point in the cloud, and retains only those points from cloud (or from the indices subset of it) that have fewer than minNeighborsInRadius neighbors within the radiusSearch radius in subtractCloud.

Parameters
cloudThe input point cloud to filter.
indicesThe indices of the input point cloud to consider. If empty, the entire cloud is used.
subtractCloudThe point cloud to search against for neighboring points.
subtractIndicesOptional indices to use from the subtractCloud. If empty, the whole cloud is used.
radiusSearchThe radius within which to search for neighbors in the subtractCloud.
minNeighborsInRadiusMinimum number of neighbors required within radiusSearch to consider a point in cloud as not filtered out. Points with fewer neighbors are kept.
Returns
The indices of points from cloud that passed the filter, or the new filtered point cloud otherwise.