概述
VTK是一个健壮的、开源的软件系统,
可在3D计算机图形、图像处理、三维建模、体渲染和科学可视化等领域中提供高级功能。
它提供基于多线程和分布式内存的并行处理机制,以增强可扩展性并提供更好的性能。
VTK是一个跨平台库,可以在许多操作系统上运行。
包括Windows,MacOS,Linux甚至Web和移动设备。
VTK广泛用于学术和商业环境,
以及LANL(洛斯阿拉莫斯国家实验室:世界上最大的多功能实验室之一,发明了原子弹和氢弹)
和CINECA(意大利大学研究中心:世界上最重要的超级计算中心之一)等政府机构。
该软件(VTK)最初发表在题为“可视化工具包,一种面向对象的3D图形方法”的教科书中,
自1994年发布以来,它的全球用户群已经大幅增长。
VTK维护了一套高质量的软件流程,其中包括CMAKE,CTEST,CDASH和CPACK。
该软件用C ++编写,并具有其他语言绑定,以吸引更广泛的受众。
例如:VTK与Python之间具有出色的互操作性。
作为开源软件,VTK可以免费用于任何目的。
从技术上讲,VTK采用BSD风格的许可证。
该许可证尽量减小了对开源或封闭应用程序使用相应开源代码所施加的限制。
如果您有兴趣探索VTK的成长情况和使用模式,我们为您提供我们的统计数据。
该统计信息可在Open Hub和PYPI Stats上获得。
Open Hub专注于社区驱动的软件的收录和信息查询。
PYPI Stats平台为VTK软件包提供了下载统计信息。
通过分析这些统计数据,您可以深入了解社区的规模,VTK的采用率和受欢迎程度。
查看以下链接以获取更多信息:
Open Hub
PyPI stats
特性
VTK提供了一组全面的功能,以支持可视化,建模和数据分析等应用场景。
以下各小节会介绍一些VTK的一些关键特性。
过滤器
VTK基于过滤器的架构通过连续过滤器的管道对其进行转换和操纵来处理数据。
这种方法产生的数据可以使用VTK的图形系统渲染。
过滤器可以合并到数据流网络中,该网络可以灵活地配置工作流。
图形系统
VTK在基本的图形库(指OpenGL和WebGL,其中对WebGL的支持是实验性的)上提供了一个复杂的渲染抽象层,
从而简化了创建一个有吸引力的可视化效果的过程。
数据模型
VTK的核心数据模型能够代表几乎所有与物理科学有关的现实问题。
基本的数据结构特别适合医学成像和以及涉及有限差分和有限元分析的工程工作。
数据交互
VTK提供了几种用于交互式数据探索和分析的工具,
包括3D小部件,交互器和集成2D小部件库(如:集成QT)。
这些强大的用户交互功能,可以让用户更容易理解数据的内容,形状和含义。
2D图和图表
VTK支持完整的2D图和图表类型,用于表格数据的可视化。
它还包括过滤和选择功能,允许用户交互查询数据。
VTK与Python和Matplotlib的出色互操作性,进一步提高了其灵活性。
并行处理
VTK基于MPI提供了可扩展的、分布式-内存并行处理支持。
VTK过滤器使用VTKSMP实现良好的基于线程的粗粒度并行处理,
基于VTK-M实现基于多核和GPU体系结构上的细粒并行处理。
这些并行处理功能,使得VTK适合高效地处理大型数据集。
许可
VTK采用OSI批准的BSD 3-CAREASE许可证。
可以从这里获取关于此许可证的详细信息。
文献引用
当您的科学研究中需要引用VTK时,请在参考文献中列出以下工作,
以表明使用了我们的软件,并帮助我们传播此软件:
Schroeder, Will; Martin, Ken; Lorensen, Bill (2006), The Visualization Toolkit (4th ed.), Kitware, ISBN 978-1-930934-19-1
为了方便起见,这里是Bibtex条目:
@Book{vtkBook,
author = "Will Schroeder and Ken Martin and Bill Lorensen",
title = "The Visualization Toolkit (4th ed.)",
publisher = "Kitware",
year = "2006",
isbn = "978-1-930934-19-1",
}
如果您需要引用特定的过滤器,请在相应的头文件或过滤器的Doxygen文档中检查额外的参考文献信息。
发展历史 #
2016年 - 在Paraview 5.0中,采用渲染后端
2014年 - 从OpenGL过渡到OpenGL2
请参阅VTK中的新OpenGL渲染。
1993年 - 起源
VTK最初是可视化工具包是一种面向对象的3D图形方法这本教科书的一部分。
威尔·施罗德(Will Schroeder),肯·马丁(Ken Martin)
和比尔·洛伦森(Bill Lorensen)(三个图形和可视化研究人员)
在1993年12月从当时的雇主GE R&D允许,在1993年12月开始写这本书和配套的软件。
写这本书的动机是与其他研究人员合作,
并开发一个开放式框架来创建领先的可视化和图形应用程序。
VTK源自作者在GE的工作经验,尤其是关于LYMB的面向对象的图形系统。
其他影响包括由Schroeder等人开发的有关视觉可视化系统。
在伦斯勒理工学院开发的面向对象的计算机动画系统;
以及面向对象的建模和设计书,比尔·洛伦森(Bill Lorensen)合著。
在编写了VTK的核心之后,世界各地的用户和开发人员开始改善并将系统应用于现实世界中的问题。
特别是,GE Medical Systems和其他GE业务为该系统做出了贡献,
Penny Rheinghans博士等研究人员开始对这本书进行教学。
其他早期的参与者包括洛斯阿拉莫斯国家实验室的吉姆·艾伦斯(Jim Ahrens)
和来自慷慨的石油和天然气行业的支持者。
为了管理好一个大型的、活跃的、全球性的社区,
肯(Ken)和威尔(Will)(与丽莎·阿维拉(Lisa Avila),查尔斯·劳(Charles Law)
和比尔·霍夫曼(Bill Hoffman)以及1998年左GE一起找到了Kitware,Inc.。
自那时起,在成百上千的新增开发者的共同努力下,
VTK已经成为现在世界上最重要的可视化系统之一。
举例来说,桑迪亚国家实验室(Sandia National Laboratories)一直是一个有力的支持者和共同开发者,
他们对VTK中的2D图表和信息可视化进行了大量修改和优化。
致谢
许多机构都参与了VTK的发展。
一些重要的、最基础性的工作来自以下机构:
Kitware
Los Alamos National Lab (LANL)
洛斯阿拉莫斯国家实验室(LANL)
National Library of Medicine (NLM)
国家医学图书馆(NLM)
Department of Energy (DOE) ASC Program
能源部(DOE)ASC计划
Sandia National Laboratories
桑迪亚国家实验室
Army Research Laboratory (ARL)
陆军研究实验室(ARL)
特别感谢所有贡献者!
商业用途
我们欢迎商业实体使用VTK。
VTK是Kitware管理的、具备商业支持的用于软件开发的开源平台的一部分。
VTK的许可允许用于商业用途:
- VTK是采用BSD许可证分发的免费开源软件。
- 许可证不对使用软件施加限制。
- VTK未获得FDA批准。用户有责任确保遵守适用的规则和法规。
联系我们
我们希望收到您的来信反馈!
如果您对VTK有任何疑问,建议或错误报告,则有几种通信渠道可供您使用:
VTK论坛
访问VTK话题论坛以获得社区驱动的支持。
您可以在论坛中分享您的经验、想法和最佳实践,并讨论一些具有挑战性的问题。
问题跟踪平台
使用我们的公共问题跟踪平台报告任何错误或请求增强功能。
该跟踪平台是一个基于任务单的系统,可让您跟踪您的问题并跟进他们的进度。
商业和机密咨询
与VTK或我们的任何其他有关商业或机密的咨询(包含产品和服务),
请联系 Kitware的高级支持团队以获取更具个性化的帮助。