Skip to content

benchmarks/copc: add benchmark harness for the COPC writer family#306

Open
agrigoriev wants to merge 15 commits into
copc-multifile-mergefrom
benchmark-copc-writer
Open

benchmarks/copc: add benchmark harness for the COPC writer family#306
agrigoriev wants to merge 15 commits into
copc-multifile-mergefrom
benchmark-copc-writer

Conversation

@agrigoriev

@agrigoriev agrigoriev commented May 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a reproducible benchmark harness for the experimental COPC writer
on top of copc-multifile-merge. Pure additive — only benchmarks/copc/
gets new files; no source code changes (those all live in the parent
branches).

  • Per-writer wrappers (lasR-default, lasR-experimental,
    lasR-experimental-dense, untwine, pdal, lascopcindex)
  • Warm-run write/read measurement scripts (run_writers.sh,
    run_reads.sh)
  • LOD walker (inspect_copc.R) + visual LOD validator
    (validate_lod_visual.R) with per-depth uniformity CV
  • 4-tile multi-tile validator (run_multitile_validation.sh) including
    merged-COPC LOD coherence + edge-artifact seam check
  • Report generator (make_report.R)
  • 3DEP dataset fetcher (fetch_dataset.sh for single tile,
    fetch_multitile.sh for the 2×2 block)

agrigoriev added 15 commits May 5, 2026 14:34
Build u32/u64 from raw bytes (R's readBin doesn't support signed=FALSE
for size>=4) and silence seek() return values via invisible(). Smoke-tested
against PDAL output: 2099 leaves, max_depth=5, total_points=45,243,335.
…iant and add writer filtering in run_writers
…ipts

- Introduced a comprehensive report for validating LOD quality and seamless multi-tile merges in the experimental COPC writer.
- Implemented edge-artifact checking for merged COPC files.
- Created scripts for fetching adjacent USGS 3DEP tiles for multi-tile merge testing.
- Developed a validation script for visualizing LOD across different depth levels.
- Added functionality to merge multiple LAZ tiles into a single COPC file with specified density settings.
- Orchestrated the entire validation process through a main script that coordinates all phases, including LOD validation, tile fetching, merging, and edge artifact checks.
@agrigoriev agrigoriev requested a review from Jean-Romain May 12, 2026 17:44
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