ActiViz 9.2 release with support for Hololens 2

Kitware is pleased to announce the release of ActiViz 9.2. While benefiting from all the features of the latest VTK 9.2 release, this version focuses on extending the set of available functionalities by embedding additional VTK modules into the ActiViz package.

This includes the recent improvements to support the OpenXR runtime and rendering inside the Hololens 2, as well as enhanced support for parsing DICOM images thanks to the vtkDICOM external module.

Performances have also been improved drastically for many filters, as this new version is now built using the VTK std::thread SMP backend by default. This allows us to provide a threaded backend to be used by most of the VTK filters, without the need to manage additional third-party libraries.

ActiViz

ActiViz is a .NET library for 3D visualization and data processing. It exposes the API of the C++ Visualization Toolkit (VTK), to be used in C# or VB.

ActiViz interfaces with many existing applications and frameworks written in C#, including WindowsForm, Windows Presentation Foundation (WPF), or the Unity software. This enables a seamless and fast integration of advanced algorithms and rendering techniques in various environments.

Scattering model for Volumetric Rendering

VTK 9.2 introduces a new lighting model, based on light scattering, in order to increase realism in volume rendering. The parameters to enable and control this new scattering model have been directly exposed in the existing vtkGPUVolumeRayCastMapper and vtkVolumeProperty public APIs. To learn more about each parameter, read the original post here.

  • vtkVolumeProperty::SetScatteringAnisotropy : Defines the volume anisotropy coefficient that directly influence how secondary rays are scattered.
  • vtkGPUVolumeRayCastMapper::SetVolumetricScatteringBlending : Blending coefficient between the default and the scattering shading models.
  • vtkGPUVolumeRayCastMapper::SetGlobalIlluminationReach : Control the length of the secondary ray when simulating light scattering. Values closer to 1.0 takes longer to render but results in more realistic shading.
Volume rendering of a clipped chest, using the new scattering model

Extended reality (XR)

Based on the initial proof of concept that was made with ActiViz, and thanks to recent improvements to the OpenXR support in VTK, ActiViz now supports rendering in virtual reality headsets and augmented reality headsets such as the Hololens 2.

To try it, follow the instructions presented in the How To section of the initial post.

Streamline visualization in the Hololens 2. (Model courtesy of SDC)

VTK Dicom

In addition to the OpenXR module presented above, ActiViz now includes enhanced support for reading and writing DICOM images. To extend the VTK native support for the DICOM standard, we chose to continuously ship the vtkDICOM external module within the Activiz package.

This newly integrated module mainly provides the vtkDICOMReader,  vtkDICOMWriter, and a vtkDICOMMetaData, to respectively read and write any DICOM data, as well as an easy access to all of the per-slice DICOM meta data.

Other improvements

  • The target framework for the ActiViz NuGet package has been upgraded to .NET 6. Support for .NET 7 is also available on-demand.
  • Memory issues affecting all functions returning a string have been fixed. vtkStringArray.GetValue() and vtkSelection.AddNode() can now be used without any issue.

Visit the ActiViz website to learn more about ActiViz and download the new version.

Leave a Reply