Volxel 3D DICOM Data Visualizer Demo
What is this?
This is a demo for my volumetric data visualization tool called Volxel. You can find the source code on GitHub.
The actual use case is specifying a list of DICOM file URLs via
the data-urls
Attribute or
the URL of a ZIP file containing multiple DICOM files via the
data-zip-url
attribute that the component will then
use to fetch and display.
This will be used by a Drupal
Module to automatically load volumes to display.
Additionally, the component also accepts the data-settings-url
attribute, which it will use to
restore the current view settings from, and the data-env-url
, which it will use to load an
environment map.
You can try this demo by selecting a folder containing Dicom images in the file select below or by uploading a zip file containing DICOM images to the zip file select below.
How do I control this?
The main view can be panned by dragging with the left mouse button. To move the view around, you can hold Shift while dragging. You can zoom in and out by scrolling.
The control panel is opened with the hamburger button on the bottom left. It contains three tabs for three different types of settings:
-
The Lighting tab lets you control the lighting of the scene. There are two main options:
- You can use an environment map (.exr file) which will be used to light the scene.
- You can use a directional light.
Using an environment map allows for more natural lighting at the expense of giving up directional control. Using directional lighting means less natural looking images, but more control, since it allows you to move the light direction.
In directional lighting mode, you can also enable the Backlight mode, where the light direction will always be the opposite of the view direction.
You can also prevent the environment from being shown, which will result in only the light from it being used but the background remaining black. This is useful in the event that the background interferes with the image.
-
The Transfer function tab lets you control how the density data in the volume is interpreted. This means:
- You can upload a transfer function specified in a text file with lines containing
r g b density
values in separate lines - You can specify a density multiplier that gets applied to the data during rendering, which allows you to make certain low visibility elements of the volume more visible
- You can adjust the density range of the volume that will be displayed. The diagram in the background of this input shows a histogram of the density data. This means that the higher a vertical line, the more often the corresponding density was present in the data. Left is a density of 0, right a density of 1. The lines' heights scale logarithmically.
- You can upload a transfer function specified in a text file with lines containing
- The Display tab is less relevant for scientific users and more of interest to developers. You can adjust the maximum samples rendered for convergence, adjust how many bounces the volume path tracer takes, and you can enable showing the bounding box of the volume with the AABB coordinates visualized as colors.
The "Export" and "Import" buttons above the hamburger button allow you to import and export the entire view settings as a JSON file, which can later be reimported.