Simplified web based core application

Hi 3DSlicer community!
I’m a student in computer engineering and i’m working on a bachelor end project aiming to develop a commercial service prototype for surgeons to print biomimetic models of human parts to practice surgeries!

The goal of our team would be to “probably” have a segmentation module in a web browser so that surgeons can target specified regions containing tumors and then send a 3D model print request to a 3D printing service.

I consulted these resources :


Run Slicer in your web browser - as a Jupyter notebook or as a full application
Segmentation via web-browser
Embed 3DSlicer in a web GUI
Can 3D Slicer be hosted on a rendering server?

And I have so many questions concerning the software architecture, modules and how to adapt 3DSlicer for our project.
Would it be better to go for common gateway interface to run 3DSlicer as a service and then make our own GUI?
Would it be better to use docker images (which from what i understood is using VNC to work?)?
Or maybe go for RDP and resource sharing across users?
Is Jupyter Notebook GUI customizable enough for us to develop a customer ready GUI?

Our main requirements are reusing the great technologies that were developed for 3DSlicer, but the GUI would be, for the prototype, way to complicated for simple users who’d like to have surgery simulators within range of a few simple clicks. And we would also like many (let’s say 10 or 20) users to connect at the same time.
The main features would be the segmentation module with a display in a web site, patient’s files and folder management, web authentication and data exporting for a 3D printing service.

Since i have so many questions and with my lack of experience as a student, i would be very open to have a Microsoft Teams conversation with some expert. It would be a great help in our project.

In case this topic isn’t within the scope of this forum or the community, please excuse my trespassing.

Best regards,
Tobie

There are many options for simplifying Slicer user interface and make it available without installation. I would recommend to focus on figuring out the workflow first: who does what and how, what steps can be automated and what requires user inputs, what visualization you need, validate robustness and accuracy of automatic processing algorithms, etc. You will need minimal software development for this, but it is mostly learning and experimenting with various existing tools. Once you have a very good idea of how everything will work and what you need to do, you can start thinking about how to achieve that (what to develop, what technologies to use, where to deploy, etc.).

If you are more comfortable talking about your project rather than discussing it on the forum then you can join one of the weekly Slicer hangouts.

Hi Andras,
Thank you very much for your answer.
I will make sure to make some progress towards what you proposed about our specifications, workflow and key requirements and i will get back to you in the next weekly hangout (probably july 21 from my understanding).
I just want to make sure that i’m not losing anyone’s time so would it be okay if i make a very brief presentation of a few slides for you to better understand the project?

Best regards,
Tobie

You can join the next meeting in 9.5 hours (2020.07.14 Hangout), but next week is fine, too.