Mark vtk学习过程~ 欢迎补充~
VTK是三维计算机图形、图像处理及可视化的工具包。其基本渲染流程如下图:
source(数据源):各个类型图像数据
filter(过滤器):对原始数据做一些操作 ,例如三角化,提取轮廓等。(上图中没有,这操作不是必须过程)
mapper(映射器):把不同的数据类型,转成图形数据
actor(演员):执行渲染mapper的对象
render(渲染器):用于渲染图像
renderWindoe(窗口):可以理解成用于成像的一个平面
interactor(交互)加粗样式:在渲染窗口上交互,用于获取渲染窗口上发生的鼠标,键盘事件,提供了独立于平台的与渲染窗口进行交互的机制。
体数据渲染及几何数据渲染
几何渲染通过绘制几何图元(顶点、线段、面片)来渲染数据,例如:绘制图像需要在空间中建立一个四边形图元,然后以纹理映射方式将该图像贴图到该图元上进行渲染;而三维模型的绘制通常会分解为一系列的多变形面片进行绘制。这种通过生成中间几何图元来进行渲染的方法称为几何渲染。几何渲染的速度比较快,但是不能显示体数据的内部细节。例如,在渲染人的三维CT体数据时,通过几何渲染只能在切片图像之间进行切换,而不能对体数据内部进行立体观察。这里我理解的医学的MPR切片,是不是就是几何渲染。
体绘制很多时候,称为三维重建(区别于投影图像的三维重建),是一种直接利用体数据来生成二维图像的绘制技术。与面绘制不同的是,体绘制不需要提取体数据内部的等值面,它是对三维数据进行采样和合成的过程。体数据能过通过设置不透明度值来显示体数据内部的不同成分和细节,例如显示人体CT图像的不同器官和组织。通常显示三维医学图像就是体绘制。下图是几何渲染(图像渲染)与体绘制渲染管线对比:
上图中左侧是几何渲染过程,右侧是体数据渲染过程,虚线部分表示两者不同之处,可以看出两者不同之处在于mapper及actor上。
体绘制结果如下图
几何渲染结果