pyntcloud is a Python 3 library for working with 3D point clouds leveraging the power of the Python scientific stack.
Installation
conda install pyntcloud -c conda-forge
Or:
pip install pyntcloud
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")
cloud.add_scalar_field("hsv")
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)
new_cloud.to_file("out_file.npz")
Integration with other libraries
pyntcloud offers seamless integration with other 3D processing libraries.
You can create / convert PyntCloud instances from / to many 3D processing libraries using the from_instance / to_instance methods:
import open3d as o3d
from pyntcloud import PyntCloud
# FROM Open3D
original_triangle_mesh = o3d.io.read_triangle_mesh("diamond.ply")
cloud = PyntCloud.from_instance("open3d", original_triangle_mesh)
# TO Open3D
cloud = PyntCloud.from_file("diamond.ply")
converted_triangle_mesh = cloud.to_instance("open3d", mesh=True) # mesh=True by default
import pyvista as pv
from pyntcloud import PyntCloud
# FROM PyVista
original_point_cloud = pv.read("diamond.ply")
cloud = PyntCloud.from_instance("pyvista", original_point_cloud)
# TO PyVista
cloud = PyntCloud.from_file("diamond.ply")
converted_triangle_mesh = cloud.to_instance("pyvista", mesh=True)
Metadata
Release files for pyntcloud 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyntcloud-0.3.1.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyntcloud-0.3.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 2.2 MB
Release files / pyntcloud-0.3.1.tar.gz
| Download URL | pyntcloud-0.3.1.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
628b45967e1c97a947df0637267197a6b38a36cb04173f9837f05bc3180348b8
|
|
BLAKE2b-256 checksum How to use checksums |
a89d1490a0fbfdbbd43682194533cd52fbbe14e0fbee2701f1b3e04888b200ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|
Release files / pyntcloud-0.3.1-py2.py3-none-any.whl
| Download URL | pyntcloud-0.3.1-py2.py3-none-any.whl |
|---|---|
| Size | 346.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
2c064f53ae75175e8a9b8fe9f59d430b02b203a4e7ef8620af01d5e247d4df88
|
|
BLAKE2b-256 checksum How to use checksums |
93388e67f280c571d256fa168cac1dfeec190659cf415dfea0e0771667d22b54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.13
|