PointCloudLibrary / PointCloudLibrary/pcl

[common/search] 2D versions of `pcl::getPointsInBox` and `cropBoxFilter`

Open
#6,288 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind: question kind: request
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

Is your feature request related to a problem? Please describe.

For some operations, e.g. 2D map creation from 3D point cloud, it is useful to search for points in certain XY range, with unconstrained Z.

Context

Robotic mapping, cloud points belonging to the same "column of air" above/below a 2D region (e.g. cell of a 2D grid/map).

Goal

Potential speedups on slow CPUs.

Expected behavior

Ability to set lower/upper bounds only for X and Y, skipping comparisons of Z values in pcl::getPointsInBox and cropBoxFilter (at most 1/3 of the numerical comparisons likely to be skipped).

Current Behavior

User is forced to pass min/max allowed Z value.

Additional Notes
Ideally the same way of reasoning would be applicable to search/indexing methods like Octree (--> only a Quadtree would be needed for such applications).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate pcl::getPointsInBox and cropBoxFilter and review how their bounds are currently applied. Define 2D variants that constrain X and Y while leaving Z unconstrained, then verify that both APIs support the stated point-cloud mapping use case without requiring artificial Z limits.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-vision, robotics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.