[pdal] About litree filter: too much computation time, and other questions.

Bradley Chambers brad.chambers at gmail.com
Tue Jan 17 09:46:20 PST 2023


Ulises,

What version of PDAL are you using? I think this method will always be
fairly computationally complex, but we did have a nice speed-up with
https://github.com/PDAL/PDAL/pull/3520 prior to the 2.4 PDAL release.

Radius is distance used to select a dummy point. We default to 100 m, the
same as is used in the paper. The purpose of the dummy point is to seed the
class of points that will NOT belong to the tree currently being segmented.

min_points is only used after the current tree has been clustered. If it's
too small, it is skipped. Changing the min_points will not speed things up
significantly.

I think the biggest opportunities for speeding computation would be to
downsample the data prior to running the filter or to tile the data into
smaller chunks. Whether that is a satisfactory solution for your workflow
or not is really up to you.

Brad

On Mon, Jan 16, 2023 at 4:13 PM Ulises Ibarra <ulisesmartinibarra at gmail.com>
wrote:

> Hello everyone:
> I have a few questions about the "litree" filter and the computation time.
>
> After reading the paper: "2021-Li-PERS.pdf" which talks about the "litree"
> filter to segment trees, I thought I understood the mechanics of the
> "litree" filter, but most likely not.
>
> When applying filters.litree to a file
> "L3_0+L3_1_sample_cada_4cm_suelo_dalaunay.las" with 2 million points, the
> processing time I have so far is a little over 72 hours.
>
> My pipeline is the following:
> {
> "pipeline":
> [
>         {
>         "type":"readers.las"
>         },
>     {
>         "type":"filters.litree",
>         "min_points":3000,
>         "min_height":3.0,
>         "radius":2.0
>     },
>     {
>         "type":"writers.las",
>         "minor_version":4,
>         "scale_x":"0.001",
>         "scale_y":"0.001",
>         "scale_z":"0.001",
>         "extra_dims":"all"
>     }
> ]
> }
>
> But I applied previous pipelines to identify where in the process I'm
> missing:
>
> L3_0.las +L3_1.las
> |
> (filters.merge) (1)
> |
> L3_0+L3_1.las
> |
> (filters.sample) (2)
> |
> L3_0+L3_1_sample_cada_4cm.las
> |
> (filters.elm+filters.outlier+filters.smrf) (3)
> |
> L3_0+L3_1_sample_cada_4cm_suelo.las
> |
> (filters.hag_delaunay+filters.sort,dimension:HeihtAboveGround,order:DESC)
> (4)
> |
> L3_0+L3_1_sample_cada_4cm_suelo_dalaunay.las (Here is where I am)
> |
> (filteres.litree) (5)
> |
> L3_0+L3_1_sample_cada_4cm_suelo_dalaunay_litree.las (This is where I want
> to arrive)
>
> *Questions:*
>
> 1. What could I be doing wrong?
> 2. Does the "radius" option refer to the "spacing threshold" they talk
> about in the paper? I set radios:2. May be I wil  a get a
> 3. I set the value of min_points to 3000, thinking that any cluster of
> points better than that value would not be considered and would facilitate
> the computation. I'm wrong?
>
>
> I hope you can help me. I feel really confused.
>
> Tthak you.
>
> Ulises M. Ibarra
>
>
> _______________________________________________
> pdal mailing list
> pdal at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/pdal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20230117/58823b1a/attachment.htm>


More information about the pdal mailing list