VTK.JS v16 Release Notes
VTK.js is a freely available, open source rendering library made for scientific visualization on the web. It is an implementation of the Visualization Toolkit (VTK) in 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.
It’s been a while since we’ve posted about a VTK.js release (last post was for VTK.js version 9), so 7 versions later, we would like to announce the release of VTK.js version 16! Below is a list of major features that have been added since version 9.
- Infrastructure
- Removed dependency on kw-web-suite, so VTK.js releases moving forward will have faster dependency upgrades.
- New release channel available:
vtk.js@beta
will be used to test breaking changes prior to release
- Webpack 5 support.
- Migrated to cross-platform GitHub Actions CI testing.
- Visualization
- Multi-component image rendering (slice and volume)
- 2D convolution filtering on GPU (example)
- GPU-powered volume clipping, thanks to external contributor @gandis0713 (example)
- Camera manipulation:
- I/O
- Add STLWriter (example)
- Add PLYReader (example)
- Add support of XMLPolyDataReader field data
- Improve ITK integration
- Add Draco reader (example)
- Improved support of ParaView exported scenes (blog)
- Add time series from vtp files (example)
- Widgets
- Features on the horizon
- ES module builds of vtk.js! Instead of requiring downstream users to include asset processing libraries in their bundler of choice (e.g. webpack), the ESM build of vtk.js will allow users to consume vtk.js without worrying about asset preprocessing. This is currently available in
vtk.js@beta
, and soon to land on the default release channel. - Soon to go with vtk.js we have a react-vtk-js library that let you create a visualization scene in a declarative manner. Such a library will be available via dash-vtk from Plotly to streamline vtk.js based visualization from a Python server using the Dash infrastructure developed by Plotly.
- ES module builds of vtk.js! Instead of requiring downstream users to include asset processing libraries in their bundler of choice (e.g. webpack), the ESM build of vtk.js will allow users to consume vtk.js without worrying about asset preprocessing. This is currently available in
Getting Started with vtk.js
If you want to learn more about vtk.js or get help, we have you covered. Below is a list of links to help you navigate vtk.js and the help forums.
- For general info, visit the vtk.js website.
- To browse the source code, visit our Github repo.
- Found a bug? Have a feature request? Drop them in our issue tracker.
- To ask questions on how to integrate vtk.js into your projects, stop by the VTK Discourse web section.
- You can find a complete list of vtk.js examples on our example page.
- For an example application built using vtk.js, check out ParaView Glance.
Acknowledgements
We would like to thank all of the external contributors who helped improve vtk.js. Here is the list of contributors since the last vtk.js release post.
We would also like to acknowledge the funding sources that have helped contribute to vtk.js:
- NIH NIBIB R01EB014955
- Total SA