Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Визуализационный инструментарий (VTK) — это программная система с открытым исходным кодом для 3D-компьютерной графики, обработки изображений и визуализации данных. VTK распространяется под лицензией BSD 3, одобренной GNU и FSF.
Free software software system for 3D computer graphics, image processing and visualization
The Visualization Toolkit (VTK) is a free software system for 3D computer graphics, image processing and scientific visualization. VTK is distributed under the GNU approved and FSF approved BSD 3 clause License.
Функциональность
VTK состоит из библиотеки классов C++ и нескольких интерпретируемых интерфейсных уровней, включая Tcl/Tk, Java и Python. Этот инструментарий разработан и поддерживается командой Kitware. VTK поддерживает разнообразные алгоритмы визуализации, в том числе: скалярные, векторные, тензорные, текстурные и объемные методы, а также передовые методы моделирования, такие как: неявное моделирование, упрощение полигонов, сглаживание сетки, операции разрезания, построение контуров и триангуляция Делоне. VTK предоставляет фреймворк для визуализации информации, набор 3D-виджетов для взаимодействия, поддерживает параллельную обработку и интегрируется с различными базами данных и графическими инструментами, такими как Qt и Tk. VTK является кроссплатформенным и работает в операционных системах Linux, Windows, Mac и Unix. Ядро VTK реализовано как набор инструментов C++, требующий от пользователей создавать приложения путем комбинирования различных объектов. Система также поддерживает автоматическую обертку ядра C++ для Python, Java и Tcl, позволяя разрабатывать VTK-приложения на этих языках программирования. Книга и программное обеспечение были написаны тремя исследователями (Уиллом Шрёдером, Кеном Мартином и Биллом Лоренсеном) в свободное время и с разрешения General Electric, в связи с чем права на программное обеспечение принадлежат и продолжают принадлежать авторам. После создания ядра VTK пользователи и разработчики по всему миру начали улучшать и применять систему для решения реальных задач.
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. 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.
Критика
В 2013 году в обзорной статье по визуализации для лучевой терапии отмечалось, что, несмотря на то, что VTK является мощным и широко известным инструментом, ему не хватало ряда важных функций, таких как мультиобъемный рендеринг, отсутствовала поддержка библиотек GPGPU, таких как CUDA, не поддерживался рендеринг огромных наборов данных вне оперативной памяти и не было встроенной поддержки визуализации объемных данных, изменяющихся во времени. Однако с 2013 года произошли улучшения, например, VTK-m, который позволяет ускорить и распараллелить некоторые вычислительно сложные задачи с использованием ускорителей, таких как GPGPU. VTK также используется в конвейере визуализации программного обеспечения радиологической визуализации, такого как MEDInria или Starviewer, которое выполняет мультиобъемную (также называемую слиянием изображений) и визуализацию данных, зависящих от времени (также называемую фазовой визуализацией).
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 GPGPU libraries such as CUDA, no support of out of core rendering of huge datasets and no native support for visualization of time dependent volumetric data. However, since 2013 there have been improvements such as VTK m which can speed up and parallelize certain computationally intensive tasks using accelerators such as GPGPU. 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.