欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

3DSlicer14:Loadable Module

发布时间:2025/3/15 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 3DSlicer14:Loadable Module 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.简述

可加载模块是针对Slicer设计的C++ Plugin(插件)。他们为特定的功能定义GUI,因为他们对应用程序具有完全控制权。
  • C++共享库
  • 全权控制UI(基于Qt)和Slicer的内部构件(如MRML、logic、显示管理)
  • 为繁重的计算进行优化

2.何如设计Loadable Module?

PPT参考资料: https://na-mic.org/wiki/File:LoadableModules.pptx

2.1 Slicer模块的结构

  • Slicer/Modules/Core
  • Slicer/Modules/CLI
  • Slicer/Modules/Loadable:Colors、CropVolume、Data、Models、Tractograph、Transform、Volume、VolumeRendering
  • Slicer/Modules/Scripted

2.2 创建 Loadable Module

  • Module Plugin整体结构
   
  • 模块逻辑Module Logic和模块窗口部件Module Widget
   

2.3 Life of a module

1).启动Slicer
2).Slicer发现我们创建的模块MyModule
  • 解决依赖项
  • 在Menu中添加模块标题
  • 创建模块逻辑Module Logic:选择性的注册新的节点Nodes
  • 模块设置:选择性地注册IO、显示管理DisplayableManager
3).Slicer加载文件(Add Data)
  • 注册的IO可以读取数据
  • 显示IO选项(用AddData对话框)
  • 通过IO加载文件
4).创建模块窗口小部件

2.4 代码分析

这里分析一下PPT中给的代码逻辑示意图:
原理图(SIGNAL-SLOT、Event-SLOT)
实际运行流程图(SINGAL-SLOT→Synchronize→Event-SLOT) 更详细的资料,请参考如下: How to creat a Loadable Module? https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/CreateLoadableModule 与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的3DSlicer14:Loadable Module的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。