Skip to content

Epic 148A/148B: point-cloud conformance harness (PCL/PDAL) - #107

Merged
rsasaki0109 merged 1 commit into
mainfrom
agent/epic148-pointcloud-conformance
Aug 7, 2026
Merged

Epic 148A/148B: point-cloud conformance harness (PCL/PDAL)#107
rsasaki0109 merged 1 commit into
mainfrom
agent/epic148-pointcloud-conformance

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

Summary

Starts the point-cloud conformance program that mirrors the OpenCV comparison work (Epics 101–111): reproducible, honest PCL/PDAL comparisons on identical public clouds with a versioned report contract.

Deliverables

  • 148Aspatialrust.pointcloud-benchmark-manifest.v1: small (460,400-point public PCL scan) and full (2M synthetic room) profiles, required statistics, publication receipt fields, six workloads across filtering/features/io-transform.
  • 148Aspatialrust.pointcloud-comparison.v1 stdlib-only report contract (timed sampling, robust stats, PCL/PDAL/Open3D environment receipt, finite/required-key validation) + 7 contract tests in test_report.py.
  • 148B — PDAL runner (voxelcenternearest, filters.transformation translate, filters.reprojection) and run.sh that builds bench_ops and prints the table.
  • gains a translate_xyz workload behind transform-ops to compare with PDAL's transform filter.
  • Dated honest receipt receipt-2026-08-07.json.

Dated result (Linux, libpcl-dev, 460,400-point public cloud)

Operation SpatialRust PCL Speedup
Voxel downsample 0.0104 s 0.0177 s 1.70×
Normal estimation 0.2171 s 0.9893 s 4.56×
Statistical Outlier Removal 0.2297 s 1.1272 s 4.91×
Radius Outlier Removal 0.1088 s 0.7200 s 6.62×

Honest single-run numbers, not portability guarantees. PDAL/Open3D runners are ready but need a machine with those tools for dated numbers.

Verification

  • python bench/pcl_comparison/test_report.py — 7 contract tests pass
  • cargo test --workspace passes; clippy -D warnings clean
  • bench_ops builds with and without transform-ops

Add a versioned point-cloud benchmark manifest and stdlib-only report
contract under bench/pcl_comparison/, a PDAL comparison runner under
bench/pdal_comparison/, and a translate_xyz workload to bench_ops behind
transform-ops so SpatialRust can be compared against PDAL's transform
filter. Record a dated, honest SpatialRust-vs-PCL receipt on the identical
public 460,400-point cloud (voxel 1.70x, normals 4.56x, SOR 4.91x,
radius-outlier 6.62x).
@rsasaki0109
rsasaki0109 merged commit 3c817dd into main Aug 7, 2026
101 checks passed
@rsasaki0109
rsasaki0109 deleted the agent/epic148-pointcloud-conformance branch August 7, 2026 08:35
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