Back to Projects List
Collaborative VR breakout session
Key Investigators
- Csaba Pinter (Ebatinca / Pixel Medical)
- Simon Drouin (ETS Montreal)
Project Description
Virtual Reality (VR) has a great potential to facilitate communication between clinicians. For example, VR can be used to collaboratively plan a surgical case by manipulating 3D models derived from preoperative scans. Slicer already includes most of the components required to build prototypes for this kind of applications:
- The Virtual Reality module can display everything from Slicer’s 3D in VR
- The VolumeRendering and PRISM Rendering modules enable advanced-programmable volume rendering
- The OpenIGTLinkIF module and OpenIGTLink protocol enables communication of medical and tracking data between different devices running Slicer
The Goal of this discussion is to coordinate future development of the above module to enable more natural collaborative interaction in VR.
Objective
- Review the current functionality of SlicerVR and PRISM Rendering
- Discuss planned near future developments in those modules
- Lay out a vision for the future of interactive VR in Slicer
- Establish a protocol for Collaborative VR
- Points for discussion:
- Future possibilities for interacting in VR: hand tracking, tool tracking
- Need to support different types of tracking in collaborative VR protocols
- Should SlicerVR have a fixed set of functionality and interaction paradigm or let users and/or developers choose.
Progress and Next Steps
- Potential application of SlicerVR: Learn dental anatomy (Sébastien Erckelbout)
- Short term changes:
- Implement spatial references (e.g. a Floor)
- Improve object selection
- Interaction
- Is it worth sharing a code base with Slicer Looking glass?
- For developers: need for more control over interaction: disable existing interaction and change behavior
- Long term: support for more complex VR controllers and hand tracking
- Have interaction settings for different scenarios (inside-out vs outside-in visualization)
- Collaboration
- Currently, collaboration is setup using OpenIGTLinkIF and carefully setting up scenes on both ends. Transforms have to be setup for controllers and HMD
- We need to facilitate (automate) connection and scene setup for collaboration
- It might be necessary to use a server technology to hold common state (Mike Halle suggested FireBase previously used)
- A matchmaking and communication solution to explore: Photon
Illustrations
Background and References
SlicerVR
PRISMRendering
PRISMRendering doc