Add SlicerConnect Extension#2331
Conversation
|
This sounds pretty cool to me 👍 |
Thanks! It is buggy though and in experimental mode, |
|
@pieper Please let me know if I need anything else to do here. |
|
This sounds like a cool project. There are a couple checks not passing (see below). Also it looks like there are some other things to address (the text below is Claude Code talking, not me). Quick take: the scope and structure are reasonable for a Slicer extension (three ScriptedLoadableModules, proper CMakeLists, UI files, logic/widget separation), and the delta-sync idea is sound. But the code has several shipping blockers and a handful of Slicer-idiom problems you'd want fixed before calling this usable — and more before submitting to the ExtensionsIndex. Shipping blockers (will crash or not build): SlicerConnect.py:67 — stray bareword m inside _try_refresh_token; every 401 refresh path raises NameError. SlicerConnectEditor.py:342 uses ws:// (cleartext) while README promises WSS. For PHI claims, that's a real problem. Main-thread pip_install + synchronous requests calls block the UI. Overall: the architecture is credible, but it reads like an early-stage prototype that hasn't been end-to-end exercised — several of the blockers would surface the first time you clicked a button. Worth a cleanup pass before it's demo-worthy, and real encryption/credential handling before anyone touches patient data with it. |
|
BTW, for pure python modules you really don't need to make extensions at all. You can just put install instructions on your github page and post about the modules on the slicer forum. As long as you follow the extension format, all people need to do is checkout your code (or download the zip) and drop the folder on Slicer. Don't even need a restart. We should probably make this more clear in the dev instructions. |
Thanks! I will work on the fix. |
|
Nice work! Real-time multi-user collaboration so far has been mostly available in Slicer-based commercial applications and a few open-source research prototypes, so it is useful to have an up-to-date, maintained open-source solution for this. I would recommend to advertise the open-source server as well (https://github.com/pka420/SlicerConnectBackend) as many people may not want to rely on a proprietary server. Make sure that all the automatic tests in "Extension Validation" and "Lint" actions are fixed, we cannot merge if those tests are failing. Consider uploading a more informative screenshot (the current one shows a single empty Slicer application window). |
New extension
Tier 1
Any extension that is listed in the Extensions Catalog must fulfill these requirements.
Slicer(unless it explicitly provides a bridge between Slicer and a tool or library), because it would make it more difficult to find extensions if the name of many started with the same word.3d-slicer-extensionGitHub topic so that it is listed here. To edit topics, click the settings icon in the right side of "About" section header and enter3d-slicer-extensionin "Topics" and click "Save changes". To learn more about topics, read https://help.github.com/en/articles/about-topicsSettingsand in repository settings uncheckWiki,Projects, andDiscussions(if they are currently not used).Aboutin the top-right corner of the repository main page and uncheckReleasesandPackages(if they are currently not used)