深入接触slicer快半年,浅谈一些slicer的开发经验。然后记录一下,与大家分享。

首先,大家需要了解slicer是一个什么样的软件。 站在我的角度讲,slicer是一个强大、开源并且拥有丰富的医学功能的一个科研软件。 为什么说slicer比较强大 ? 是因为目前很多医疗创业公司以及研究所都会从slicer的软件模块中,来获取医疗软件功能模型(哪些较好的功能可以添加到自己的软件上),然后结合自身的需求, 开发出一个简洁、易用、有针对的医疗软件或产品。

这里表明为什么slicer是科研软件而不是产品。区别就在slicer虽然功能丰富,但很多时候它的软件的优化程度以及用户友好性都非常一般,而且对使用的人的要求也较高。

开源是因为它的代码都可以从github上下载到(github 上搜slicer)。这里丰富的医学功能包含从数据加载、分割、配准、三维重建等基础的功能模块,同时在slicer较新的版本上还包含VR(虚拟现实模块)以及以深度学习的模块。

slicer 论坛(有任何关于slicer的使用或开发疑问,都可在上面留帖子,帖子回复速度都很快):

https://discourse.slicer.org/

以这篇帖子的时间为准:

目前最新的稳定发布版本是:slicer 4.10.2 (采用的是python 2.7)

目前的最新的未发布版本: slicer 4.11.0 (采用的是python 3.6)

这半年里面主体涉及两个项目的开发:

一、简化功能(定制化slicer)

slicer作为一个医疗科研软件,它的功能模块极其之多,所以很多时候,为了满足个性化的需求,所以slicer的模块是可以进行隐藏。

至于如何隐藏不必要的模块,可以参考这个帖子:

https://discourse.slicer.org/t/simplify-slicer-or-remove-some-modules-from-slicer/7545

除了单独隐藏模块外,有时候涉及到某一特定模块里面功能的增添或删减,亦或是模块界面的优化,这时候就需要从slicer源码出发,因此需要对源码进行编译。

编译的时候,若涉及VR模块的编译,可参考这个帖子:

https://discourse.slicer.org/t/compiling-slicer-4-10-x-with-slicer-virtual-reality/7019

二、涉及插件的开发

slicer的每一个模块,其实都可以认为是一个单独的插件。这些插件的源码都能以路径或库加载的方式融入到slicer软件中。slicer中一些插件模块都是开源的,所以都可以去github 上找代码。而另一些插件模块基于公司或组织的开发的,能否开源取决于它们的意愿。

目前我所接触到的是基于c++和python的开发(涉及用python开发,一定要注意slicer版本),关于新的插件(模块)如何产生(找到下图模块),可以参考下面这个视频。

https://www.youtube.com/watch?v=SieXQodzpDw

有了插件的框架后,我们只需要在里面进行功能开发就行。

