VTK

{{Short description|Free software system for 3D computer graphics, image processing and visualization}}

{{otheruses}}

{{Infobox software

| title =

| logo = Visualization Toolkit logo.svg

| logo size = 180px

| logo caption =

| logo_alt =

| screenshot =

| caption =

| screenshot_size =

| screenshot_alt =

| collapsible =

| author =

| developer = Kitware Inc.

| released =

| discontinued = No

| latest release version = {{wikidata|property|edit|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| latest preview version =

| latest preview date =

| repo = {{URL|https://gitlab.kitware.com/vtk/vtk|VTK Repository}}

| programming language = C, C++, Python{{cite web|url=https://gitlab.kitware.com/vtk/vtk|title=Kitware / VTK - GitLab}}

| operating system = Cross-platform

| platform =

| size =

| language =

| language count =

| language footnote =

| genre = Scientific visualization

| license = 3-Clause BSD

| alexa =

| website = {{URL|https://www.vtk.org/}}

| standard =

| AsOf =

}}

The Visualization Toolkit (VTK) is a free software system for 3D computer graphics, image processing and scientific visualization.Visualization Handbook, Academic Press, 2005, {{ISBN|012387582X}}, [https://books.google.com/books?id=ZFrlULckWdAC&pg=PA596 Chapter 30: the Visualization Toolkit]

VTK is distributed under the GNU-approved{{cite web |title=Various Licenses and Comments about Them |url=https://www.gnu.org/licenses/license-list.en.html |website=Gnu.org |language=en}} and FSF-approved{{cite web |title=License:BSD-3-Clause |url=https://directory.fsf.org/wiki/License:BSD-3-Clause |website=FSF.org |language=en}} BSD 3-clause License.{{cite web |title=Files · v8.1.1 · VTK / VTK |url=https://gitlab.kitware.com/vtk/vtk/tree/v8.1.1 |website=GitLab |language=en}}

{{toc left}}

Functionality

VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. The toolkit is created and supported by the Kitware 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, and Delaunay triangulation. VTK has an information visualization framework, has a suite of 3D interaction widgets, supports parallel processing, and integrates with various databases and GUI toolkits such as Qt and Tk. 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.

History

VTK was initially created in 1993 as companion software to the book The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics.{{citation |title=The Visualization Toolkit |last1=Schroeder |first1=Will |last2=Martin |first2=Ken |last3=Lorensen |first3=Bill |isbn=978-1-930934-19-1 |year=2006 |publisher=Kitware |edition=4th}}

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.

With the founding of Kitware, the VTK community grew rapidly, and toolkit usage expanded into academic, research and commercial applications. A number of major companies and organizations, such as Sandia National Laboratories, Livermore National Laboratory, Los Alamos National Laboratory funded the development of VTK and even developed a number of VTK modules themselves. VTK forms the core of the 3DSlicer 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 the Los Alamos National Laboratory to process nearly a Petabyte of data.

Later VTK was expanded to support the ingestion,{{huh|date=May 2019}} processing and display of informatics data. This work was supported by Sandia National Laboratories under the 'Titan' project.{{cite web|url=http://www.sandia.gov/Titan|title=Sandia Titan webpage|access-date=2008-11-11|archive-url=https://web.archive.org/web/20090213165439/http://www.sandia.gov/Titan/|archive-date=2009-02-13|url-status=dead}}

Criticism

In 2013, a survey paper on visualization for radiotherapy 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 proprietary CUDA from NVidia, no support of out-of-core rendering and no native support for visualization of time-dependent volumetric data.Miguel Nunes, Matthias Schlachter, Katja Buehler, "Visualization Tools for Radiotherapy - a Survey", in: Innovative imaging to improve radiotherapy treatments, materials of 2nd summer school by SUMMER Marie Curie Research Training Network, a EU &th Framework Programme, 2013, {{ISBN|1291604170}}

However, since 2013 there have been improvements such as VTK-m which can speed-up and parallelize certain computationally intensive tasks{{cite web |title=VTKM |url=http://m.vtk.org/index.php/Main_Page |website=VTKM |access-date=12 July 2020}} using libraries like Sandia's Kokkos.{{Cite web |title=Kokkos |url=https://www.sandia.gov/ccr/project/kokkos/ |access-date=2024-09-09 |website=Center for Computing Research (CCR) |language=en-US}} 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.{{cite journal |last1=Ruiz |first1=Marc |last2=Julià |first2=Adrià |last3=Boada |first3=Imma |title=Starviewer and its comparison with other free software DICOM viewers using a novel hierarchical evaluation framework |journal=International Journal of Medical Informatics |date=May 2020 |volume=137 |pages=Supporting materials section |doi=10.1016/j.ijmedinf.2020.104098 |pmid=32066084 |hdl=10256/17874 |s2cid=211158287 |hdl-access=free }}{{cite web |title=Github project: An advanced LibreOffice spreadsheet that hierarchically evaluates several features of DICOM viewers|url=https://github.com/starviewer-medical/dicom-viewers-comparison |website=Viewers compasion |access-date=12 July 2020}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist}}

Further reading

  • {{citation |title=The VTK User's Guide |edition=11th |year=2010 |isbn=978-1-930934-23-8 |publisher=Kitware |last=Avila |first=Lisa Sobierajski}}