Skip to content
pyntcloud is a Python library for working with 3D point clouds.
Branch: master
Clone or download
Latest commit ad72cfe Jun 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jul 27, 2018
binder Add pythreejs to binder environment Jun 21, 2018
docs Fix #232 Jan 15, 2019
examples Update examples/[visualization] PyntCloud with multiple plot Jul 26, 2018
tests Update bad hardcoded names Jun 18, 2019
.flake8 flake8 everithing Jul 4, 2017
.gitattributes remove git lfs Mar 9, 2017
.gitignore Added test bin file, tests/documentation and better kwarg handling Jul 9, 2018
.travis.yml New test suite: test_xyz_filters (#152) Mar 29, 2018 Create Jul 27, 2018 Update and rename to Jun 18, 2019 edit manifest to make new plot work Jun 8, 2017
Pipfile Added line drawing to the plots, reduced use of PLACEHOLDERS (#143) Dec 13, 2017
README.rst Fix quick overview example Nov 17, 2018
appveyor.yml Add numba to appveyor and use conda for installation Jul 29, 2018
requirements.txt Update project meta info Jun 19, 2019 Update project meta info Jun 19, 2019


Making point clouds fun again

Travis Build Status Start in Binder


pyntcloud is a Python 3 library for working with 3D point clouds leveraging the power of the Python scientific stack.

Quick Overview

You can access most of pyntcloud's functionality from its core class: PyntCloud.

With PyntCloud you can perform complex 3D processing operations with minimum lines of code. For example you can:

  • Load a PLY point cloud from disk.
  • Add 3 new scalar fields by converting RGB to HSV.
  • Build a grid of voxels from the point cloud.
  • Build a new point cloud keeping only the nearest point to each occupied voxel center.
  • Save the new point cloud in numpy's NPZ format.

With the following concise code:

from pyntcloud import PyntCloud

cloud = PyntCloud.from_file("some_file.ply")


voxelgrid_id = cloud.add_structure("voxelgrid", n_x=32, n_y=32, n_z=32)

new_cloud = cloud.get_sample("voxelgrid_nearest", voxelgrid_id=voxelgrid_id, as_PyntCloud=True)

You can’t perform that action at this time.