-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add QuickModelAlign extension #1941
base: main
Are you sure you want to change the base?
Conversation
Does it make sense to include this Slicer module as part of SlicerMorph since it is based on the ALPACA module in SlicerMorph and therefore could benefit from the same maintenance activities? I worry about future maintenance of the code. For example there was some discussion about |
Thanks for your reply. I am curious as to what you guys think. |
I would recommend at least calling the logic functions directly from ALPACA so that they don't need to be maintained separately. We are only supporting the cc: @agporto |
I think there are two ways to go about it.
|
In that case you will have to revise your code, particularly this section where you are using the wheels from our box server to install the open3d. https://github.com/seanchoi0519/SlicerQuickAlign/blob/main/QuickAlign.py#L76 I will remove these once the current ALPACA is deprecated and ITK-ALPACA becomes the default module in the next stable release. This will break your extension. I highly encourage you to work with @agporto and @smrolfe to develop this into a full-fledged 3D model registration module. This can be a nice project week activity and I believe there is still time to list new ones. |
Thanks all for your responses. @agporto @smrolfe would you guys be on board for this project? I can take charge of the UI and the visual display modes, however I would need help with the ITK backend integration. Let me know! |
Thank you Arthur, that's correct. The end users in my mind are regular students & professors who may not have technical expertise. Hence I'd be looking to keep the user interface quite specific and simple. Yes, I do plan on regularly maintaining the code. |
I think the goal would be to develeop a general purpose point cloud based registration tool, on which you can simply do a lightweight UI specific to your use case(s). |
Hi Murat |
Hello @jamesobutler , |
Are you aware of the Extension Wizard install method? That's you can provide a zip file of the repo to your users, which they can unzip and user the built in extension wizard to add to their slicer. It is essentially one more action (unzipping) compared to the extension catalog install. It might be good interim solution. |
Thanks Murat, I guess I can do that, but again I keep in mind my target users may lack technical expertise and my goal would be to keep the installation process as simple as possible. Would it be a hassle to make it available on extension repository for now? Meanwhile I could work to update the code, perhaps something like quickalign_preview, similar to the ALPACA. Let me know your thoughts, Sean |
Adding/renaming/removing extensions have significant long-term impact. If an extension appears in the extension catalog for a few months and it shows up in some youtube videos or forum posts then and then the extension is renamed or removed then for years we need to keep explaining users where that extension went, why, what to use instead. Therefore, I would avoid adding a separate extension for mesh registration if it later will be folded into SlicerMorph. However, if the plan is to keep it as a separate extension then it is OK to create a separate extension for it now (and dependency with SlicerMorph can be sorted out later - extension dependencies are mostly internal implementation details). One important change is needed in the extension name. In Slicer you can align many kind of data sets in many parameter spaces, so if the scope of the extension is spatial alignment of models then that must be included in the name. Something like |
Hi @seanchoi0519, you should do what you think is best. Given the focus of your module, my suggestion would be to keep it as a separate extension that will eventually use SlicerMorph's model registration module (for ease of maintenance). |
Thank you @agporto, I'm happy to move forward with that |
Hello everyone, Following Arthur's advice, I do feel happy to publish the module as is. I will update the module once the rigid registration approach from SlicerMorph is published. I've also amended the name to "QuickModelAlign." @lassoan Many thanks to everyone! |
Sean, @chz31 is going to a demo of the separate registration module tomorrow to our monthly SlicerMorph user group. Feel free to join. It is on 11 (PT), here is the webex link. I think the module will be pushed to SlicerMorph by the end of the week. https://seattlechildrens.webex.com/seattlechildrens/j.php?MTID=me662604e1ffd9c40f25888d048fcc0de |
Sounds good, will be there! |
Got to check out the "FastModelAlign" today (lol nice name), code looks great I would either be looking to:
Please advise |
I think we will keep the module strictly for registration. I agree visualizations are important but it will be different for everyone. So my suggestion, continue maintaining your extension in the way that will help you customize the visualizations whichever way you want, simply add SlicerMorph as a dependency for it. This way you don't have to worry about maintaining the registration code, libraries, etc. The only requirement for you would be making sure that user did in fact run ITK-ALPACA (which brings the automatically necessary ITK python module). There is an example doing that programmatically that we can provide you. |
Hello murat, thanks and I'd be happy to check out the example code. |
You can use
to switch to the ALPACA module, which will initiate install of the dependencies. Then switch back to your module on completion. |
@seanchoi0519 FastModelAlign module is now incorporated to SlicerMorph (as a testing module) and if all goes well, will be available with tomorrow's build. |
@seanchoi0519 Did you have a chance to work on the QuickModelAlign extension ? |
Update scmrevision from "master" to "main" Update homepage specifying readme section Update description to reference updated extension name Update screenshoturls with list of URLs referenced in the readme file
We are cleaning out our backlog of open pull requests. We have introduced tiers for extensions, making it easier to add experimental extensions to the index. @seanchoi0519 if you want your extension to be added to the index then let us know and we can add it as a tier 1. If we don't hear from you then we will close the pull request (but you can reopen it anytime). |
New extension
3d-slicer-extension
GitHub 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-extension
in "Topics" and click "Save changes". To learn more about topics, read https://help.github.com/en/articles/about-topicsSettings
and in repository settings uncheckWiki
,Projects
, andDiscussions
(if they are currently not used)About
in the top-right corner of the repository main page and uncheckReleases
andPackages
(if they are currently not used)