| VTK | |
|---|---|
| Developer | Kitware Inc. |
| Stable release | |
| Written in | C,C++,Python[2] |
| Operating system | Cross-platform |
| Type | Scientific visualization |
| License | 3-Clause BSD |
| Website | www |
| Repository | VTK Repository |
TheVisualization Toolkit (VTK) is afree software system for3D computer graphics,image processing andscientific visualization.[3]
VTK is distributed under theGNU-approved[4] andFSF-approved[5]BSD 3-clause License.[6]
VTK consists of aC++ class library and several interpreted interface layers includingTcl/Tk,Java, andPython. The toolkit is created and supported by theKitware team. VTK supports a various visualization algorithms including:scalar,vector,tensor, texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, andDelaunay triangulation. VTK has aninformation visualization framework, has a suite of 3D interaction widgets, supports parallel processing, and integrates with various databases and GUI toolkits such asQt andTk. VTK is cross-platform and runs on Linux, Windows, Mac and Unix platforms. The core of VTK is implemented as a C++ toolkit, requiring users to build applications by combining various objects into an application. The system also supports automated wrapping of the C++ core into Python, Java and Tcl, so that VTK applications may also be written using these programming languages.[3]
VTK was initially created in 1993 as companion software to the bookThe Visualization Toolkit: An Object-Oriented Approach to 3D Graphics.[7] The book and software were written by three researchers (Will Schroeder, Ken Martin and Bill Lorensen) on their own time and with permission from General Electric (thus the ownership of the software resided with, and continues to reside with, the authors). After the core of VTK was written, users and developers around the world began to improve and apply the system to real-world problems.[3]
With the founding ofKitware, the VTK community grew rapidly, and toolkit usage expanded into academic, research and commercial applications. A number of major companies and organizations, such asSandia National Laboratories,Livermore National Laboratory,Los Alamos National Laboratory funded the development of VTK and even developed a number of VTK modules themselves.[3] VTK forms the core of the3DSlicer biomedical computing application, and numerous research papers at IEEE Visualization and other conferences based on VTK have appeared. VTK has been used on a large 1024-processor computer at theLos Alamos National Laboratory to process nearly aPetabyte of data.
Later VTK was expanded to support the ingestion,[clarification needed] processing and display ofinformatics data. This work was supported bySandia National Laboratories under the 'Titan' project.[8]
In 2013, a survey paper on visualization forradiotherapy noticed that while VTK is a powerful and widely known toolkit, it lacked a number of important features, such as multivolume rendering, had no support of proprietaryCUDA fromNVidia, no support ofout-of-core rendering and no native support for visualization of time-dependent volumetric data.[9]
However, since 2013 there have been improvements such as VTK-m which can speed-up and parallelize certain computationally intensive tasks[10] using libraries likeSandia'sKokkos.[11] VTK is also used in the visualization pipeline of radiological imaging software such as MEDInria or Starviewer which perform multi-volume (also called fusion) and time-dependent (also called phase) visualizations.[12][13]