I would like to use the cpd filter to transform a point cloud, but I am heading to the following error:

RuntimeError: Couldn't create filter stage of type 'filters.cpd'

which comes from the validation pipeline routine.

I installed pdal via conda on a specific virtual environment. My json pipeline is currently a straight copy/paste of the example available from the documentation:

import pdal, json

pip_cpd_est_trans = json.dumps(
"pipeline": [
        "type": "filters.cpd",
        "method": "rigid"
pipeline = pdal.Pipeline(pip_cpd_est_trans)

This is cross-posted at the PDAL GitHub issue tracker.

If you take a look at this table in the downloads section of the PDAL documentation, you will see that CPD is unfortunately not supported in the Conda package. You will need to build PDAL from source. Dependencies can still be obtained via Conda (although CPD adds a couple of additional dependencies, that will also need to be built from source, as they are not part of Conda either).

If someone were to submit a PR to enable CPD, I would be happy to review it. It will require submission of at least two additional packages to the conda-forge staged-recipes repo.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.