3DSlicer14:Loadable Module

xiaoxiao2021-02-28  151

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/CoreSlicer/Modules/CLISlicer/Modules/Loadable:Colors、CropVolume、Data、Models、Tractograph、Transform、Volume、VolumeRenderingSlicer/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
转载请注明原文地址: https://www.6miu.com/read-54844.html

最新回复(0)