[pdal] filters.litree very slow on ~2.7M pts (45+ min, stuck at tree 4) — any tips to speed it up?
Andrew Bell
andrew.bell.ia at gmail.com
Fri Sep 26 10:16:34 PDT 2025
Your radius seems to be very large for the extent of your point cloud,
especially considering the number of points.
On Fri, Sep 26, 2025 at 12:23 PM Αντώνης Βενιανάκης via pdal <
pdal at lists.osgeo.org> wrote:
> 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
> _______________________________________________
> pdal mailing list
> pdal at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/pdal
>
--
Andrew Bell
andrew.bell.ia at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20250926/133627df/attachment.htm>
More information about the pdal
mailing list