You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

pyntcloud

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pyntcloud

Python library for working with 3D point clouds.

0.3.1
pipPyPI
Maintainers
1

============================= Making point clouds fun again

.. image:: https://img.shields.io/lgtm/grade/python/g/daavoo/pyntcloud.svg?logo=lgtm&logoWidth=18) :target: https://lgtm.com/projects/g/daavoo/pyntcloud/context:python :alt: LGTM Code quality

.. image:: https://github.com/daavoo/pyntcloud/workflows/pyncloud%20C.I./badge.svg :target: https://github.com/daavoo/pyntcloud/actions :alt: Github Actions C.I.

.. image:: https://readthedocs.org/projects/pyntcloud/badge/?version=latest :target: https://pyntcloud.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://anaconda.org/conda-forge/pyntcloud/badges/version.svg
:target: https://anaconda.org/conda-forge/pyntcloud

.. image:: https://mybinder.org/badge.svg :target: https://mybinder.org/v2/gh/daavoo/pyntcloud/master :alt: Launch Binder

.. image:: https://zenodo.org/badge/69888255.svg :target: https://zenodo.org/badge/latestdoi/69888255

.. image:: https://raw.githubusercontent.com/daavoo/pyntcloud/master/docs/images/pyntcloud_logo.png :alt: pyntcloud logo

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

  • Examples_ (We encourage you to try out the examples by launching Binder <https://mybinder.org/v2/gh/daavoo/pyntcloud/master>_.)
  • Documentation_

.. _Examples: https://github.com/daavoo/pyntcloud/tree/master/examples .. _Documentation: http://pyntcloud.readthedocs.io/en/latest/

Installation

.. code-block:: bash

conda install pyntcloud -c conda-forge

Or:

.. code-block:: bash

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:

.. code-block:: python

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:

  • Open3D <https://www.open3d.org>_

.. code-block:: python

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
  • PyVista <https://docs.pyvista.org>_

.. code-block:: python

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)

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts