[pdal] How do I supply pdal.Filter.icp with the two datasets it needs?

lefsky at gmail.com lefsky at gmail.com
Wed Apr 10 15:39:19 PDT 2024


Additional question: When I try to filter by ScanDirectionFlag:

gdal_splitscan_a =
pdal.Filter.range(limits="ScanDirectionFlag[0:0]").pipeline()

I get the following error:

pdal.pipeline.Pipeline object at 0x7e068a2f50d0>
Traceback (most recent call last):
  File "/home/mlefsky/teren/nc_lazrot/nc_lazrot_v3.py", line 110, in
<module>
    pdal_icp=pdal_icp.execute()
             ^^^^^^^^^^^^^^^^^^
RuntimeError: filters.range: Invalid dimension name in 'limits' option:
'ScanDirectionFlag'.


I've checked the capitalization and spelling, and the attribute is in the
file, but somehow


On Wed, Apr 10, 2024 at 2:29 PM lefsky at gmail.com <lefsky at gmail.com> wrote:

> As per the subject line, I am trying to use pdal.Filter.icp in a script
> that uses the python calls, e.g.:
>
> pdal_icp = pdal.Filter.icp(max_iter=100)
>
> However, I don't see in the online references how one specifies an
> additional dataset for a single Stage. I have two pipelines- they are the
> same except one is for forward scan, the other is for back.
>
> One of those will be passed to  through the pipeline, but how do I tell
> ICP to use the results from another pipeline as the other pointcloud.
>
> Partially tested code (Some of it is probably incorrect syntax:
>
> pdal_read = pdal.Reader.las(filename="
> https://github.com/PDAL/PDAL/blob/master/test/data/las/1.2-with-color.las?raw=true
> ").pipeline()
>
> pdal_filtclass = pdal.Filter.range(limits="Classification[2:2]").pipeline()
>
> gdal_outlier=
> pdal.Filter.outlier(method="statistical",mean_k=12,multiplier=2)
>
> gdal_splitscan_a =
> pdal.Filter.range(limits="ScanDirectionFlag[0:0]").pipeline()
> gdal_splitscan_b =
> pdal.Filter.range(limits="ScanDirectionFlag[1:1]").pipeline()
>
> pipeline_a = pdal_read | pdal_filtclass | pdal_outlier | pdal_splitscan_a
> pipeline_b = pdal_read | pdal_filtclass | pdal_outlier | pdal_splitscan_b
>
> pdal_icp = pdal.Filter.icp(max_iter=100).pipeline(pipeline_a)
>
> But how do I specify pipeline_b?
>
> Thanks for any help you can provide.
>
> M
>
> P.S. Is there a searchable archive of pdal mailing list posts?
>
>
>
>
>
> Michael Lefsky (He/His)
> Home Location: HVHF+GH
> Cell: 970-980-9036
> http://www.researcherid.com/rid/A-7224-2009
>
> *“for being prematurely, and worse, intuitively right — there’s a heavy
> price. But for being wrong — no, not so long as you’re wrong in a pack."
> Gary Brecher / Portis*
>
> *I acknowledge that I live and work on stolen land. This is the land of
> the Cheyenne, Arapaho, Ute, and Ocheithi Sakowin people. To learn more
> about these nations, please visit;
> http://www.utemountainutetribe.com/
> http://www.cheyennenation.com/
> https://cheyenneandarapaho-nsn.gov/
> https://native-land.ca/
>
>

-- 
Michael Lefsky (He/His)
Home Location: HVHF+GH
Cell: 970-980-9036
http://www.researcherid.com/rid/A-7224-2009

*“for being prematurely, and worse, intuitively right — there’s a heavy
price. But for being wrong — no, not so long as you’re wrong in a pack."
Gary Brecher / Portis*

*I acknowledge that I live and work on stolen land. This is the land of the
Cheyenne, Arapaho, Ute, and Ocheithi Sakowin people. To learn more about
these nations, please visit;
http://www.utemountainutetribe.com/
http://www.cheyennenation.com/
https://cheyenneandarapaho-nsn.gov/
https://native-land.ca/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20240410/ae9c14eb/attachment.htm>


More information about the pdal mailing list