3Dslicer to three.js

Hi Everyone,

I’ve recently started a personal project to showcase 3D volumes on the web using three.js. Currently, I’m in the process of refining my workflow, and I wanted to share my current steps with you all. I came across openPlan, though I haven’t had the chance to explore it yet.

  1. Convert 3D data from a customized format to DICOM.
  2. 3Dslicer to read the DICOM files for further processing.
  3. Export the processed DICOM data and import it into Blender using OrtogOnBlender.
  4. Finally, export the Blender scene and integrate it into a web environment using three.js.

I’m curious if anyone else has tackled a similar project in the past and would greatly appreciate any insights or advice you might have to offer.


1 Like

I would recommend to use OpenAnatomy extension to export to glTF format and visualize it directly using 3dviewer.net web viewer (see for example how it can view a segmentation directly exported from Slicer).

You can discuss this with others who are doing similar websites - see for example this topic:

I’m not sure if it is worth spending a whole lot of time with three.js because its primary intended use is not scientific visualization. It has some pretty significant limitations, such as it cannot render semi-transparent surfaces correctly, its volume rendering is very primitive, and it does not have basic tools built in, such as image slice rendering (in case anyone wants to look at the original image data). Now that VTK can run in the web browser, it seems to make more sense to use VTK-based viewers. A nice example is Kitware’s VolView. We also plan to make more and more of Slicer directly usable in a web browser, leveraging VTK and webassembly. So, already in the short term, but especially in the long term, you may be better off if you remain in the scientific/medical image computing software ecosystem and keep using VTK (outside of Slicer now, but possibly within Slicer in a few years) instead of switching to three.js.

Regarding Blender: Blender will always remain a more powerful 3D modeling tool for artistic visualization, but most of the scientific use cases should be possible to cover just as well (and in many cases better) by VTK-based applications, such as Slicer or ParaView. You can already do a lot of modeling and set up of nice visualizations in Slicer; and if you miss any specific features then let’s discuss them, because they may be easy to add - as they may already exist in VTK and just need to be exposed.

I appreciate the detailed answer and thank you for those suggestions!