????????Visualization Toolkit(VTK)是一个强大的开源软件系统,提供了在3D计算机图形学、图像处理、建模、体积渲染和科学可视化方面的高级功能。它提供了线程和分布式内存并行处理,以实现可伸缩性和更好的性能。
????????VTK 是一个跨平台库,可以在许多操作系统上运行,包括 Windows、macOS、Linux,甚至是 Web 和移动设备。
????????VTK 在学术和商业领域广泛应用,并且在政府机构如洛斯阿拉莫斯国家实验室和CINECA中也得到了应用。该软件最初发表在名为《可视化工具包,面向对象的3D图形方法》的教科书中,自 1994 年发布以来,用户群体已经显著增长。
????????VTK 保持着高质量的软件流程,其中包括 CMake、CTest、CDash 和 CPack。该软件是用 C++ 编写的,并且具有额外的语言绑定,以便更广泛的受众使用,并且与 Python 具有良好的互操作性。
????????作为开源软件,VTK 可以免费用于任何目的。技术上,VTK 采用 BSD 风格的许可证,对于开源和闭源应用都施加了最小的限制。
????????如果你对探索 VTK 的增长和使用模式感兴趣,我们可以为你提供统计数据。这些统计数据可以在 Open Hub(一个专注于社区驱动软件的平台)和 PyPI 统计数据(提供 VTK 软件包的下载统计)上获得。通过分析这些统计数据,你可以了解社区规模、VTK 的采用率和受欢迎程度。请查看以下链接以获取更多信息:
?
VTK提供了一套全面的功能,支持可视化、建模和数据分析。以下是一些亮点:
过滤器
过滤器 | 图形系统 |
????????VTK的基于过滤器的架构通过一系列过滤器的管道处理数据,通过这种方法产生的派生数据可以使用VTK的图形系统进行渲染。过滤器可以组合成数据流网络,从而实现灵活可配置的工作流程。 | ????????VTK在底层图形库(具有实验性支持WebGL的OpenGL)上提供了一个复杂的渲染抽象层,简化了引人入胜的可视化创建过程。 |
数据模型 | 数据交互 |
????????VTK的核心数据模型能够表示几乎与物理科学相关的任何实际问题。基本数据结构特别适用于医学成像和涉及有限差分和有限元解的工程工作。 | ????????VTK提供了几种用于交互式数据探索和分析的工具,包括3D小部件、交互器和2D小部件库集成,如Qt。这些工具使用户能够进行强大的交互操作,更容易理解数据的内容、形状和含义。 |
2D图和图表 | 并行处理 |
????????VTK支持完整的2D图和图表类型,用于表格数据可视化。它还包括拾取和选择功能,允许用户进行交互式查询数据。VTK与Python和Matplotlib的出色互操作性进一步增加了其灵活性。 | ????????VTK在MPI下提供了出色的可扩展分布式内存并行处理支持。VTK过滤器使用vtkSMP实现了更细粒度的并行性,用于粗粒度线程处理和用于多核和GPU架构的精细粒度处理。这些并行处理能力使VTK非常高效,适合处理大型数据集。 |
?
VTK是根据经OSI批准的BSD 3条款许可证进行分发的。详情请参见此处。
在您的科学研究中引用VTK时,请提及以下工作,以支持增加软件的可见性和传播:
Schroeder, Will; Martin, Ken; Lorensen, Bill (2006), The Visualization Toolkit (第4版), Kitware, ISBN 978-1-930934-19-1
为方便起见,这里是一个bibtex条目:
@Book{vtkBook,
? author ? ?= "Will Schroeder and Ken Martin and Bill Lorensen",
? title ? ? = "The Visualization Toolkit (第4版)",
? publisher = "Kitware",
? year ? ? ?= "2006",
? isbn ? ? ?= "978-1-930934-19-1",
}
要引用特定的过滤器,请检查包含的标头或过滤器的doxygen文档中的额外参考资料。
请参阅ParaView 5.0中的全新渲染后端。
请参阅VTK中的新OpenGL渲染。
????????VTK最初是《The Visualization Toolkit An Object-Oriented Approach to 3D Graphics》教科书的一部分。Will Schroeder、Ken Martin和Bill Lorensen这三位图形和可视化研究人员自1993年12月开始,利用他们的零散时间,得到他们当时雇主GE R&D的法律许可,写了这本书和相关软件。编写这本书的动机是与其他研究人员合作,开发一个开放的框架,用于创建领先的可视化和图形应用。
????????VTK起源于作者在GE的经验,特别是LYMB面向对象的图形系统。其他影响包括Schroeder等人开发的VISAGE可视化系统;在Rensselaer Polytechnic Institute开发的Clockworks面向对象的计算机动画系统;以及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的开发。以下是一些最基础的工作:
?