All Projects → daavoo → Pyntcloud

daavoo / Pyntcloud

Licence: mit
pyntcloud is a Python library for working with 3D point clouds.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyntcloud

Curated List Of Awesome 3d Morphable Model Software And Data
The idea of this list is to collect shared data and algorithms around 3D Morphable Models. You are invited to contribute to this list by adding a pull request. The original list arised from the Dagstuhl seminar on 3D Morphable Models https://www.dagstuhl.de/19102 in March 2019.
Stars: ✭ 375 (-59.19%)
Mutual labels:  3d, 3d-graphics, 3d-models
Assetkit
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)
Stars: ✭ 97 (-89.45%)
Mutual labels:  3d, 3d-graphics, 3d-models
Openscad
OpenSCAD - The Programmers Solid 3D CAD Modeller
Stars: ✭ 4,444 (+383.57%)
Mutual labels:  3d, 3d-graphics, 3d-models
Flame pytorch
This is a implementation of the 3D FLAME model in PyTorch
Stars: ✭ 153 (-83.35%)
Mutual labels:  3d, 3d-graphics, 3d-models
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (-51.58%)
Mutual labels:  3d, 3d-graphics, 3d-models
Tf flame
Tensorflow framework for the FLAME 3D head model. The code demonstrates how to sample 3D heads from the model, fit the model to 2D or 3D keypoints, and how to generate textured head meshes from Images.
Stars: ✭ 193 (-79%)
Mutual labels:  3d, 3d-graphics, 3d-models
Dotscad
Reduce the burden of mathematics when playing OpenSCAD
Stars: ✭ 344 (-62.57%)
Mutual labels:  3d, 3d-graphics
Vedo
A python module for scientific analysis of 3D objects based on VTK and numpy
Stars: ✭ 741 (-19.37%)
Mutual labels:  3d, 3d-graphics
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+332.1%)
Mutual labels:  3d, 3d-graphics
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (-56.47%)
Mutual labels:  3d, 3d-graphics
Realityui
A Swift Package for creating familiar UI Elements and animations in a RealityKit rendered Augmented Reality or Virtual Reality scene.
Stars: ✭ 275 (-70.08%)
Mutual labels:  3d, 3d-graphics
Recent Stars 2021
🔥🔥🔥SLAM, Pose/Object tracking, Depth/Disparity/Flow Estimation, 3D-graphic, etc. related papers and code
Stars: ✭ 393 (-57.24%)
Mutual labels:  3d, 3d-graphics
Embree viewer
Embree viewer is a simple implementation of a progressive renderer, based on Intel's Embree raytracing kernels. Its UI is written in SDL2, and it supports Alembic, OBJ file formats, with a JSON file to describe a scene.
Stars: ✭ 19 (-97.93%)
Mutual labels:  3d, 3d-graphics
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (-63.98%)
Mutual labels:  3d, 3d-graphics
React Babylonjs
React for Babylon 3D engine
Stars: ✭ 299 (-67.46%)
Mutual labels:  3d, 3d-models
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-69.75%)
Mutual labels:  3d, 3d-graphics
Klein
P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library
Stars: ✭ 463 (-49.62%)
Mutual labels:  3d, 3d-graphics
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (-46.25%)
Mutual labels:  3d, 3d-graphics
Blender
Mirror of the official Blender Git repository. Updated every hour.
Stars: ✭ 609 (-33.73%)
Mutual labels:  3d, 3d-graphics
StickMan-3D
StickMan 3D: First Round | indie fighting game | C++ OpenGL
Stars: ✭ 60 (-93.47%)
Mutual labels:  3d-graphics, 3d-models

============================= 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://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)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].