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

Filters points from a point cloud using a 3D crop box. More...

Functions

pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PCLPointCloud2::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PCLPointCloud2 and returns filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZ and returns filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointNormal >::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointNormal and returns filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZRGB and returns filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZRGBNormal and returns filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZI and returns filtered indices.
 
pcl::IndicesPtr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZINormal >::Ptr &cloud, const pcl::IndicesPtr &indices, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZINormal and returns filtered indices.
 
pcl::PointCloud< pcl::PointXYZ >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZ and returns a new point cloud of the filtered points.
 
pcl::PointCloud< pcl::PointNormal >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointNormal >::Ptr &cloud, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointNormal and returns a new point cloud of the filtered points.
 
pcl::PointCloud< pcl::PointXYZRGB >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZRGB >::Ptr &cloud, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZRGB and returns a new point cloud of the filtered points.
 
pcl::PointCloud< pcl::PointXYZI >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZI >::Ptr &cloud, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZI and returns a new point cloud of the filtered points.
 
pcl::PointCloud< pcl::PointXYZINormal >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZINormal >::Ptr &cloud, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZINormal and returns a new point cloud of the filtered points.
 
pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr RTABMAP_CORE_EXPORT rtabmap::util3d::cropBox (const pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr &cloud, const Eigen::Vector4f &min, const Eigen::Vector4f &max, const Transform &transform=Transform::getIdentity(), bool negative=false)
 Performs crop box filtering on a point cloud of type pcl::PointXYZRGBNormal and returns a new point cloud of the filtered points.
 

Detailed Description

Filters points from a point cloud using a 3D crop box.

This function applies a PCL CropBox filter to retain or exclude points from the input point cloud that lie within a specified 3D axis-aligned bounding box, optionally transformed by a 3D transformation. The filter can be applied to the entire cloud or limited to a subset via input indices.

Parameters
cloudA pointer to the input point cloud to be filtered.
indicesA pointer to a vector of point indices that restricts the filtering to a subset of the cloud. Pass nullptr to apply the filter to all points in the cloud.
minThe minimum (corner) boundary of the crop box, as an Eigen 4D vector (x, y, z, _).
maxThe maximum (corner) boundary of the crop box, as an Eigen 4D vector (x, y, z, _).
transformA transformation to be applied to the crop box (not the cloud). If the transform is null or identity, no transformation is applied.
negativeIf true, the filter will exclude points inside the box; if false, it will include only those inside.
Returns
The indices corresponding to the points that passed the filter, or the new filtered point cloud otherwise.
Exceptions
Assertionfailure if any of min[x] >= max[x], min[y] >= max[y], or min[z] >= max[z].