[pdal] filters.litree very slow on ~2.7M pts (45+ min, stuck at tree 4) — any tips to speed it up?
Αντώνης Βενιανάκης
antonis.ven95 at gmail.com
Wed Sep 24 05:21:58 PDT 2025
Hi everyone,
I’m seeing very slow performance from filters.litree and would appreciate
advice on how to improve it or what I might be doing wrong.
*Symptom*
The pipeline runs for ~45 minutes and is only at the 4th tree. Debug output
(abridged):
(pdal pipeline filters.litree Debug) Max HAG value of 23.7108
(pdal pipeline filters.litree Debug) Classifying points for tree 1
(|Ui| = 2688904)
(pdal pipeline filters.litree Debug) |Pi| = 5029,
|Ni| = 2683875
(pdal pipeline filters.litree Debug) Max HAG value of 23.4901
(pdal pipeline filters.litree Debug) Classifying points for tree 2
(|Ui| = 2683875)
(pdal pipeline filters.litree Debug) |Pi| = 1840,
|Ni| = 2682035
(pdal pipeline filters.litree Debug) Max HAG value of 23.3648
(pdal pipeline filters.litree Debug) Classifying points for tree 3
(|Ui| = 2682035)
(pdal pipeline filters.litree Debug) |Pi| = 3849,
|Ni| = 2678186
(pdal pipeline filters.litree Debug) Max HAG value of 23.3035
(pdal pipeline filters.litree Debug) Classifying points for tree 4
(|Ui| = 2678186)
So we’re around ~2.7M unclassified points and progressing very slowly.
*Pipeline*
{
"pipeline": [
{ "type": "readers.las", "filename":
"/home/adminis/Downloads/46DN2_12_segmented_cartolite_export_csf_24_9.laz"
},
{ "type": "filters.hag_delaunay" },
{ "type": "filters.sort", "dimension": "HeightAboveGround",
"order": "DESC" },
{ "type": "filters.litree", "min_points": 10, "min_height": 2.0,
"radius": 50.0 },
{ "type": "writers.las", "filename":
"/home/adminis/Downloads/46DN2_12_segmented_cartolite_export_csf_24_9_litree.laz",
"compression": "true", "minor_version": "1.4", "extra_dims": "all" }
]
}
*What I’ve read / expectations*
I saw in this GitHub comment that LiTree can finish “in a couple minutes”
on some datasets:
https://github.com/PDAL/PDAL/issues/3518#issuecomment-898709536
In my case, it’s an order of magnitude slower.
*My question*
Does anyone have suggestions on how to make filters.litree run faster on
multi-million-point datasets? Are there best practices around parameters or
workflow that significantly affect performance?
*Environment (let me know if more details help):*
-
*PDAL version:* 2.8.4
-
*Install:* conda env
-
*OS:* Ubuntu 24.04
-
*Input:* ~2.7M points, LAZ
Thanks a lot for any tips!
P.S. you can find the file here
<https://drive.google.com/file/d/1R-SZ7QdTff9gHOf0bxtuB0GHA3C7MTH_/view?usp=drive_link>
.
—
Antonis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20250924/aab08c53/attachment.htm>
More information about the pdal
mailing list