PyVista&VTK Data Model

VTKPyVista中可视化数据,需要两条信息:数据的几何图形(描述数据在空间中的位置及其值)和拓扑结构cells(描述数据集中的点如何相互连接)。

在抽象层,有vtkDataObject,它只是没有几何结构或拓扑结构的数据“点(属性数据)”。其中包含vtkFieldData的数组。在具体类层是vtkDataSet,它将几何图形和拓扑添加到vtkDataObject

与数据集中的每个点或单元关联的是一个特定值。由于这些值必须在空间中定位和连接,所以它们保存在vtkDataArray类中,该类只是堆上的内存缓冲区。在PyVista中,99%的时间我们与vtkDataSet对象交互,而不是与vtkDataObject对象交互。PyVista使用与VTK相同的数据类型,但为了便于使用,以更具Python风格的方式构造它们。

如果想了解VTK如何构造其数据的,参阅Kitware对Python中VTK的介绍,以及Kitware的GitHub站点上的大量代码示例。卡内基梅隆大学Keenan Crane教授的离散微分几何YouTube系列提供了与VTK中实现的三维建模相关的数学概念的优秀介绍。这里教授的概念将帮助更好地理解为什么数据集的结构与VTK等库中的结构相同。

在最基本的级别上,所有PyVista几何体类都继承自Data Sets类。数据集具有以点 point、单元cell或场阵列形式field arrays描述该几何体的几何体、拓扑和属性。

PyVista 中的几何体Geometry表示为点points和单元格cells。例如,PolyData中的一个单元格。


我们需要一种方法来描述这些点在空间中的位置,但我们仅限于像上面所做的那样表达值本身(带索引的数组列表)。VTK(以及PyVista)有多个代表不同数据形状的类。最重要的数据集类如下所示:

在这里,上述数据集从最复杂(5)到最不复杂(1)排序。也就是说,每个数据集都可以表示为非结构化网格UnstructuredGrid,但非结构化网格类需要存储最多的内存,因为它们必须考虑每个单独的点和单元。另一方面,由于vtkImageData(UniformGrid)的间距是均匀的,因此几个整数和浮点数可以描述形状,因此存储所需的内存量最少。

这是因为在PolyData或非结构化网格UnstructuredGrid中,必须明确定义点和单元。在其他数据类型中,例如UniformGrid,单元(甚至点)被定义为基于网格维度的属性。

Reference

  1. pyvista-data-model
  2. PyVista&VTK Data Model

PyVistaVTK Data Model相关推荐

  1. An eventually consistent data model for Erlang (and Riak)

    CAP理论指出:一个分布式系统不可能同时满足一致性(Consistency).可用性(Availibility)和分区容忍性(Partition Tolerance)这三个需求,最多只能同时满足其中的 ...

  2. vs2010下使用ADO.NET Entity Data Model

    使用vs2010中的mvc3创建项目,同时想使用ADO.NET Entity Data Model来做数据库访问,可是创建项目后中不到 ADO.NET Entity Data Model. 一下是解决 ...

  3. ADO.NET Entity Data Model入门实例

    ADO.NET Entity Data Model入门实例 快速开发一个网站,最繁琐的地方可能要算数据库访问和ORM了,还好.net中这个很强大,可以省去好多体力劳动. 这里就给个快速使用ADO.NE ...

  4. 四、物理数据模型PDM(Physical Data Model )

    一.     PDM 介绍 物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系:数据库的物理设计阶段必须在此基础上进行详细的后台设 ...

  5. SAP Cloud SDK‘s Virtual Data Model

    官网链接 SAP S/4HANA Cloud 和 On-Premise 公开的大部分服务都是 OData 服务. OData 是一种 RESTful API 协议,具有两个关键特性: 每个服务都由元数 ...

  6. Entity Data Model (EDM) 深入分析, Part 3

    EntityClient 实体框架(Entity Framework)在ADO.NET 3.5 提供程序的基础上引入新的 ADO.NET 提供程序 EntityClient.Entity-Client ...

  7. 大数据入门9:半结构化数据模型(Semi-structured Data Model)

    文章目录 半结构化数据模型(Semi-structured Data Model) 1. 几种数据模型 2. 半结构化模型特征 3. XML和JSON 4. 树状数据结构(Tree Data Stru ...

  8. 图解图库JanusGraph系列-一文知晓“图数据“底层存储结构(JanusGraph data model)

    图解图库JanusGraph系列-一文知晓"图数据"底层存储结构(JanusGraph data model) 大家好,我是洋仔,JanusGraph图解系列文章,实时更新 图数据 ...

  9. DSF data model

    Data Model指的是由DSF服务检索的数据的自然结构,创建一个debugger的用户接口的一个巨大挑战是:目标上可用的数据量远远大于实际提供给用户的数量.因此,调试服务需要将数据分解为具有适当粒 ...

  10. ExtJS教程(5)---Ext.data.Model之高级应用

    1.Model的数据验证 这里借助官方的一个例子来说Model数据验证的基本用法 Ext.define('User', {extend: 'Ext.data.Model',fields: [{ nam ...

最新文章

  1. 番茄工作法发明人作序推荐《番茄工作法图解》
  2. 推荐一款超级好用的开源画图工具:用例图、架构图、时序图、类图、E-R图、甘特图
  3. .net源代码已经可以调试
  4. 北美公司面试经验笔记
  5. Sql Server定时自动备份数据库
  6. html云雾效果,PS中怎么做像这样的云雾效果?(有图)?
  7. Redis面试 - redis 的雪崩和穿透?
  8. 信息技术与计算机文化达标卷,初中信息技术试卷
  9. 荣耀Magic2 发布:滑盖全面屏、前后6摄、屏下指纹、麒麟980
  10. [Python] L1-055 谁是赢家-PAT团体程序设计天梯赛GPLT
  11. [李景山php]每天TP5-20161206|Loader.php-4
  12. 采样定理的证明与推导
  13. 数电Day06:主从触发器和边沿触发器,触发器的逻辑符号,时序波形
  14. 消费品牌数字营销“终局九问” | 2022全球数字价值峰会
  15. 将已购买的知乎Live课堂图片下载并导出的教程
  16. [python3]读取docx每个段落下的table数据
  17. 梦想就是一种让你感到坚持就是幸福的东西
  18. 消防行业感温电缆厂家有哪些?
  19. 苹果序列号查询知识汇总
  20. 跨境电商独立站怎么去搭建

热门文章

  1. Ubuntu18 Cuda10升级Cuda11+Cudnn8+TensorRT7.1+Opencv3
  2. html链接鼠标在悬停颜色,如何让HTML链接显示悬停样式?
  3. python与开源gis空间分析_Python 与开源GIS —数据处理、空间分析与地图制图
  4. 运用递归来画谢尔宾斯基三角形
  5. 打蚊子表情包_拍蚊子表情包 - 拍蚊子微信表情包 - 拍蚊子QQ表情包 - 发表情 fabiaoqing.com...
  6. excel power Query
  7. java nio为什么是非阻塞_为什么java nio被称为同步非阻塞io?
  8. 手持振弦采集仪对振弦传感器激励方法和激励电压
  9. Lync 2013正式版评估及2013版独立客户端下载
  10. 手机麦克风结构原理图_麦克风的构造图解 麦克风偏置电路和滤波电路