Skip to content

feat: add Galaxy-ready CSP inventory CLI - #1

Draft
kgerb wants to merge 6 commits into
mainfrom
codex/galaxy-cli
Draft

feat: add Galaxy-ready CSP inventory CLI#1
kgerb wants to merge 6 commits into
mainfrom
codex/galaxy-cli

Conversation

@kgerb

@kgerb kgerb commented Jul 15, 2026

Copy link
Copy Markdown

What changed

  • add a headless R CLI and pinned Docker image for CSP stand segmentation
  • add repeatable multi-segmentation forest inventory with optional species mappings
  • always produce a configurable DTM and optionally add PredInstance_CSP
  • preserve original points/dimensions, stage outputs atomically, and record resource metadata
  • stream inventory-only fields into disk-backed instance partitions
  • add a bounded parallel DTM path: 300 m tiles, 5 m buffer, 10 workers, and automatic 0.1 m minimum-Z streaming above 50 million points
  • apply the standardization rlas fix so requested dimensions beyond nine extra-byte records are readable

Why

3Dtrees needs one memory-conscious module that can inventory SAT, ForestMamba, and optional CSP instance segmentations while keeping CSP independently switchable for later SmartTile integration.

Validation

  • final image builds and completes the mikro_segmented.laz CLI path without emitting a CSP point cloud
  • 38/38 upstream package tests and CLI/parallel-helper tests pass
  • supplied-seed CSP on mikro.laz; automatic CSP on upstream beech.las with all 232,083 points preserved
  • 5.9M-point GFZ SAT+FM inventory retains exact instance IDs and point counts with 1.33 GiB process peak RSS
  • dataset 2056 DTM benchmark: 1,141,911,324 points under a hard 10-CPU/50-GB Docker envelope
  • final candidate scan: 56.83 s, 9.51 average CPU cores, 0.78 GiB parent peak RSS, 6.72 GiB conservative worker-peak sum
  • 300 m + 5 m CSF/TIN: 81.58 s, 2.93 GiB conservative worker-peak sum, complete aligned 4,758 x 3,490 raster at 0.2 m
  • deterministic candidate output across worker counts; unsupported outlier-only edge areas remain NoData

The complete DTM path is validated on dataset 2056. A complete all-segmentation inventory on that dataset remains separate work because its densest 300 m inventory read is still a distinct memory risk.

CI note

PR CI is intentionally disabled for this submodule. Review should use the local validation evidence above.

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