用于点云、体素和光栅处理的python包。

pyoints的Python项目详细描述


p点

logo

pyoints是一个python包,用于方便地处理和分析点 云数据、体素和光栅图像。它是用来支撑 地理数据处理高级算法的发展。

一般概念

pyoints的关键思想是提供统一的数据结构来处理 以相同的方式显示点、体素和光栅。假设 数据可以解释为二维或三维点云。因此我们有 geo对象的集合,这里称为georecords,其特征是 通过二维或三维坐标coords,空间参考proj 以及变换矩阵。空间参照与转换 需要矩阵来定义地理对象的全局位置。旁边 原点,变换矩阵还存储 本地坐标系。

统一的数据结构简化了点云、体素的联合使用 在保持其自然特性的同时,也有明显的皮疹。到 简化处理和分析,存储每个点、体素或光栅单元 在常用的numpy记录数组中根据其自然结构。为了 例如,三维点云表示一组点,每个点 以一个坐标为特征,没有对多的附加属性。所以 点存储在一维记录数组中。相反,光栅 图像存储在二维记录数组中,这允许 光栅单元的常用索引访问。不过,每个细胞都有特征 由一个坐标和无到多个附加属性。三维的 体素相应地由三维记录阵列表示。

由于体素或光栅的所有对象也被解释为点云, 空间邻域查询,如最近邻或距离搜索,可以 具有统一的功能。因此,georecords 提供空间索引indexkd以方便高效地执行 邻里询问。类indexkd是不同空间的包装 索引,用于处理不同类型的多维空间查询。这个 由于性能原因,空间索引总是按需初始化, 但缓存以备将来查询。例如,一个 georecords表示三维点允许创建三个 通过调用georecords.indexkd()来建立维度空间索引。如果你不是 对第三维度感兴趣,您可以调用georecords.indexkd(2) 执行二维空间查询。

如果只想处理没有附加属性的坐标,则类 你可能会感兴趣。这个类还提供了indexkd特性, 但放弃使用投影和变换矩阵。

什么时候派因茨适合我?

基于上面提出的点的一般概念,有 已经实现了处理地理数据的算法、功能和过滤器 低编程工作量。

当然,有人可能会怀疑python是否足以分析点云 因为其他语言的数据效率更高。很明显 是的,但是根据作者的经验,python对于实现 快速测试新算法。点云分析和 处理通常依赖于空间邻域查询。因为 利用非常高效的python库,基本上 用更高效的语言编写的二进制文件的包装器,性能 损失是有限的。另外,pyoints负责选择和缓存 为您分配适当的空间索引,以便您可以专注于 算法思想。

所以,如果你有一个算法的想法,你想快速实现它并播放 使用不同的设置,pyoints为您量身定制。在找到一个 适当的算法它可以用更有效的语言实现 如果你愿意的话。因此,pyoints是专门为科学家和 新地理空间算法的开发人员。

安装

Conda安装

建议安装Conda。用[conda]安装p点 (https://conda.io/docs/user-guide/getting started.html)运行:

conda install -c leampy pyoints

目前支持Linux(64位)和Windows(64位)。

conda构建

如果您的系统尚不受支持,您可以使用 Conda接收

构建

conda build /path/to/pyoints/conda 

如果愿意,您可以指定变量,例如:

conda build /path/to/pyoints/conda --variants={python: [3.6], target_platform: ['osx-64']}

安装

创建一个虚拟环境myenv并添加新构建的pyoints包。

conda create -n myenv /path/to/builded/package/pyoints-*-py*_*.tar.bz2 --use-local

使用conda build可以找到正确的包路径。--输出

最后安装软件包:

conda activate myenv
conda install pyoints

测试

通过运行提供的doctests来测试包:

python /path/to/pyoints/tests/test_pyoints.py

文档

你可以在 文档。在这里你可以找到 包含每个模块示例和一些综合示例的文档字符串。你 也可以直接查看源文件。

许可证

版权所有(c)2018,塞巴斯蒂安·兰普雷赫特,特里尔大学, lamprecht@uni trier.de

PyPoints是GNU公众提供的免费软件 许可证v3或更高版本(gplv3+)。有关详细信息,请参见许可证。

引用

请引用p点:

Sebastian Lamprecht(2018):"pyoints:点云、体素的Python包 以及光栅处理。",urlhttps://github.com/laempy/pyoints, [联机;访问日期]。

@Misc{,
  author = {Sebastian Lamprecht},
  organization = {Trier University}
  title = {{Pyoints}: A Python package for point cloud, voxel and raster processing.},
  year = {2018--},
  url = "https://github.com/laempy/pyoints",
  note = {[Online; accessed <today>]}
}

贡献

欢迎任何有关pyoints项目的报道。见 有关详细信息,请参见"贡献"。

致谢

资金

这项工作得到了万神殿的支持。 欧洲共同体地平线2020计划资助的项目 根据授权协议774571。

python依赖性

此软件动态绑定以下python包(通过 PIP)。非常感谢作者提供了如此优秀的开源软件。

气缸接头

潘兴杰

dill

麦克恩斯

扁桃体

弗兰克·温特丹

拉斯比格兰特·布朗和霍华德·巴特勒

网络x

NetworkX开发人员

纽比

特拉维斯E.奥列芬特等人

opencv python

奥利·佩卡·海尼索

熊猫

pydata开发团队

文件

达什兰扬

Pyproj

杰夫·惠特克

SCIKIT学习

安德烈亚斯穆勒

scipy

scipy开发人员

霍华德·巴特勒

外部依赖性

`` pyoints`根据某些pip的要求绑定以下外部库 包裹。

格达尔

弗兰克·温特丹

liblas

Howard Butler、Mateusz Loskot等人。

libspacealindex

马里奥斯·哈杰利弗雷乌

  • 主页
  • 麻省理工学院许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
算法图形。路径方向Java枚举方向问题无法使用EAST   Java:将字符串转换为特定语言环境   javaspringboot&Thymeleaf为后续调用保存搜索表单的最佳方法   mapreduce程序中未调用java reducer   java如何将url中的Gif文件保存到手机中?   如何在JavaSwing中使用[Esc]键最小化JInternalFrame?   java创建了一个包含100个按钮、80个空按钮和20个随机按钮的网格布局   如何在java中使用数组对2d字符串数组中的每一行进行排序。分类   java无法识别的SSL消息,纯文本连接?例外   为什么Java编译器允许在抛出部分列出方法无法抛出的异常   java将预测数组添加到训练数组   java从Ajax调用获取响应文本   使用改型2的java应用程序等待一分钟后退出