2019独角兽企业重金招聘Python工程师标准>>>

上一篇写了一些数据源的生成或者读取方法。下面开始严肃的讲一下VTK中的数据集,虽然感觉有时候不会直接去用,但是感觉这个是基础,所以要先看。

直接看《VTK用户手册》的第44页 3.1 可视化vtkDataSet类数据

在写这篇的时候,也结合了张晓东、罗火灵两位大大编写的《VTK图形图像开发进阶》。这本书的3.2 节也是讲数据对象和数据集

在VTK中,数据一般以数据对象的形式表现。数据对象是数据的集合,数据对象表现的数据是可以被可视化管线处理的数据,只有当数据对象被组织成一种结构后,才能被VTK提供的可视化算法所处理。

将数据对象组织成一种结构并赋予相应的属性值,就形成了数据集(Dataset)。VTK里与数据集对应的类是vtkDataSet,该类从vtkdataObject直接派生。(《VTK图形图像开发进阶》)

vtkDataSet 是所有数据集类的父类,是一个抽象类,不能实例化。

vtkDataSet由两个部分组成:组织结构(Organizing Structure)以及与组织结构相关的属性数据(Attribute Data)

而vtkDataSet的组织结构又由拓扑结构(Topology)和几何结构(Geometry)两部分组成。

《VTK图形图像开发进阶》这本书上将的很清晰(P49),特摘录下来(我按照自己的理解重新组织了一下):

几何结构描述了对象的空间位置关系(比如,要画一个三角形,首先需要指定三角形的三个顶点坐标P1,P2,P3,在VTK中指定点用PointData)

拓扑结构描述了对象的构成形式(比如,上面所说的三个顶点P1,P2,P3在不指定拓扑关系的时候,有很多种组织形式,比如,三个孤立的点,比如一条直线加一个孤立的点,或者是一段折线,但是指定了拓扑结构,比如说按照P1-P2-P3的顺序用直线连接起来,那么他就是一个三角形,vtk用单元数据来描述拓扑结构)

上面的三个点P1,P2,P3定义了数据集的几何结构,而P1,P2,P3顺序连接方式定义了数据集的拓扑结构。也就是点数据定义了数据集的几何结构,单元数据定义了数据集的拓扑结构,要形成完整的数据集必须有几何和拓扑两种结构。

拓扑结构具有几个变换不变性。例如说一个多边形是三角形,即指器拓扑结构,而给定每个点的坐标,则为其几何结构。

几何结构是一种空间描述,与空间变换有紧密联系,常见的变换有旋转、平移和缩放。

属性数据是对拓扑结构和几何信息的补充,属性数据可以是某个点的温度值,也可以是某个单元的质量。

可能单看上面觉得有点蒙,也可能会觉得好像太理论没什么用,那可以直接看《VTK图形图像开发进阶》的第62页,这里讲了数据集中的一种,vtkImageData,这个数据集的应用十分广泛,vtkImageData类型的数据集是按照规则排列在矩形方格中的点和单元的集合,如下图所示,如果数据集的点和单元排列在平面(二维)上,则称此数据集为像素映射(pixmap)、位图或图像。如果排列在层叠面(三维)上,则称为体。vtkImageData 是由一维的线、二维的像素或三维的体素组成,vtkImageData的结构以及拓扑都是规则的,因此每个点的位置可以隐式的表达,只需要知道vtkIamgeData数据的维数、起始点的位置和相邻点之间的间距,就可以计算出每个点的空间位置。数据维数用一个三元组(nx,ny,nz)来表示,分别表示在X,Y,Z 方向上点的个数。vtkImageData数据集的点的个数一共是 nx*ny*nz,单元的个数一共是(nx-1)*(ny-1)*(nz-1)。

http://image.szpt.edu.cn/UploadFiles/%E6%95%B0%E6%8D%AE%E9%9B%86%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%B1%9E%E6%80%A7.swf

上面的网址中也详细的讲解了,VTK的数据集和数据属性,这时周振环老师的《医学图像编程技术》中的内容。

下面简单写几个例子,c++实现的例子在书上面都有了,我就把他们改成C#下的实现吧。

代码有点多放在下一篇。

转载于:https://my.oschina.net/u/2009228/blog/534885

