Visualization Toolkit ( VTK ) es un sistema de software de código abierto para gráficos por computadora en 3D , procesamiento de imágenes y visualización científica . [3]
VTK se distribuye bajo la licencia BSD de 3 cláusulas aprobada por OSI . [4]
VTK consta de una biblioteca de clases C++ y varias capas de interfaz interpretadas, incluidas Tcl/Tk , Java y Python . El kit de herramientas es creado y respaldado por el equipo de Kitware . VTK admite varios algoritmos de visualización que incluyen: métodos escalares , vectoriales , tensoriales , de textura y volumétricos; y técnicas avanzadas de modelado como: modelado implícito, reducción de polígonos, suavizado de malla, corte, contorneado y triangulación de Delaunay . VTK tiene un marco de visualización de información , tiene un conjunto de widgets de interacción 3D, admite procesamiento paralelo y se integra con varias bases de datos y kits de herramientas GUI como Qt y Tk . VTK es multiplataforma y se ejecuta en plataformas Linux, Windows, Mac y Unix. El núcleo de VTK se implementa como un conjunto de herramientas de C++, lo que requiere que los usuarios creen aplicaciones combinando varios objetos en una aplicación. El sistema también admite el empaquetado automatizado del núcleo de C++ en Python, Java y Tcl, de modo que las aplicaciones VTK también se puedan escribir utilizando estos lenguajes de programación. [3]
VTK se creó inicialmente en 1993 como software complementario del libro The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics . [5] El libro y el software fueron escritos por tres investigadores (Will Schroeder, Ken Martin y Bill Lorensen) en su propio tiempo y con el permiso de General Electric (por lo tanto, la propiedad del software residía y continúa residiendo en los autores). ). Después de que se escribió el núcleo de VTK, los usuarios y desarrolladores de todo el mundo comenzaron a mejorar y aplicar el sistema a problemas del mundo real. [3]
Con la fundación de Kitware , la comunidad VTK creció rápidamente y el uso del kit de herramientas se expandió a aplicaciones académicas, comerciales y de investigación. Varias empresas y organizaciones importantes, como Sandia National Laboratories , Livermore National Laboratory y Los Alamos National Laboratory , financiaron el desarrollo de VTK e incluso desarrollaron varios módulos VTK. [3] VTK forma el núcleo de la aplicación informática biomédica 3DSlicer , y han aparecido numerosos artículos de investigación en IEEE Visualization y otras conferencias basadas en VTK. VTK se ha utilizado en una gran computadora con procesador 1024 en el Laboratorio Nacional de Los Álamos para procesar casi un petabyte de datos.
Posteriormente, VTK se amplió para admitir la ingesta, [ se necesita aclaración ] procesamiento y visualización de datos informáticos . Este trabajo fue apoyado por los Laboratorios Nacionales Sandia en el marco del proyecto 'Titán'. [6]
En 2013, un artículo de encuesta sobre visualización para radioterapia notó que, si bien VTK es un conjunto de herramientas poderoso y ampliamente conocido, carecía de una serie de características importantes, como la representación de múltiples volúmenes, no tenía soporte para bibliotecas GPGPU como CUDA , ni soporte para bibliotecas externas. Representación exclusiva de enormes conjuntos de datos y sin soporte nativo para la visualización de datos volumétricos dependientes del tiempo. [7]
Sin embargo, desde 2013 ha habido mejoras como VTK-m que puede acelerar y paralelizar ciertas tareas computacionalmente intensivas utilizando aceleradores como GPGPU . [8] VTK también se utiliza en la línea de visualización de software de imágenes radiológicas como MEDInria o Starviewer, que realizan visualizaciones de múltiples volúmenes (también llamadas fusión) y dependientes del tiempo (también llamadas fases). [9] [10]