The goal of this project is to implement segment-aware carving mechanism, that will make it possible to clip specific user-defined segments when rendering a medical volume. This will allow users to create very customized visualizations tailored for specific needs, like anatomy learning or preoperative planning. Eventually, the goal is to add a VR interactions, as demonstrated in this video:
Objective
Implement a segment-aware clipping occlusion management technique, which may be useful for anatomy learning or preoperative planning.
Approach and Plan
Create a a basic architecture using the currently existing OpenGL that allows chaining multiple compute shaders and then to visualize the computed image
Implement segment-awake clipping visualization using the computer shader chaining pipeline
Progress and Next Steps
This project has already been implemented in Unity, and the goal of this project is to port it to 3D Slicer. However, the Unity implementation relies a lot on compute shaders.
An approach to fill a volume in an OpenGL a compute shader has been tested, and this result can then be displayed by writing the output to an existing multi-component volume. However, to access the texture ID of this multi-component volume, a loadable C++ is required, which has already been made.
The different segements from the volume are rendering using volume rendering and the texels take in the proper color based on the segments’ labels.
The editor makes it possible to add a ‘clipping sphere’ to the scene. This clipping sphere is created using a point markup and a radius value can be set in the editor. The clipping sphere is then used in a compute shader to clip into the different segments within the volume. If the sphere clips into a voxel it sets the intensity value of said voxel to 0.
The clipping sphere uses a ‘mask’ to only clip certain segements in the volume. Whether the the segment will be clipped depends on the segment visibility value in the Segment Editor, which can be changed in real time.
The module was published online and is accessible in the Extension Manager:
The rendering needs to be polished to reduce the antialiasing on the segments and make it look better.
Multiple clipping spheres should be possible to be created. This would then enable the ability to have each sphere clip different segments within the volume.
Illustrations
Background and References
Article describing the occlusion management technique was submitted to the ISMAR 2025 conference.
Relevant technique for unsegmented data: A. Joshi, D. Scheinost, K. Vives, D. Spencer, L. Staib, and X. Papademetris, “Novel interaction techniques for neurosurgical planning and stereotactic navigation,” IEEE Trans. Vis. Comput. Graph., vol. 14, no. 6, pp. 1587–1594, Nov. 2008, doi: 10.1109/TVCG.2008.150.