https://github.com/advrhumanoids/point_cloud2_filters

https://github.com/advrhumanoids/point_cloud2_filters

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: ADVRHumanoids
  • License: bsd-3-clause
  • Language: C++
  • Default Branch: master
  • Size: 64.5 KB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 5
  • Open Issues: 2
  • Releases: 0
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog License

README.md

pointcloud2_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)

Owner

  • Name: ADVR Humanoids
  • Login: ADVRHumanoids
  • Kind: organization
  • Email: luca.muratore@iit.it
  • Location: Istituto Italiano di Tecnologia

Humanoids & Human Centered Mechatronics, HHCM, IIT

GitHub Events

Total
  • Watch event: 3
  • Fork event: 2
Last Year
  • Watch event: 3
  • Fork event: 2

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 7
  • Total pull requests: 4
  • Average time to close issues: 7 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 2.43
  • Average comments per pull request: 1.25
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 months
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 3.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • peci1 (3)
  • torydebra (1)
  • Arthav24 (1)
Pull Request Authors
  • peci1 (1)
  • torydebra (1)
  • Usaali (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels