You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Much faster ground segmentation. At fine cloth resolutions ground segmentation is now 5–24× faster (on a 45.7 M-point scan at the default 0.2 m cloth: 24 min → 61 s), and labels now come out the same on every platform.
Tools that add a column no longer rebuild the point-cloud octree. Ground, wood/leaf, tree and organ segmentation, height above ground, normals, computed scalar fields and label commits now show their results right away instead of re-converting the whole cloud. Splitting a cloud by class draws the children from the parent, so nothing is converted then either.
Registration is more reliable. Each scan is now placed along a chain of pairwise alignments that have been checked by a closed loop, instead of trusting its direct pair with the reference. Scans captured inside the canopy also register now. The success message only says the alignments agree when every loop closes. On an apple orchard that used to misplace a scan by 33 m, all scans now land within 2.3 cm of RiSCAN PRO.
Features
Synthetic multi-return scans now record returns the way a real RIEGL instrument does: no miss point for energy that escapes a partly intercepted pulse, and a lower detection floor. This makes synthetic LAD a realistic test of the inversion. Requires the updated PyHelios/helios-core.
Fixes
Viewer: where the display point budget cuts the level of detail short, points are drawn just large enough to keep the same coverage, so coarser areas no longer show up as sparse rectangles. Areas at full detail still draw at your chosen point size. A crash with more than 2048 visible octree nodes is fixed, and point picking (brush, erase, zoom to cursor) no longer grabs a foreground point that is off the cursor.
Export: scan exports now write world coordinates (the import-time global shift is added back) and raw intensity values. Before this, a UTM scan exported in local coordinates and intensity was stretched separately in each file.
Merge: merged clouds keep their GPS time encoding, so they export and re-import correctly.
Georeferenced triangulation: Helios triangulations of UTM clouds keep full precision and draw in the right place.
Wood/leaf segmentation leaves points already labeled as ground out of the result, and reminds you when ground was never segmented. "Remove wood" no longer deletes labeled ground.
Tree segmentation (CHM) now estimates its cost from the grid size rather than the point count, so it warns before a long run and refuses a grid too large for memory, suggesting the smallest cell size that fits.
Edits are no longer silently reverted when the backend spills a session to disk while a request is using it, or when an erase or undo happens during a bake. Segmentation tools refuse to overwrite an edit made while they were running.
A plant's random seed now reproduces the same plant. It never did: the seed was applied after the plant model had already drawn its random parameters, so the same seed gave a different plant every time. This applies to single plants, canopies and the growth/age tools.
The backend now exits when the app dies, including a Force Quit, crash or out-of-memory kill, instead of staying behind holding every cloud in RAM.
RIEGL import: an empty .rxp file (e.g. a Dropbox project that hasn't finished downloading) now gets a clear message instead of RiVLib's "bad preamble". A Docker race right after the reader image is rebuilt is retried automatically.
Performance
QSM skeleton extraction is ~2.7× faster on large leaf-on trees, with identical output.
Showing normals on very large clouds fetches their values tile by tile, with no octree rebuild.
Scan progress updates no longer re-render the whole viewer.
Internal
PyHelios v0.1.38 / helios-core 1.3.93.
CI keeps each E2E session's app and backend logs, plus periodic backend thread stacks, for diagnosing failures that only happen on CI.