Skip to content

docs(readme): show Patchwork++ as ROS 2 default + advertise SemanticKITTI eval harness#98

Merged
LimHyungTae merged 4 commits into
masterfrom
docs/readme-ros2-default
May 21, 2026
Merged

docs(readme): show Patchwork++ as ROS 2 default + advertise SemanticKITTI eval harness#98
LimHyungTae merged 4 commits into
masterfrom
docs/readme-ros2-default

Conversation

@LimHyungTae
Copy link
Copy Markdown
Member

What

Two small README clarifications.

1. ROS 2 default is Patchwork++

The README previously showed only ros2 launch patchworkpp patchworkpp.launch.py algorithm:=patchwork, which reads as if classic Patchwork is the default. The launch file at ros/launch/patchworkpp.launch.py:20 and the C++ default at ros/src/GroundSegmentationServer.cpp:95 are already "patchworkpp", so this is a doc fix. New text shows both invocations explicitly:

# Default — runs Patchwork++
ros2 launch patchworkpp patchworkpp.launch.py

# Override to the classic Patchwork
ros2 launch patchworkpp patchworkpp.launch.py algorithm:=patchwork

2. Advertise the SemanticKITTI eval harness + protocol caveat

Add a bullet to "What's in this repo" pointing at python/examples/evaluate_semantickitti.py and noting that the two algorithms use different evaluation protocols — the original Patchwork paper counts low-z vegetation as ground while the Patchwork++ paper (Sec. IV.A) excludes vegetation entirely, because the SemanticKITTI vegetation label mixes spurious leaves / branches with low ground cover and a single ground/non-ground choice is impractical. Points users at USAGE.md §1 and §4 for the protocol switch and per-sequence numbers.

Test plan

  • pre-commit run clean (mdformat applied one auto-fix on the new bullet line, then green).
  • No behaviour change; ROS 2 launch already defaults to patchworkpp.
  • Cross-refs to existing files only (USAGE.md, evaluate_semantickitti.py).

Docs-only; no version bump.

…harness

ROS 2 section:
- Make explicit that `ros2 launch patchworkpp patchworkpp.launch.py`
  alone runs Patchwork++; only `algorithm:=patchwork` opts into the
  classic algorithm. The launch file's LaunchConfiguration default is
  already "patchworkpp" (ros/launch/patchworkpp.launch.py:20), so this
  is a doc fix, not a behavioural change.

What's-in-this-repo:
- Add a bullet for python/examples/evaluate_semantickitti.py and note
  that the two algorithms use different SemanticKITTI evaluation
  protocols (Patchwork paper counts low-z vegetation as ground;
  Patchwork++ paper Sec. IV.A excludes vegetation entirely because
  the SemanticKITTI `vegetation` label mixes spurious leaves /
  branches with low ground cover). Point at USAGE.md §1 and §4 for
  the protocol switch and per-sequence numbers.

Docs-only; no version bump.
…ntributors note

pypatchworkpp ships on PyPI since v1.3.0; the pip banner is already
at the top of the README, but the Python install section was still
making `make pyinstall` the headline command. Switch the order:

- Lead with `pip install pypatchworkpp` and `pip install 'pypatchworkpp[demo]'`
  (the `[demo]` extra is defined in python/pyproject.toml and pulls
  open3d).
- Keep `make pyinstall` / `make pyinstall_with_demo` in a collapsed
  <details> block labelled "Build from source (contributors /
  unreleased main)" so the source-build path is still discoverable
  without competing with the pip path for new users.

Docs-only; same PR as the ROS 2 default clarification + eval-harness
bullet.
The README "What's in this repo" bullet was carrying a 4-line wall of
text about why Patchwork and Patchwork++ disagree on the vegetation
class. Shrink it to a single sentence + link to USAGE.md §1, and put
the full rationale (low ground cover vs. overhead foliage, why the
two papers chose different resolutions) where it belongs.
@LimHyungTae LimHyungTae merged commit 99b755a into master May 21, 2026
17 checks passed
@LimHyungTae LimHyungTae deleted the docs/readme-ros2-default branch May 21, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant