点处理工具包(pptk)

点处理工具包(pptk)是一个 Python 软件包,用于可视化和二维/三维点云处理。「The Point Processing Toolkit (pptk) is a Python package for visualizing and processing 2-d/3-d point clouds.」

Github stars Tracking Chart

pptk——点处理工具包

版权所有(C)2011-2018 HERE Europe B.V.

点处理工具包(pptk)是一个Python软件包,用于可视化和处理二维/三维点云。

目前,pptk 具有以下功能。

  • 3D 点云查看器
    • 接受任何 3 列 numpy 数组作为输入,
    • 使用基于八叉树的细节级别交互地渲染数千万个点,
    • 支持点选择以检查和注释点数据。
  • 一个完全并行化的点 k-d 树,它支持 k 个最近邻居查询和 r 个近距离查询(构建和查询均已并行化)。
  • 基于点云邻域主成分分析的正态估计例程。

Homepage

pptk screenshots

上面的屏幕截图显示了使用 pptk 可视化的各种点数据集。 来自Semantic3D 的 bildstein1 激光雷达点云(左),来自 Geolife 的北京GPS轨迹(左中),DistrictofColumbia.geojson 来自美国建筑物占地面积的二维多边形(右中)和莫比乌斯(Mobius)带(右)。 有关详细信息,请参见教程

许可

除非在特定文件或目录的许可证文件中另有说明,否则根目录中的许可证适用于此存储库中的所有内容。

安装

可以直接从 PyPI 安装 pptk

>> pip install pptk

或者从从源代码构建 pptk 的 .whl 文件。

>> pip install <.whl file>

快速开始

在Python中,生成100个随机的3-d点。

>> import numpy as np
>> x = np.random.rand(100, 3)

可视化

>> import pptk
>> v = pptk.viewer(x)

将点大小设置为0.01。

>> v.set(point_size=0.01)

有关更多高级示例,请参见教程

构建

我们提供CMake脚本来自动执行大多数构建过程,但要求用户手动准备依赖项并将其路径记录在以下CMake缓存变量中。

  • Numpy_INCLUDE_DIR
  • PYTHON_INCLUDE_DIR
  • PYTHON_LIBRARY
  • Eigen_INCLUDE_DIR
  • TBB_INCLUDE_DIR
  • TBB_tbb_LIBRARY
  • TBB_tbb_RUNTIME
  • TBB_tbbmalloc_LIBRARY
  • TBB_tbbmalloc_RUNTIME
  • Qt5_DIR

要设置这些变量,可以使用一个CMake的gui (ccmake或CMake -gui),或者在目标构建文件夹中提供一个初始的CMakeCache.txt(有关初始缓存文件的示例,请参阅CMakeCache.txt文件)

要求

以下列出了用于开发 pptk 的库及版本,尽管这些库的早期版本也可以使用。

Windows
  1. 创建一个空的构建文件夹
>> mkdir <build_folder>
  1. 在 <build_folder> 下创建一个初始CMakeCache.txt,并使用它为上面列出的CMake缓存变量提供值。 (例如,请参阅 CMakeCache.win.txt)
  2. 输入以下内容...
>> cd <build_folder>
>> cmake -G "NMake Makefiles" <source_folder>
>> nmake
>> python setup.py bdist_wheel
>> pip install dist\<.whl file>
Linux

类似于在Windows上构建。

Mac

类似于在Windows上构建。

(The first version translated by vz on 2020.07.16)

Main metrics

Overview
Name With Ownerheremaps/pptk
Primary LanguageC++
Program languageCMake (Language Count: 4)
PlatformLinux, Mac, Windows
License:MIT License
所有者活动
Created At2018-07-11 08:33:04
Pushed At2020-09-17 19:34:33
Last Commit At2018-10-04 16:31:12
Release Count0
用户参与
Stargazers Count624
Watchers Count21
Fork Count113
Commits Count49
Has Issues Enabled
Issues Count61
Issue Open Count55
Pull Requests Count0
Pull Requests Open Count4
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

pptk - Point Processing Toolkit

Copyright (C) 2011-2018 HERE Europe B.V.

The Point Processing Toolkit (pptk) is a Python package for visualizing and processing 2-d/3-d point clouds.

At present, pptk consists of the following features.

  • A 3-d point cloud viewer that
    • accepts any 3-column numpy array as input,
    • renders tens of millions of points interactively using an octree-based level of detail mechanism,
    • supports point selection for inspecting and annotating point data.
  • A fully parallelized point k-d tree that supports k-nearest neighbor queries and r-near range queries
    (both build and queries have been parallelized).
  • A normal estimation routine based on principal component analysis of point cloud neighborhoods.

Homepage

pptk screenshots

The screenshots above show various point datasets visualized using pptk.
The bildstein1 Lidar point cloud from Semantic3D (left),
Beijing GPS trajectories from Geolife (middle left),
DistrictofColumbia.geojson 2-d polygons from US building footprints (middle right),
and a Mobius strip (right).
For details, see the tutorials.

License

Unless otherwise noted in LICENSE files for specific files or directories,
the LICENSE in the root applies to all content in this repository.

Install

One can either install pptk directly from PyPI

>> pip install pptk

or from the .whl file that results from building pptk from source.

>> pip install <.whl file>

Quickstart

In Python, generate 100 random 3-d points.

>> import numpy as np
>> x = np.random.rand(100, 3)

Visualize.

>> import pptk
>> v = pptk.viewer(x)

Set point size to 0.01.

>> v.set(point_size=0.01)

For more advanced examples, see tutorials.

Build

We provide CMake scripts for automating most of the build process, but ask the
user to manually prepare dependencies and record their paths
in the following CMake cache variables.

  • Numpy_INCLUDE_DIR
  • PYTHON_INCLUDE_DIR
  • PYTHON_LIBRARY
  • Eigen_INCLUDE_DIR
  • TBB_INCLUDE_DIR
  • TBB_tbb_LIBRARY
  • TBB_tbb_RUNTIME
  • TBB_tbbmalloc_LIBRARY
  • TBB_tbbmalloc_RUNTIME
  • Qt5_DIR

To set these variables, either use one of CMake's GUIs (ccmake or cmake-gui),
or provide an initial CMakeCache.txt in the target build folder
(for examples of initial cache files, see the CMakeCache..txt files)

Requirements

Listed are versions of libraries used to develop pptk, though earlier versions
of these libraries may also work.

Windows
  1. Create an empty build folder
>> mkdir <build_folder>
  1. Create an initial CMakeCache.txt under <build_folder> and use it to provide
    values for the CMake cache variables listed above. (e.g. see CMakeCache.win.txt)

  2. Type the following...

>> cd <build_folder>
>> cmake -G "NMake Makefiles" <source_folder>
>> nmake
>> python setup.py bdist_wheel
>> pip install dist\<.whl file>
Linux

Similar to building on Windows.

Mac

Similar to building on Windows.