VTK——Advanced 数据表示(学习笔记)

1.坐标系统

1.全局坐标系统Global coordinate system

表示三维的笛卡尔坐标系。通常被用来指定数据集的几何结构和数据属性。

2.数据集坐标系统 Dataset Coordinate System

数据集或者局部坐标系统是基于拓扑和几何坐标的组合。拓扑坐标用于指定一个特定的cell或者subcell,通常用 id 表示。几何坐标(又称 parametric coordinates 被限制在(0,1)之间)用来指定cell内特定的位置。两者相结合可以指定数据集中一个特定的位置。

3.结构坐标系统 Structured coordinate system

一些数据集是结构化的,如 image data 或者是 structured grids , 基于内部结构特征拥有的自然坐标系称为结构坐标系。结构坐标系以索引为依据,通过fix 其中一个索引值,vary 另一个值,可以指定 点, 线,面或者是体。结构系统通常用啦指定感兴趣区域 ROI。

数据集坐标系统下数据点或者元组的坐标与结构坐标系下的索引(Ip,Jp, Kp)和维度(nx,ny,nz)的关系如下:

VTK——Advanced 数据表示(学习笔记)

VTK——Advanced 数据表示(学习笔记)

2.元组细化Cell Tessellation

1.基础方法

基本方法是对GenericDataSet的单元格进行动态细分,然后对产生的线性细分进行操作。用伪代码表示如下:

VTK——Advanced 数据表示(学习笔记)

代码中可以看出避免一次性对所有数据进行处理,避免大量存储资源的消耗。

基于边缘的细分算法最是简单,边缘细分的规则:每个单元边缘e通过误差度量(Error Measure)T进行评估,如果任何误差度量超过相应的阈值,则可以标记为细分。下图为Cell adaptor framework

VTK——Advanced 数据表示(学习笔记)

该图显示了三种Error measure 的方法: 其中C是通过计算边缘的参数中心的值计算出来的。(1). 以垂直距离d为阈值  (2). 以AC和BC 的夹角alpha作为阈值 (3). 以i 和点 m 之间的距离为阈值  (4). 以像素为单位计算投射之后C点到AB 的距离。

2. 高级方法

预三角化,pre–triangulation

3.坐标变换

1.数据集坐标到全局坐标

使用插值函数通过参数坐标生成全局坐标:VTK——Advanced 数据表示(学习笔记)其中p为全局坐标,VTK——Advanced 数据表示(学习笔记)是cell points  的坐标。插值函数权重在参数坐标VTK——Advanced 数据表示(学习笔记)下计算。

插值函数:VTK——Advanced 数据表示(学习笔记)

2.全局坐标到数据集坐标

需要用到牛顿法计算。

首先定义三个已知全局坐标 p = p(x;y;z) 中插补函数Wi ,然后利用泰勒级数展开求近似,最后迭代计算。

VTK——Advanced 数据表示(学习笔记)

VTK——Advanced 数据表示(学习笔记)

VTK——Advanced 数据表示(学习笔记)