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

3DSlicer14:Loadable Module相关推荐

  1. 使用ENVI软件时出现Dynamically loadable module failed to load:IMSL

    使用自己提供的插件时,计算结果崩溃:Dynamically loadable module failed to load:IMSL,表明动态可加载模块加载失败:IMSL,IMSL是一个属数学运算的模块 ...

  2. 问题:AttributeError: module 'tensorflow' has no attribute 'gfile'

    目录 问题 原因与解决方案 解决方案1 解决方案2 问题 运行如下代码 if not tf.gfile.exists(DATA_DIRECTORY):tf.gfile.makedirs(DATA_DI ...

  3. 解决错误:No module named ‘Cryptodome‘ 和错误rosbag.bag.ROSBagException: unsupported compression type: lz4

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 解决错误:No module named 'Cryptodome' 和错误rosbag.bag.ROSBagExcept ...

  4. 解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 解决tensorflow报错:AttributeError: module 'tensorflow.keras.back ...

  5. 错误:AttributeError: module 'enum' has no attribute 'IntFlag'

    错误:AttributeError: module 'enum' has no attribute 'IntFlag' 文章目录: 一.错误原因 二.解决错误方法:[参考](https://stack ...

  6. Python3中提示:no module named 'wxpy'

    场景 本地安装了Python3并且也已经执行了pip install wxpy 但是程序运行时提示: no module named 'wxpy' 实现 wxpy官网: https://pypi.or ...

  7. (转)输入pipt提示:AttributeError: 'module' object has no attribute 'HTTPSConnection'

    文章转自:http://write.blog.csdn.net/postedit/51725016 1.测试 [root@s011805161450 ~]# python Python 2.7.8 ( ...

  8. GDCM:gdcm::Module的测试程序

    GDCM:gdcm::Module的测试程序 GDCM:gdcm::Module的测试程序 GDCM:gdcm::Module的测试程序 #include "gdcmModule.h&quo ...

  9. 已解决 问题ModuleNotFoundError: No module named ‘tensorflow.examples.tutorials‘

    已解决 问题ModuleNotFoundError: No module named 'tensorflow.examples.tutorials' 我是一名新手 想学习一下CNN 在网上找了一些py ...

最新文章

  1. 普通高中计算机课程软件,普通高中信息技术课程标准(2017 年版)(4):选修课程...
  2. HTML DOM Element 对象
  3. 介绍Windows Server服务器角色、角色服务和功能
  4. 搭建hbase-0.94.26集群环境
  5. AXURE RP EXTENSION For Chrome
  6. java使double保留两位小数
  7. 2010nbsp;贱语大全!
  8. 计算机机房系统安装,学校机房轻松安装WIN7系统.doc
  9. java 验证码不显示,页面没有显示验证码解决办法
  10. 实验整理(一)——钓鱼邮件攻击实验
  11. MATLAB---构造一个插值三次样条曲线
  12. 双千兆网口路由器方案开发板香橙派R1 Plus LTS连接USB无线网卡测试说明(OpenWRT 系统)
  13. 有关vue转换时间为年月日格式
  14. html中怎么写小箭头,HTML+CSS入门 CSS用伪类制作小箭头
  15. Spark行动算子(Action)--reduce算子
  16. html5 js 多触点,多触点交互桌面左右手区分方法
  17. 三面(技术+HR面试)网易,分享我的面试经验!(已拿offer)
  18. 已面世两年 大疆精灵4 Pro V2.0为什么仍是最受欢迎的无人机之一?
  19. java 延时发送邮件_java编程实现邮件定时发送的方法
  20. 公布旗下(飞秋)系列软件工作原理

热门文章

  1. MyBatis Generator 学习
  2. 【最短路】【spfa】小vijos P1447 Updown
  3. 转:用GDB调试程序
  4. 安卓开发实现画廊效果
  5. Android View之间的触摸事件传递图
  6. 设计模式:结构型模式总结
  7. LeetCode 20. 有效的括号(Valid Parentheses)
  8. k8s之kubebuilder简单理解
  9. C#中的预处理指令详解
  10. 重装系统后软件安装 ----一直更新