更新时间:2024-05-16 16:01
Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。
视觉化工具函式库(VTK,Visualization Toolkit)是一个开放源码,跨平台、支持并行处理(VTK曾用于处理大小近乎1个Petabyte的资料,其平台为美国Los Alamos国家实验室所有的具1024个处理器之大型系统)的图形应用函式库。2005年时曾被美国陆军研究实验室用于即时模拟俄罗斯制反导弹战车ZSU23-4受到平面波攻击的情形,其计算节点高达2.5兆之多。Vtk几乎可以在任何一个基于Unix的平台上操作,以及Windows 95/98/NT/2000/XP。
它以用户使用的方便性和灵活性为主要原则,具有如下的特点:
1: 具有强大的三维图形功能。Visualization Toolkit 既支持基于体素Voxel-basedrendering 的体绘制Volume Rendering又保留了传统的面绘制,从而在极大的改善可视化效果的同时又可以充分利用现有的图形库和图形硬件。
2: Visualization Toolkit 的体系结构使其具有非常好的流streaming和高速缓存caching 的能力,在处理大量的数据时不必考虑内存资源的限制。
3: Visualization Toolkit 能够更好的支持基于网络的工具比如Java 和VRML 。随着Web 和Internet 技术的发展VisualizationToolkit 有着很好的发展前景
4: 能够支持多种着色如OpenGL 等。
5: Visualization Toolkit 具有设备无关性,其代码具有良好的可移植性。同时,官方也给出了各个编译器的技术文档与案例、教程。
6: VTK应用程序使用Filter(过滤器)操作数据,每个过滤器检查其接受的数据并产生输出数据。多个Filter与数据源组成一个数据流网络。可配置的网络将原始数据转换为更易理解的模式。
6: Visualization Toolkit 中定义了许多宏,这些宏极大的简化了编程工作并且加强了一致的对象行为
7: Visualization Toolkit 具有更丰富的数据类型,支持对多种数据类型进行处理。其核心数据模型能够表示几乎所有与物理科学相关的现实世界问题,适合涉及有限差分和有限元解决方案的医学成像和工程工作。
8: 既可以工作于Windows 操作系统又可以工作于Unix 操作系统极大的方便了用户。
开放源码式的授权,该书一上市后,VTK 很快地建立了其使用及开发者社群,同时,GE与其他数间公司也开始提供对VTK的支援。 Will Schroeder和Ken Martin在1998年时离开GE,创立了Kitware公司。
有了Kitware的资金挹注,VTK社群快速地成长,其在学术研究及商业应用的领域受到重用,例如Slicer 生物医学计算软件使用VTK作为其核心,许多讨论研究VTK的IEEE论文出现。VTK也是许多大型研究机构如Sandia, Los Alamosn及Livermore国家实验室与Kitware的合作基础。这些研究中心使用VTK来作为视觉化资料的基础处理工具。 VTK亦是新创的美国国家卫生研究院所规划,作为开发未来计算工具之基石的美国国家医学影像计算合作联盟(National Alliance for Medical Image Computing, NA-MIC)的关键计算工具。
VTK是一个开放源码、自由获取的软件系统,全世界的数以千计的研究人员和开发人员用它来进行3D计算机图形,图像处理,可视化。VTK包含一个c++类库,众多的翻译接口层,包括Tcl/Tk,Java,Python。 Visualization Toolkit 是一个用于可视化应用程序构造与运行的支撑环境,它是在三维函数库OpenGL 的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法封装起来。比如 Visualization Toolkit 将我们在表面重建中比较常见的MarchingCubes 算法封装起来,以类的形式给我们以支持,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写MarchingCubes 算法的代码,而直接使用Visualization Toolkit 中已经提供的vtkMarchingCubes 类。 Visualization Toolkit 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具。
通过VTK将科学实验数据如建筑学、气象学、医学、生物学或者航空航天学,对体、面、光源等等的逼真渲染,从而帮助人们理解那些采取错综复杂而又往往规模庞大的数字呈现形式的科学概念或结果。美国计算机科学家布鲁斯·麦考梅克在其1987年关于科学可视化的定义之中,首次阐述了科学可视化的目标和范围:“利用计算机图形学来创建视觉图像,帮助人们理解科学技术概念或结果的那些错综复杂而又往往规模庞大的数字表现形式”。
核医学成像:心脏SPECT图像(短轴视图)与心脏三维模型的融合
将仪器采集的实验数据通过计算机模拟成像,有助于发现医学问题。在航空航天方面,模拟飞行器轨道实验、风洞实验等,通过计算机模拟减少实际实验次数,可以降低成本,并可以多次实验找出问题。
vtk为开源软件,可以从其官网获得最新版本,最新版本为9.3.0。同时,官网也提供了历史版本的下载。
vtk的安装与配置需使用Kitware公司的Cmake工具。
案例教程可从官网获取。
VTK 是一个在BSD许可证下许可的开源工具包。
版权所有 (c) 1993-2008 Ken Martin、Will Schroeder、Bill Lorensen
保留所有权利。
如果满足以下条件,则允许以源代码和二进制形式重新分发和使用,无论是否修改:
本软件由版权所有者和贡献者“按原样”提供,并提供任何明示或暗示的保证,包括但不限于适销性和针对特定用途的适用性的暗示保证。在任何情况下,作者或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于采购替代品或服务、利润或数据;业务中断),无论是基于任何责任理论,无论是合同、严格责任或侵权行为(包括疏忽或其他原因)因使用本软件而以任何方式引起的,即使是出于自愿的考虑。