Back to Projects List
Slicer to Unity Connection
Key Investigators
- Thomas Muender (Uni Bremen)
- Anke Reinschluessel (Uni Bremen)
- Thomas Mildner (Uni Bremen)
- Adam Rankin
- Steve Pieper
- Andras Lasso
Project Description
Developing a real time viewer showing image data (e.g., segmentations, 3D models, …) from 3D Slicer in Unity, if possible allowing also for interaction in unity updating the slicer data (as a 2nd step)
Objective
- Establish a streaming connection between unity and 3D slicer
- Select Data that should be streamable (Meta data, dicom images, 3d models)
- Integrate the streamed data into Unity application
Approach and Plan
- Get an overview about pre-existing solutions (Web server Http streaming, OpenITGLink)
- Developing a slicer plug-in
- create new plugin
- integrate streaming technology
- select data to be streamed
- put data into streamable format
- Developing the unity application
- integrate streaming technology
- transform data into unity data formats
- Integrate data in the Unity application
Progress and Next Steps
- Look at pre-existing solutions (Web server Http streaming, OpenITGLink)
- OpenITGLink seems a bit too much for our goals
- http streaming looks promising (https://github.com/pieper/SlicerWeb)
- https://projectweek.na-mic.org/PW32_2019_London_Canada/Projects/KidneySegmentation/
- AR/VR solutions with slicer: https://www.slicer.org/wiki/Documentation/Labs/Augmented_Reality_and_Virtual_Reality_support#Current_approaches
- https://github.com/Lyla-M/UnityOpenIGTLink
- Familiarize ourselfs with zmq
- Set-up a Connector-class between Unity and 3D Slicer setting up three connections:
- one connection Unity -> Slicer for continuous data exchange
- one connection Slicer -> Unity for continuous data exchange
- one connection Unity -> Slicer using request to get volume data
- wrote several data gathering functions
- getting mesh data
- getting volume data
- getting annotation data (fiducials, ROI, ruler)
- implemented a automtic request on slicer data change
- set up a Unity camera position visualizer in slicer 3D view
Illustrations
https://youtu.be/jXaJ5jVDjyg (Demonstration of the functionality)
Background and References
- https://zeromq.org/get-started/
- https://github.com/thomasMuender/SlicerToUnity