I'd like to announce the release of python-pcl,
python bindings to the pointcloud library.
This is not a full binding to the rather large PCL API. Currently, the following
parts of the API are wrapped
- I/O and integration; saving and loading PCD files
- sample consensus model fittting (RANSAC + others, cylinders, planes, common geometry)
The code tries to follow the Point Cloud API, and also provides helper function
for interacting with numpy.
A minimal example (demonstrating the
p = pcl.PointCloud()
fil = p.make_statistical_outlier_filter()
The main limitation of the current implementation is that is only supports
PointXYZ point type. PCL is a heavily optimized and templated API,
and the best method for creating specializations correspoinding to the correct point type
in a dynamic language like Python is not clear.
Nevertheless, the binding is already capable of smoothing, filtering and
the fitting of geometries in arbitary 3D point cloud data.
The binding is written using Cython, and is one of the more complex
bindings I could find.
The current release has been tested with
although it should work with more recent releases.
I would be interested in adressing the specialization issues using the recently
added and improved
fused types support in Cython.
This work has been supported by, and is currently in production use at,