-
 

point_cloud2_filters package from point_cloud2_filters repo

point_cloud2_filters

Package Summary

Tags No category tags.
Version 1.0.3
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ADVRHumanoids/point_cloud2_filters.git
VCS Type git
VCS Version master
Last Updated 2024-08-06
Dev Status MAINTAINED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Filters for the sensor_msgs/PointCloud2 based on the filters and sensor_filters chains

Additional Links

No additional links.

Maintainers

  • Davide Torielli

Authors

  • Davide Torielli

point_cloud_2_filters

Build Status

Wrappers for some of the pcl filters for sensor_msgs/PointCloud2 ROS messages. The implementation and usage is based on the filter and sensor_filter packages, so it is different from the wrappers of the PCL filters provided by the package pcl_ros.

All the parameters are settable from the config file, but also online through the dynamic_reconfigure server. Note that changing params with the dynamic_reconfigure server may take some seconds to have effect.

No ROS2 version (yet).

Usage example

See launch and config folders

Filters list

PassThroughFilterPointCloud2

Wrapper for the pcl::PassThrough filter

Params

  • active(bool, default: true) Activate the filter or not.
  • input_frame(str, default: “”) The input TF frame the data should be transformed into before processing
  • output_frame(str, default: “”) The output TF frame the data should be transformed into after processing
  • pub_cloud(bool, default: false) Publish the cloud immediately after this filter. Note that this is a duplicate if the filter is the last in the chain. Useful for debug purposes and it will publish even if active is false.
  • keep_organized(bool, default: true) Keep the point cloud organized (pcl::FilterIndices<PointT>::setKeepOrganized (bool keep_organized)
  • negative(bool, default: false) Set to true to return the data outside the min max limits
  • filter_field_name(str, default: z) The field to be used for filtering data
  • filter_limit_min(double, default: 0) The minimum allowed field value a point will be considered
  • filter_limit_max(double, default: 1) The maximum allowed field value a point will be considered

CropBoxFilterPointCloud2

Wrapper for the pcl::CropBox filter.
Warning pcl::CrobBox parameter keep_organized is broken on ROS melodic (on noetic it is ok).

Params

  • active(bool, default: true) Activate the filter or not.
  • input_frame(str, default: “”) The input TF frame the data should be transformed into before processing
  • output_frame(str, default: “”) The output TF frame the data should be transformed into after processing
  • pub_cloud(bool, default: false) Publish the cloud immediately after this filter. Note that this is a duplicate if the filter is the last in the chain. Useful for debug purposes and it will publish even if active is false.
  • keep_organized(bool, default: true) Keep the point cloud organized (pcl::FilterIndices<PointT>::setKeepOrganized (bool keep_organized)
  • negative(bool, default: false) Set to true to return the data outside the min max limits
  • min_x(double, default: -1.0) The minimum allowed x value a point will be considered from. Range: -1000.0 to 1000.0
  • max_x(double, default: -1.0) The maximum allowed x value a point will be considered from. Range: -1000.0 to 1000.0
  • min_y(double, default: -1.0) The minimum allowed y value a point will be considered from. Range: -1000.0 to 1000.0
  • max_y(double, default: -1.0) The maximum allowed y value a point will be considered from. Range: -1000.0 to 1000.0
  • min_z(double, default: -1.0) The minimum allowed z value a point will be considered from. Range: -1000.0 to 1000.0
  • max_z(double, default: -1.0) The maximum allowed z value a point will be considered from. Range: -1000.0 to 1000.0

VoxelGridFilterPointCloud2

Wrapper for the pcl::VoxelGrid filter.

Params

  • active(bool, default: true) Activate the filter or not.
  • input_frame(str, default: “”) The input TF frame the data should be transformed into before processing
  • output_frame(str, default: “”) The output TF frame the data should be transformed into after processing
  • pub_cloud(bool, default: false) Publish the cloud immediately after this filter. Note that this is a duplicate if the filter is the last in the chain. Useful for debug purposes and it will publish even if active is false.
  • negative(bool, default: false) Set to true to return the data outside the min max limits
  • leaf_size_x(double, default: 0.01) The size of a leaf (on x) used for downsampling. Range: 0.0 to 1.0
  • leaf_size_y(double, default: 0.01) The size of a leaf (on y) used for downsampling. Range: 0.0 to 1.0
  • leaf_size_z(double, default: 0.01) The size of a leaf (on z) used for downsampling. Range: 0.0 to 1.0
  • min_points_per_voxel(int, default:0) Set the minimum number of points required for a voxel to be used
  • downsample_all_data(int, default:0) Set to true if all fields need to be downsampled, or false if just XYZ
  • filter_field_name(str, default: “”) The field to be used for filtering data, acting like a passthrough. Empty for not using
  • filter_limit_min(double, default: -FLT_MAX) The minimum allowed field value a point will be considered
  • filter_limit_max(double, default: FLT_MAX) The maximum allowed field value a point will be considered

SacSegmentationExtractFilterPointCloud2

Wrapper to extract a geometric model with pcl::SACSegmentation and pcl::ExtractIndices.

Params

  • active(bool, default: true) Activate the filter or not.
  • input_frame(str, default: “”) The input TF frame the data should be transformed into before processing
  • output_frame(str, default: “”) The output TF frame the data should be transformed into after processing
  • pub_cloud(bool, default: false) Publish the cloud immediately after this filter. Note that this is a duplicate if the filter is the last in the chain. Useful for debug purposes and it will publish even if active is false.
  • negative(bool, default: false) Set whether to filter out (remove) the model (true) or all the rest (false).
  • model_type (int, default: 16) Geometric model to look for. Default to SACMODEL_NORMAL_PARALLEL_PLANE. Check pcl official doc. Please use integers according to the linked enum
  • method_type (int, default: 0) Segmentation model to use for. Default to SAC_RANSAC . Check pcl official doc. Please use integers according to the linked enum
  • axis_x(double, default: 0.0) The x component of the normal to the model to be removed. Range: 0.0 to 1.0
  • axis_y(double, default: 0.0) The y component of the normal to the model to be removed. Range: 0.0 to 1.0
  • axis_z(double, default: 1.0) The z component of the normal to the model to be removed. Range: 0.0 to 1.0
  • eps_angle(double, default: 0.15) Tolerance angle (rad) to the model to be considered normal to the axis. Range: -3.15 to 3.15
  • distance_threshold(double, default: 0.01) Range: 0 to 10
  • optimize_coefficents(bool, default: 0.01) Optimize the coefficents or not.
  • max_iterations(bool, default: 50)
  • probability(bool, default: 0.99)
  • min_radius(bool, default: -1)
  • max_radius(bool, default: 1000)
CHANGELOG

Changelog for package point_cloud2_filters

1.0.3 (2024-08-06)

  • Updated README.md
  • option to pub cloud immediately after the filter execution
  • Contributors: Davide Torielli, torydebra

1.0.2 (2023-08-04)

  • install example
  • Contributors: Davide Torielli

1.0.1 (2023-07-24)

  • Create LICENSE
  • Contributors: torydebra

1.0.0 (2023-07-24)

  • Merge pull request #5 from ADVRHumanoids/devel merging into master
  • Sac Segmentation filter with additional base class
  • added dynamic reconfigure && derivation from FilterIndices
  • Merge branch 'devel' of https://github.com/torydebra/pass_through_filter into devel
  • better readme
  • wrong interpretation of ROS_INFO_NAMED corrected
  • other filters and reamde better
  • derived class
  • cropbox filter
  • keep organized option
  • solved bug
  • corrected filename
  • fixing #2
  • Merge pull request #4 from peci1/patch-1 Improve CMakeLists.txt
  • Modified License
  • Improve CMakeLists.txt
  • first version
  • first commit
  • Contributors: Davide Torielli, Martin Pecka

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged point_cloud2_filters at Robotics Stack Exchange