I am looking into building a plugin to collaboratively annotate and segment sMRI. The idea is that we can invite specific people via email and they (and only they) can all join and collaborate a volume as a team via a low latency connection, everything running on our local servers so the hospital’s data does not leave the servers.
What would that entail? I would appreciate any guidance & support that can be offered so I know where to start.
I expect I will need to know how Slicer stores its segmentation data in memory as an MRI is being segmented. I expect I will have to stream that data to all connected users.
There are collaborative editing possibilities at many different levels. For example, each user can run a local Slicer instance and sync data with others via OpenIGTLink. Or, you can run a single VNC-enabled Slicer docker image and allow many people to connect and control (there is one cursor, it can be controlled by anyone who has connected with the control-enabled link, similarly how you take control of a user’s computer in zoom, but VNC allows anybody from the group to take control, automatically).
Google docs like editing is implemented in ImagineHive (some more information in a related Project Week project page). You can find contact email on the webpage, but if you are interested I can also give more direct contact information in a private message.