基于slicer开发(简化功能与插件开发)相关推荐

  1. 基于Android开发通讯录功能

    从Android手机获取通讯录信息,这个技术很早之前就已经出现了. 网上的各种教程也很多,最常见的就是传入uri,使用游标来获取信息. 文件:url80.ctfile.com/f/25127180-7 ...

  2. 基于SpringBoot开发一个Restful服务,实现增删改查功能

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:虚无境 cnblogs.com/xuwujing/p/8260935.html 前言 在去 ...

  3. 敏捷开发绩效管理之七:敏捷开发生产率(下)(简化功能点分析,NESMA,两级简化)...

    这是敏捷开发绩效管理的第七篇.(之一,之二,之三,之四,之五,之六,之七) 续前文-- 功能点估算 第一级简化 上次说到只用数据+操作就能准确计算规模,听起来够简单了,但其实还不够. 谁能在刚拿出2页 ...

  4. springboot增删改查案例_大神基于SpringBoot开发一个Restful服务,实现增删改查功能...

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  5. 基于云开发的答题活动小程序v2.0-用云开发的聚合能力实现从题库中随机出题功能

    项目技术栈 微信原生小程序+云开发.为什么选择微信原生小程序进行开发呢?因为能够直接应用它的云开发能力吖. 我这里主要使用了云开发能力中的小程序端SDK,说白了就是在javascript中就能直接操作 ...

  6. Unity关于Oculus Quest2 入门开发:(五)基于XR Interaction Toolkit0.10.0开发交互功能之UI篇

    使用过Unity开发过VR的同学知道,UI分为两大类:渲染在摄像机上的和不渲染在摄像机上的也就是WorldSpace,当然Oculus Q2也一样,它需要的也是world类型的. 第一步:配置Ocul ...

  7. 基于.NetCore开发博客项目 StarBlog - (13) 加入友情链接功能

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  8. Mdebug:基于React开发的移动web调试工具

    作者:thinkchen,腾讯 PCG 高级前端开发工程师 mdebug是腾讯新闻 TNTWEB 团队推出的基于React开发的新的web调试工具, 沉淀自腾讯新闻微信手 q 双插件多年的移动 web ...

  9. PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的...

    PostgreSQL 优势 2016-10-20 21:36 686人阅读 评论(0) 收藏 举报  分类: MYSQL数据库(5)  PostgreSQL 是一个自由的对象-关系数据库服务器(数据库 ...

  10. pythonarcgis插件_【直播】基于Python开发ArcGIS插件:Python Add-in丨城市数据派

    原标题:[直播]基于Python开发ArcGIS插件:Python Add-in丨城市数据派 Add-in是什么? Add-in(加载项)是一种自定义项(例如工具栏上的工具集合),Add-in可以插入 ...

最新文章

  1. 习题8_6与习题9_2
  2. IO流 带行号的缓冲区
  3. php写出个人所得税,PHP计算个人所得税示例【不使用速算扣除数】
  4. 长沙计算机学校首问 长沙大计校区电话,长沙有哪些中专学校,长沙中专学校名单一览表...
  5. mi2 android 5.0 方法,小米2/2S怎么刷Android5.0 小米2/2S刷Android5.0教程【详解】
  6. Android编译系统分析三:make完整编译android系统
  7. 吴恩达 coursera AI 专项三第二课总结+作业答案
  8. 小程序确定取消弹窗_微信小程序定制开发价格确定条件?
  9. dataframe存到mysql中_pandas实现to_sql将DataFrame保存到数据库中
  10. linux系统下网络连接不上的问题
  11. 【英语学习】【English L06】U07 Jobs L4 What do you think of our service?
  12. 布谷直播:仿富聊V聊、一对一社交APP、抖音短视频、社交APP源码
  13. python官网下载安装-Python2.7.6下载
  14. sersync实现多台服务器实时同步文件
  15. 7 个优秀 WordPress LMS 在线教育系统插件比较(优点和缺点)
  16. PMP课程学习第五天
  17. SWOT分析思维的一些基本思考与见解
  18. Learning deep representations by mutual information estimation and maximization
  19. thinkpad10平板电脑装linux,ThinkPad X61上经历Ubuntu 8.10(安装笔记)
  20. Mac 电脑 插显示器 提示:显示器不支持当前的输入时序,解决办法

热门文章

  1. tcs标准编写软件_标准编写软件TCS应用.ppt
  2. html5浏览器最小化,javascript – 在浏览器最小化时引起用户的注意(跨浏览器桌面通知?)...
  3. matlab gaot工具箱安装详细说明
  4. Hbase 深度使用分析
  5. 项目SOW工作说明书模板
  6. 热议:为什么近些年硕士生考博意愿偏低?
  7. Altium Designer使用-----LOGO脚本的使用
  8. Funcode实现坦克大战(十个需求)
  9. 汇编语言程序设计入门
  10. android 模拟gps坐标,Android系统中模拟GPS位置