pyvista:Pythonic VTK接口,简化3D空间数据可视化与分析

3D visualization and mesh analysis for science and engineering

分支179Tags158
文件最后提交记录最后更新时间
7 个月前
23 天前
2 年前
6 小时前
2 个月前
7 天前
7 个月前
2 年前
1 年前
3 天前
5 天前
3 年前
2 个月前
2 年前
1 年前
1 个月前
1 年前
5 年前
6 天前
2 年前
2 年前
1 年前
3 个月前
2 个月前
6 个月前
5 个月前
3 年前
2 个月前
13 天前
1 个月前
1 个月前
1 个月前
1 个月前
4 小时前
29 天前
19 天前

PyVista

面向科学与工程领域的3D可视化与网格分析工具

PyVista examples gallery

PyPI Conda NumFOCUS Affiliated JOSS paper MIT License

PyVista 是一个开源、社区主导的项目,采用 MIT 许可证,并隶属于 NumFOCUS

由 PyVista 维护者创立的 CoDimensional PBC 是该项目的商业管理方。

PyVista 提供以下功能:

  • 用于 3D 可视化和网格分析的 NumPy 原生 API
  • 用于点、曲面和体数据集的结构与过滤器
  • 适用于笔记本、脚本、CI 和应用程序的统一绘图框架
  • 对新手友好且同时满足图形专家需求的简化 3D 接口

PyVista IPython demo

为什么选择 PyVista

PyVista 是科学计算和工程领域中用于 3D 可视化和网格分析的基础 Python 库。它在 3D 数据处理方面的作用,就如同 pandas 之于表格数据、xarray 之于带标签的 n 维数组:提供 NumPy 原生的点云、曲面和体网格数据集;包含涵盖裁剪、切片、阈值化、平滑以及其他数十种操作的过滤器 API;以及一个统一的绘图框架,该框架可在 Jupyter 笔记本中交互式运行、在 CI 中无界面运行,也可作为嵌入式视图集成到更大的 Web 和桌面应用程序中。

为生产环境构建

PyVista 是用户代码与底层图形堆栈之间的可靠层。该库在每次提交时都会针对所有仍在生命周期内的 Python 版本和 VTK 版本进行图像回归测试,通过审慎的弃用周期保持其公共 API 的稳定性,并在视觉回归基准下锁定渲染行为。其底层的 C++ 工具包几乎不提供这些保证,也不像我们这样热衷于测试和可靠性,这就是下游科学和工程团队基于 PyVista 进行构建的原因。

为扩展而构建

下游代码可以通过一个小型的、延迟计算的扩展 API 在 PyVista 基础上进行构建。第三方包通过注册的访问器附加特定领域的过滤器和绘图器组件,无需子类化、无需猴子补丁,也无需依赖上游算法。有关约定,请参见 扩展 PyVista

快速入门

PyVista 可在 Python 3.10+ 版本上运行:

pip install pyvista

或者通过 conda-forge:

conda install -c conda-forge pyvista

无需安装任何软件,即可在浏览器中试用 PyVista,访问 MyBinder

文档

若有一般性问题、想法,或想分享使用 PyVista 构建的成果,请在 GitHub Discussions 发起讨论,或加入 Slack 社区

应用案例

PyVista 广泛应用于科学与工程各领域,可用于 3D 数据和模型可视化、生成 publication-quality 图表、自动化分析工作流,以及基于 PyVista 的 3D 功能构建自定义应用程序。

  • awesome-pyvista:不断更新的特定领域工具列表,这些工具可与 PyVista 互操作或基于 PyVista 构建。
  • 应用案例页面:精选亮点及 PyVista 在社区中应用方式的背景介绍。

贡献

Contributor Covenant Code Triage Open in GitHub Codespaces

PyVista 主要由志愿者维护,我们欢迎各种形式的贡献。错误报告、文档修复、新示例、过滤器构想等,都对我们有所帮助。请从 贡献指南 和我们的 行为准则 开始。

作者

contrib.rocks

PyVista 由全球社区共同打造。请参阅贡献者页面和活跃的作者列表。使用 contrib rocks 制作。

专业支持

许多用户和组织在生产工作流、研究流程和定制可视化系统中依赖 PyVista。如需专家指导、开发帮助或有保障的支持,有多种方式可以与 PyVista 的构建者和维护者取得联系。

对于一般咨询,请联系 info@pyvista.org,我们可以帮助您与合适的社区专家建立联系,以满足您的 3D 可视化或分析需求。

如需专业服务,如咨询、定制开发、功能设计、集成支持或培训,请考虑通过 GitHub 上的“Sponsor this project”部分赞助 PyVista 的核心开发者。赞助可提供与专家的直接联系,并有助于维持使 PyVista 保持可靠的维护和功能开发工作。更多详情请参见讨论帖:https://github.com/pyvista/pyvista/discussions/4033

引用 PyVista

如果您在科学研究中使用 PyVista,请引用JOSS 论文

Sullivan 和 Kaszynski (2019)。PyVista:通过简化的 Visualization Toolkit (VTK) 界面实现 3D 绘图和网格分析。《开源软件期刊》,4(37),1450。https://doi.org/10.21105/joss.01450

@article{sullivan2019pyvista,
  doi = {10.21105/joss.01450},
  url = {https://doi.org/10.21105/joss.01450},
  year = {2019},
  month = {May},
  publisher = {The Open Journal},
  volume = {4},
  number = {37},
  pages = {1450},
  author = {Bane Sullivan and Alexander Kaszynski},
  title = {{PyVista}: {3D} plotting and mesh analysis through a streamlined interface for the {Visualization Toolkit} ({VTK})},
  journal = {Journal of Open Source Software}
}

状态

部署情况: PyPI Python 版本 Conda nix 打包状态

构建情况: CI python pre-commit.ci 状态

质量情况: codacy codecov Ruff 代码风格:prettier

活跃度: PyPI 下载量 Conda 下载量 GitHub 仓库星标 良好的首个议题

引用情况: JOSS Zenodo

社区情况: Slack 讨论区

合作与提及: NumFOCUS 合作项目 Awesome Scientific Computing

项目介绍

通过精简界面进行3D绘图和网格分析,以支持可视化工具包(VTK)的应用。【此简介由AI生成】

定制我的领域
383.73 K630访问 GitHub