VTK,全称是Visualization Toolkit,即可视化工具包。是一个开源、跨平台、可自由获取、支持并行处理的图形应用函数库。 VTK最早是作为Prentice Hall在1993年出版的《The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics》一书的附件出现的。该书及
关注公众号:diyijc_com
问题反馈
VTK,全称是Visualization Toolkit,即可视化工具包。是一个开源、跨平台、可自由获取、支持并行处理的图形应用函数库。 VTK最早是作为Prentice Hall在1993年出版的《The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics》一书的附件出现的。该书及相应的VTK软件由美国GE公司的三位研究人员:Ken Martin、Will Schroeder和Bill Lorensen用其闲暇时间合作编著与开发的,因此该软件的授权完全由这三位决定。由于其开放源码式的授权,该书一上市后,很快就建立起VTK的使用者及开发者社区交流平台,同时GE(特别是GE医疗系统)与其他数家公司也开始提供对VTK的支持。1998年,Will Schroeder和Ken Martin离开GE创立了Kitware公司(http://www.kitware.com)。有了Kitware的资金支持,VTK社区快速地成长,其在学术研究及商业应用领域都受到重用,例如Slicer生物医学计算软件使用VTK作为其核心,许多讨论研究VTK的IEEE论文出现。VTK也是许多大型研究机构,如Sandia,Los Alamos及Livermore国家实验室与Kitware的合作基础,这些研究中心使用VTK作为数据可视化处理工具。VTK同时也是美国国家卫生研究院(National Institutes of Health,NIH)创立的美国国家医学影像计算合作联盟(National Alliance for Medical Image Computing,NA-MIC,http://www.na-mic.org)的关键计算工具。 1.1.2 VTK能做什么? 三维计算机图形、图像处理及可视化是VTK主要的应用方向。通过VTK可以将科学实验数据如建筑学、气象学、医学、生物学或者航空航天学,对体、面、光源等等的逼真渲染,从而帮助人们理解那些采取错综复杂而又往往规模庞大的数字呈现形式的科学概念或结果。 VTK包含一个C++类库,众多的翻译接口层,包括Tcl/Tk、Java、Python。VTK是在三维函数库OpenGL的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法封装起来。比如VTK将我们在表面重建中比较常见的Marching Cubes算法封装起来,以类的形式供用户使用,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写Marching Cubes算法的代码,而直接使用VTK中已经提供的vtkMarchingCubes类。 VTK是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具。它具有如下特点: (1)具有强大的三维图形功能。VTK既支持基于体素的体绘制(Voxel-Based Volume Rendering),又保留了传统的面绘制(Surface Rendering),从而在极大的改善可视化效果的同时又可以充分利用现有的图形库和图形硬件。 (2)VTK的体系结构使其具有非常好的流Streaming和高速缓存Caching的能力,在处理大量的数据时不必考虑内存资源的限制。 (3)VTK能够更好的支持基于网络的工具,比如Java和VRML。随着Web和Internet技术的发展,VTK有着很好的发展前景。 (4)能够支持多种着色,如OpenGL等。 (5)VTK具有设备无关性,使其代码具有良好的可移植性。 (6)VTK中定义了许多宏,这些宏极大的简化了编程工作并且加强了一致的对象行为。 (7)VTK具有丰富的数据类型,支持对多种数据类型进行处理。 (8)VTK的跨平台特性方便了各类用户。 1.1.3 如何获取VTK源码? VTK是开放源码的,可以自由地从VTK网站(http://www.vtk.org)上免费获取到VTK的源代码,VTK源码的下载页面:http://www.vtk.org/VTK/resources/software.html。截至2013年12月,VTK官方发布的最新版本为6.0.0,该版本于2013年6月27日正式发布。 本书所有的程序示例以VTK 5.10.1版本为准。在Windows下编译安装VTK需要下载的文件有: vtk-5.10.1.zip(或vtk-5.10.1.tar.gz)—— 该文件包含了VTK所有的核心源代码以及相关的程序示例,下载地址:http://www.vtk.org/files/release/5.10/vtk-5.10.1.zip,该文件必须下载。 vtkdata-5.10.1.zip(或vtkdata-5.10.1.tar.gz)—— 该文件包含VTK自带的例子或测试程序运行时需要用到的数据,可选下载,下载地址:http://www.vtk.org/files/release/5.10/vtkdata-5.10.1.zip。 vtkDocHtml-5.10.1.tar.gz —— 这个文件是VTK的文档文件,在Windows下解压后,打开index.html文件即可查看VTK各个类以及程序接口详细的使用介绍。下载地址:http://www.vtk.org/files/release/5.10/vtkDocHtml-5.10.1.tar.gz,对VTK初学者来说,建议下载该文件。这些HTML文档都是由Doxygen工具(http://www.doxygen.org/)根据各个类的头文件自动生成的。 vtk-5.10.0-win32-x86.exe —— 在Windows下安装完这个程序后,可以运行文件后缀为.tcl的Tcl脚本程序,VTK自带的许多例子都是以Tcl脚本写的,后续内容会介绍如何运行VTK的Tcl脚本程序,建议安装这个程序。下载地址:http://www.vtk.org/files/release/5.10/vtk-5.10.0-win32-x86.exe。 除了可以下载VTK官方发布的稳定版本,还可以下载到最新的开发版本。VTK的代码管理是采用分布式版本控制工具Git,所以如果要下载到最新的VTK源码(注意:最新的开发版本的VTK源码是基于VTK 6.0的,与本书采用的VTK 5.10.1的版本有所不同),需要先安装Git,要求Git的版本至少为1.6.6。 Windows下可以下载文件Git-1.7.9-preview20120201.exe(下载地址:http://code.google.com/p/msysgit/downloads/list)。安装完该应用程序以后,如果想使用用户图形界面的Git,需要下载安装TortoiseGit工具,下载地址:http://code.google.com/p/tortoisegit/downloads/list。这些准备工作完成以后,就可以使用TortoiseGit从VTK代码仓库(http://vtk.org/VTK.git)中获取VTK最新的开发版本的源码 1.1.4 VTK学习资源 对于部分VTK初学者而言,可能一开始都会抱怨VTK的参考资料太少,特别是中文方面的。其实不然,VTK可以参考的资源是非常多的,下面列出一些与VTK相关的学习资源。 l 《VTK User’s Guide》这本书的最新版本(11th Edition)是以VTK 5.4为基础,主要介绍VTK类库的应用,Kitware公司出版。 l 《The Visualization Toolkit An Object-Oriented Approach To 3D Graphics》是与《VTK User’s Guide》配套的教科书,深入讲解了许多可视化算法、数据结构等。 l 《Source》是Kitware公司按季度发行的内部刊物,里面涵盖了Kitware公司的所有开源项目。一旦有新的功能加进VTK时,会有相关的文章发表在《Source》上。与VTK相关的其他有用的资源、入门等文章也会在该季刊上发表。《Source》在线访问地址为:http://www.kitware.com/media/thesource.html。 l VTK在线帮助文档(http://www.vtk.org/doc/nightly/html/index.html)或离线帮助文档(即1.1.3一节里下载的vtkDocHtml-5.10.1.tar.gz文件)。VTK每个类都提供不同的接口以实现不同的功能,通过文档查询能了解到这些类的功能及其方法的使用。除在线帮助文档之外,VTK主页上还有Wiki、常见问题解答等页面的入口,这些都是学习VTK不可多得的资料。 l VTK users邮件列表。VTK users邮件列表可以让用户和开发者提问题以及接收别人的解答、发布更新以及提出改进系统的建议等等。VTK users邮件列表的注册地址:http://public.kitware.com/mailman/listinfo/vtkusers。 l Insight Journal(http://insight-journal.org/)同样也是学习VTK非常有参考价值的网站。用户可以通过这个网站向VTK社区贡献自己的代码,同样也能下载到别人上传的代码,用于学习、研究等。 1.2 VTK的编译安装 学习VTK最好是从下载VTK源码,然后自己编译安装开始。编译VTK其实是很简单的事情,最重要的是把准备工作做好。本节将会详细演示如何编译安装VTK。 注意:本书提到的VTK开发环境为Windows 7旗舰版64位操作系统;Visual Studio 2008 SP1集成开发环境;CMake 2.8.10.2;Qt 4.8.4以及VTK 5.10 .1 Release版本。本书所有的程序示例都是基于这个环境测试通过的。 1.2.1 编译VTK的准备工作 首先,你的计算机需要安装Microsoft Visual Studio 2008及Service Pack 1,如果采用其他集成开发环境(IDE)的,也必须先安装对应的IDE工具。如果需要编译64位版本的VTK,在安装Microsoft Visual Studio 2008的时候,必须安装相应的64位组件。 其次,安装CMake。CMake下载地址:http://www.cmake.org/cmake/resources/software.html。Windows平台下只要下载文件cmake-2.x.x.x-win32-x86.exe(2.x.x.x为对应的CMake版本号)即可。安装完CMake以后,运行界面如图1-7所示。(如果你在阅读这本书之前没有听说过CMake,也不知道CMake如何使用,也无需着急。假如你实在比较急的话,可以先去Google或者百度一下CMake到底是个什么东西;或者你可以马上翻到本章的1.3节了解关于CMake的一些知识。 1.2.2 编译VTK的详细步骤 将下载的VTK源码文件vtk-5.10.1.zip解压到某个目录下,比如解压到D:VTKVTK-5.10-src(本书后续章节用
更新时间:2016-01-22 13:56