Activiz 使用笔记-4 数据源(2)

上一篇写了一些数据源的生成或者读取方法。下面开始严肃的讲一下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)两部分组成。

141902_OIqw_2009228.png

《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)。

153850_ubIB_2009228.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值