Slicer exposes a lot of its inner workings to the outside python layer, so a lot of what we call “scripted modules” is code that reaches into what’s happening in Slicer at runtime and manipulates things. This is not done as naturally with web apps, at least with their traditional design. When you use Slicer you are not just using an applicaiton but also a development environment. When just using a web app like OHIF you are really more of a consumer of the app and not directly exposed to “hooks” to make changes.
OHIF also tries to have a marketplace, but you can’t do a 1-click (or few-click) install. Slicer you just click to install an extension and then restart. A web application you’d have to re-deploy.
Dynamic deployment is possible for OHIF and there is at least one example out there of a deployment where different users get different layouts and buttons and such.
Leaving dynamic deployment aside, what about just the marketplace aspect? Like the Slicer Extension index but for OHIF, even if it is only at first allowing developer-level OHIF users access additional funcionality.
Some examples of how to approach OHIF customization:
But it is different in many many ways to Slicer extensions.
Project week will be at MIT at the end of June, and this is a good opportunity to get face to face discussions and plan out architectural experiments around these ideas.