pyntcloud


Namepyntcloud JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://github.com/daavoo/pyntcloud
SummaryPython library for working with 3D point clouds.
upload_time2022-07-31 09:53:17
maintainer
docs_urlNone
authorDavid de la Iglesia Castro
requires_python>3.7
licenseThe MIT License
keywords
VCS
bugtrack_url
requirements numpy scipy pandas laspy lazrs ipython matplotlib numba pytest pyvista open3d
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =============================
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)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/daavoo/pyntcloud",
    "name": "pyntcloud",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "David de la Iglesia Castro",
    "author_email": "daviddelaiglesiacastro@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a8/9d/1490a0fbfdbbd43682194533cd52fbbe14e0fbee2701f1b3e04888b200ed/pyntcloud-0.3.1.tar.gz",
    "platform": null,
    "description": "=============================\nMaking point clouds fun again\n=============================\n\n.. image:: https://img.shields.io/lgtm/grade/python/g/daavoo/pyntcloud.svg?logo=lgtm&logoWidth=18)\n    :target: https://lgtm.com/projects/g/daavoo/pyntcloud/context:python\n    :alt: LGTM Code quality\n\n.. image:: https://github.com/daavoo/pyntcloud/workflows/pyncloud%20C.I./badge.svg\n    :target: https://github.com/daavoo/pyntcloud/actions\n    :alt: Github Actions C.I.\n    \n.. image:: https://readthedocs.org/projects/pyntcloud/badge/?version=latest\n    :target: https://pyntcloud.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://anaconda.org/conda-forge/pyntcloud/badges/version.svg   \n    :target: https://anaconda.org/conda-forge/pyntcloud\n\n.. image:: https://mybinder.org/badge.svg\n    :target: https://mybinder.org/v2/gh/daavoo/pyntcloud/master\n    :alt: Launch Binder\n \n.. image:: https://zenodo.org/badge/69888255.svg\n   :target: https://zenodo.org/badge/latestdoi/69888255\n \n.. image:: https://raw.githubusercontent.com/daavoo/pyntcloud/master/docs/images/pyntcloud_logo.png\n    :alt: pyntcloud logo\n\n\n\n\n**pyntcloud** is a Python **3** library for working with 3D point clouds leveraging the power of the Python scientific stack.\n\n- Examples_ (We encourage you to try out the examples by launching `Binder <https://mybinder.org/v2/gh/daavoo/pyntcloud/master>`_.)\n- Documentation_\n\n.. _Examples: https://github.com/daavoo/pyntcloud/tree/master/examples\n.. _Documentation: http://pyntcloud.readthedocs.io/en/latest/\n\nInstallation\n============\n\n.. code-block:: bash\n\n    conda install pyntcloud -c conda-forge\n\nOr:\n\n.. code-block:: bash\n\n    pip install pyntcloud\n\nQuick Overview\n==============\n\nYou can access most of pyntcloud's functionality from its core class: PyntCloud.\n\nWith PyntCloud you can perform complex 3D processing operations with minimum lines of\ncode. For example you can:\n\n- Load a PLY point cloud from disk.\n- Add 3 new scalar fields by converting RGB to HSV.\n- Build a grid of voxels from the point cloud.\n- Build a new point cloud keeping only the nearest point to each occupied voxel center.\n- Save the new point cloud in numpy's NPZ format.\n\nWith the following concise code:\n\n.. code-block:: python\n\n    from pyntcloud import PyntCloud\n\n    cloud = PyntCloud.from_file(\"some_file.ply\")\n\n    cloud.add_scalar_field(\"hsv\")\n\n    voxelgrid_id = cloud.add_structure(\"voxelgrid\", n_x=32, n_y=32, n_z=32)\n\n    new_cloud = cloud.get_sample(\"voxelgrid_nearest\", voxelgrid_id=voxelgrid_id, as_PyntCloud=True)\n\n    new_cloud.to_file(\"out_file.npz\")\n\nIntegration with other libraries\n================================\n\npyntcloud offers seamless integration with other 3D processing libraries.\n\nYou can create / convert PyntCloud instances from / to many 3D processing libraries using the `from_instance` / `to_instance` methods:\n\n- `Open3D <https://www.open3d.org>`_\n\n.. code-block:: python\n\n    import open3d as o3d\n    from pyntcloud import PyntCloud\n\n    # FROM Open3D\n    original_triangle_mesh = o3d.io.read_triangle_mesh(\"diamond.ply\")\n    cloud = PyntCloud.from_instance(\"open3d\", original_triangle_mesh)\n    \n    # TO Open3D\n    cloud = PyntCloud.from_file(\"diamond.ply\")\n    converted_triangle_mesh = cloud.to_instance(\"open3d\", mesh=True)  # mesh=True by default\n    \n- `PyVista <https://docs.pyvista.org>`_\n\n.. code-block:: python\n\n    import pyvista as pv\n    from pyntcloud import PyntCloud\n\n    # FROM PyVista\n    original_point_cloud = pv.read(\"diamond.ply\")\n    cloud = PyntCloud.from_instance(\"pyvista\", original_point_cloud)\n    \n    # TO PyVista\n    cloud = PyntCloud.from_file(\"diamond.ply\")\n    converted_triangle_mesh = cloud.to_instance(\"pyvista\", mesh=True)\n",
    "bugtrack_url": null,
    "license": "The MIT License",
    "summary": "Python library for working with 3D point clouds.",
    "version": "0.3.1",
    "project_urls": {
        "Homepage": "https://github.com/daavoo/pyntcloud"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93388e67f280c571d256fa168cac1dfeec190659cf415dfea0e0771667d22b54",
                "md5": "248fcdc41069b60d9911c421004dadc3",
                "sha256": "2c064f53ae75175e8a9b8fe9f59d430b02b203a4e7ef8620af01d5e247d4df88"
            },
            "downloads": -1,
            "filename": "pyntcloud-0.3.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "248fcdc41069b60d9911c421004dadc3",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">3.7",
            "size": 346340,
            "upload_time": "2022-07-31T09:53:15",
            "upload_time_iso_8601": "2022-07-31T09:53:15.138764Z",
            "url": "https://files.pythonhosted.org/packages/93/38/8e67f280c571d256fa168cac1dfeec190659cf415dfea0e0771667d22b54/pyntcloud-0.3.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a89d1490a0fbfdbbd43682194533cd52fbbe14e0fbee2701f1b3e04888b200ed",
                "md5": "ac9abe324601e53d1951dea4ecf3dfb0",
                "sha256": "628b45967e1c97a947df0637267197a6b38a36cb04173f9837f05bc3180348b8"
            },
            "downloads": -1,
            "filename": "pyntcloud-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ac9abe324601e53d1951dea4ecf3dfb0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">3.7",
            "size": 1822362,
            "upload_time": "2022-07-31T09:53:17",
            "upload_time_iso_8601": "2022-07-31T09:53:17.184236Z",
            "url": "https://files.pythonhosted.org/packages/a8/9d/1490a0fbfdbbd43682194533cd52fbbe14e0fbee2701f1b3e04888b200ed/pyntcloud-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-07-31 09:53:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "daavoo",
    "github_project": "pyntcloud",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "laspy",
            "specs": []
        },
        {
            "name": "lazrs",
            "specs": []
        },
        {
            "name": "ipython",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "numba",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "pyvista",
            "specs": [
                [
                    ">=",
                    "0.32.0"
                ]
            ]
        },
        {
            "name": "open3d",
            "specs": []
        }
    ],
    "lcname": "pyntcloud"
}
        
Elapsed time: 0.48736s