VTK.js

by Mike Colonna

Description

The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing, and visualization. VTK.js is a JavaScript implementation of the standard C/C++ VTK library. Its implementation consists of an ES6 JavaScript class library which can be integrated into any web application. The toolkit leverages WebGL and supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods. VTK is part of Kitware’s collection of commercially supported open-source platforms for software development.

VTK.js annoucement and overview.

A note on usage: The VTK.js library is currently undergoing development. As such, there is not a one-to-one correspondence of VTK functions and objects to VTK.js.

A note on VR usage: VTK.js apparently does support VR via OpenVR. However, the documentation to set up such a VR web app is sparse.


Official Resources

Official Documentation: VTK.js documentation

User Support: None

Installation Guide: Provide a link to the official installation guide or create one that you made on your own

Sample Datasets: VTK.js sample datasets

Source Code: Github source code

Example Usage: VTK.js examples

Usable Environments

Metrics

Accessibility: The estimated time for someone to create Hello World

  • Beginner: No coding or graphics experience | 1 hour

  • Intermediate: Some coding or graphics experience | 20 minutes

  • Advanced: Both coding and graphics experience | 10 minutes

  • Expert: A lot of experience with computer graphics, specifically with this software | <10 minutes

Power: The engine's power - i.e. how much one can do with this

  • Medium: VTK.js is a library mainly for enabling visualization of data on the web. As such, it ports the tools from VTK that are used specifically for the task of rendering. However, it does not span the breadth of VTK functionality, and lacks support for deeper functions like exporting models.

Usage: Evaluation of software's use for the following purposes

  • Game Design - N/A.

  • Education - VTK.js is great for educational data visualizations, and its ability to be added to any web page allows it to be consumed by anyone with an internet connection and functional browser.

  • Science - VTK.js supports a number of 3D model types and is great for visualizing data in a browser. For simple visualizations on the web, definitely consider it!

Recommended System Requirements

  • For viewing:

    • A modern browser (i.e. Chrome, Firefox) that supports WebGL 2

  • For project development:

    • Node.js

    • Webpack

APIs

Software Performance


Cost

Free (Open Source)

Tutorials