Skip to content

0.86.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 14:23
· 243 commits to main since this release

This release is largely about working with clouds far bigger than RAM. Import, segmentation, filtering, DEM building and export were each rebuilt to run in bounded memory, so scans in the tens of millions of points stay usable on an ordinary laptop instead of exhausting it.

Large clouds

  • Large sessions are held in a memory-mapped store from import onward, rather than entirely in RAM.
  • Buffered XY tiling for whole-cloud algorithms (the approach lidR and LAStools use): ground segmentation, outlier removal and local features run tile by tile with a collar, so peak memory is one tile rather than the whole cloud. Tiles run in parallel on a worker pool.
  • Streaming I/O: LAS imports read in chunks, PLY and E57 conversions write in blocks, session export to LAS/LAZ streams, and cloud-to-mesh streams.
  • DEM generation runs in bounded memory and sorts roughly ten times faster.
  • Undo history is stored as deltas instead of full snapshots.
  • You can pin the backend's memory budget in Settings, and set the octree renderer's display point budget.
  • Splitting builds only the children and rebuilds the parent in the background; Remove points rebuilds the octree in the background.

Leaf Area Density

  • Vertical LAD profile and bulk LAI are shown in the viewer.
  • Occluded voxels are screened by probed path length and filled by kriging, rather than being reported as measured zeros.
  • Several correctness fixes to the inversion: each miss keeps its own beam, hits deleted outside the grid are fed back in, G(θ) integrates over beams in blocks, and a background refresh no longer lets a crop bias the result.

Measurement and units

  • Distance, path and angle measurement in the point picker. Measurements survive rigid transforms and move with their cloud.
  • A scan's source unit is detected at import and normalised to metres, so a survey in feet measures correctly.

Color

  • The colorbar fits the data rather than the noise, and one continuous scale is shared across visible clouds.

Safety

  • Closing the app now confirms first when it would destroy the session. Nothing in a session is auto-persisted, so this previously happened on a single stray click.

Platform and reliability

  • Linux: the real glibc requirement (2.38) is now stated and guarded at build time. This needs Ubuntu 23.10+/24.04 LTS, Debian 13, or Fedora 39+ — not Ubuntu 22.04, Debian 12, or RHEL/Rocky 8–9.
  • Windows: octree-install failures are survivable, and evicted sessions spill to disk.
  • RIEGL: the reader spawns without forking the loaded image, and no longer reports an update pending when staleness isn't the blocker.
  • SBET trajectory import works end to end for georeferenced scans.
  • Ball Pivoting drops duplicate points first; ground segmentation fixes the band floor on clean ground and stops scaling the CSF cloth with extent on airborne clouds.
  • Upgraded to PyHelios v0.1.32 (streaming, bulk and block-tiled APIs).

Install

macOS users on Apple Silicon want Phytograph-arm64.dmg; Intel Macs want Phytograph-x64.dmg. Windows is Phytograph-Setup.exe. Linux is Phytograph-x86_64.AppImage (glibc 2.38+).