Activiz 使用笔记-4 数据源(2)相关推荐

  1. Activiz 使用笔记-3 数据源(1)

    2019独角兽企业重金招聘Python工程师标准>>> activiz本身自带的user guide 比较简单,所以我按着vtk的user guide来慢慢学.从简单例子入手去学习V ...

  2. 《BI项目笔记》数据源视图设置

    原文:<BI项目笔记>数据源视图设置 目的 数据源视图是物理源数据库和分析维度与多维数据集之间的逻辑数据模型.在创建数据源视图时,需要在源数据库中指定包含创建维度和多维数据集所需要的数据表 ...

  3. [小黄书小程序]主页面笔记图片高度自适应及上拉无限加载及下拉更新

    上一章我们实现了小黄书小程序标签栏的左右滑动和弹出框UI功能,今天我们会开始实现主页面中笔记的呈现. 主要的功能会囊括以下几个方面: 笔记的两列式布局: 一行只是显示两个笔记.且每个笔记的封面图片的高 ...

  4. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日)

    分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日) 本周Silverlight学习资源更新 Silverlight学习小记 阿里山地方 ...

  5. RuoYi-Vue-Plus 与 RuoYi-Cloud-Plus 高端进阶 源码分析 系列教程

    专栏地址 由项目成员 MichelleChung 书写 vue版本专栏 https://blog.csdn.net/michelle_zhong/category_11109741.html Clou ...

  6. python课程丶优达学城_《数据分析入门—优达学城》学习python导入数据并改正数据类型...

    利用python学习数据分析之数据导入 本文为Udacity数据分析入门课程学习笔记,数据源为课程附件资料3个csv表格记录Udacity的学员注册信息,学员每日参与行为数据,项目记录,课程主要目标学 ...

  7. 黑马SpringBoot --开发篇

    目录 9.热部署 9.1手动启动热部署 9.2自动启动热部署 9.3热部署范围配置 9.4关闭热部署 10.配置高级 10.1@ConfigurationProperties✳ 10.2@Enable ...

  8. Spring学习笔记:配置单数据源

    Spring学习笔记:配置单数据源 一.Spring Boot默认数据源类型 Springboot默认支持4种数据源类型,定义在 org.springframework.boot.autoconfig ...

  9. MySQL多数据源笔记5-ShardingJDBC实战

    MySQL多数据源笔记5-ShardingJDBC实战 Sharding-JDBC集分库分表.读写分离.分布式主键.柔性事务和数据治理与一身,提供一站式的解决分布式关系型数据库的解决方案. 从2.x版 ...

  10. spring boot 2.1学习笔记【八】SpringBoot 2 集成 mysql多数据源, MySQL多数据源事务

    springboot系列学习笔记全部文章请移步值博主专栏**: spring boot 2.X/spring cloud Greenwich. 由于是一系列文章,所以后面的文章可能会使用到前面文章的项 ...

最新文章

  1. Ubuntu下基于 Cilium CNI 的 Kubernetus集群环境搭建
  2. rust营火为什么放不下去_从一个研发质量案例看,5why分析法,为什么分析不下去了?...
  3. linux内核5.4,Linux Kernel 5.4 RC8 发布,一切都很正常
  4. Visual Studio常用的快捷键整理
  5. 使用K-Means对美因河畔法兰克福的社区进行聚类
  6. OPENSSL 的深入理解
  7. 华为发布麒麟990系列芯片,余承东评论友商5G芯片:苹果没有 三星PPT
  8. 第 20 章 观察者模式
  9. Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
  10. cookie与token对比(转)
  11. hdu4727搜索+stl。轻微剪枝
  12. UCI数据集中文介绍:Waveform Database Generator (Version 1) Data Set
  13. lot物联网场景通用架构分享
  14. 公司发展历程企业项目进度大事记时间轴PPT模板
  15. 【Shell】Sed 删除、替换、增加字符串
  16. java 批量文件编码转换 GBK to UTF-8(swing界面)
  17. 干货 | Elasticsearch 索引设计实战指南
  18. 开放式耳机怎么选,最适合佩戴的几款耳机推荐
  19. 详解EventBus实现原理
  20. python微信朋友圈刷图_10分钟用Python做个微信朋友圈抽奖九宫格

热门文章

  1. Chrome 开发者工具(DevTools)中所有快捷方式列表
  2. (转载)Jvm工作原理学习笔记
  3. 在Sql Server上安装插件Sql Prompt
  4. httpHandler实现.Net无后缀名Web访问
  5. 学习计算机如何有一个质的飞越?
  6. mysql+centos7+主从复制
  7. 视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析
  8. bzoj 4052: [Cerc2013]Magical GCD
  9. 建立apk定时自动打包系统第一篇——Ant多渠道打包并指定打包目录和打包日期...
  10. CFileDialog多选文件的最大数量