【转】介绍一些免费/开源的医学影像后处理工具

转自:https://blog.csdn.net/liaopiankun0618/article/details/84328331

来源:融视影像科技

综述

医学影像的处理有两个特质。一是复杂,整个处理流程涉及多种算法,需要调整的参数较多。二是发展快,从采集、重建到后处理,新处理方法层出不穷,每年都有新工具,每五年又有个大热点。因此影像后处理工具主要有两方面的要求:易用性(交互参数少)和易拓展性(加入新功能快,第三方开发容易)。所有的工具都必须要平衡这两方面上找到一个定位(下图)。
在这里插入图片描述

果要强调易用性,整个软件架构就要封闭一些,首先开放给用户调整的参数就不能太多,其次要保证计算速度,设计上多考虑并发和内存传递,最后是要有一个设计良好的用户界面。各种工作站就是此类产品的例子,操作按照解剖部位和处理需求进行流程优化,基本上点点鼠标就能完成。但是这样一来,可扩展性就不强,虽然也有可能做一些插件接口支持用户开发(如飞利浦的PRIDE和GE的Func2),但开发必须符合设定好的框架,空间很小。更极端的例子是CAD软件,譬如invivo的DynaCAD之类,使用上非常简便,但基本不考虑扩展。

如果要强调可拓展性,整个软件架构就要非常开放。开放的极致就是一个各种工具组成的包,譬如FSL,DIPY等,用户自己设计处理流程,自由组合工具函数,并加入自己开发的模块。可扩展性极强。稍微用户友好一些的是MITK(作者为德国癌症研究中心的那套软件www.mitk.org),MRtrix之类带图形界面的后处理工具包,用户可以通过修改编译脚本来自行调配处理流程和组件。开放的代价是易用性很差,如果科研团队里没有熟悉编程的计算机背景的成员,几乎不能真正用上这些工具。

我们在开发IMAge/enGINE(核磁弥散处理工具新版本)的时候,考虑面向的用户是没有工程团队支持的医学背景的大夫和研究生,因此尽量向易用性优化了,因此界面操作简单,计算速度快。举例来说,在i5-4570 CPU的计算机上测试,与其它开源工具比较如下。

在这里插入图片描述

在这里插入图片描述
OsiriX(http://www.osirix-viewer.com)是一款运行在iOS上的DICOM浏览器 (只有iOS版,无MAC的同学请跳过此节 )。其收费版,也就是OsiriX MD版是通过FDA认证的,可以在很多国家和地区直接用于临床。OsiriX也提供免费版,代价是运行过程中有弹窗跳出,需要等待若干秒才能继续使用。OsiriX的功能主要集中在影像融合,影像渲染,影像标注上,计算参数图并不是强项。其提供了第三方开发接口(https://github.com/pixmeo/osirixplugins),有很多第三方的插件,譬如提供结构化报告的Pi-RADS Bi-RADS 冠脉分析等插件,也有计算ADC的IB diffusion,计算DCE的IB DCE等等。
在这里插入图片描述
3DSlicer (https://www.slicer.org/)可能是发展最好,最全面的免费+开源影像处理工具了。它可以运行在iOS, windows和linux上。3DSlicer主要是哈佛大学医学院布列根妇女医院(BWH),麻省总医院(MGH),依阿华大学(University of Iowa)和GE医疗开发的。3DSlicer是用04年到现在超过47个的NIH经费灌溉出来的。光弥散方向的插件,就有04,13,15年的3项经费。另外还有放疗引导,手术引导,放射组学,深度学习,XNAT接口,胸部影像平台(Chest Imaging Platform)等海量功能组件。而且要相信哈佛医学院系统拿funding的能力,他们可以一直搞新玩意儿,因此开发社区也极其活跃,新东西层出不穷。譬如这两年火爆的深度学习,就已经有Deep Infer提供的前列腺分割和肺外形分割组件了。其中前列腺分割号称DICE85+,建议各位把自己数据灌进去玩一玩,省得天天吹CNN也不知道最后替谁背了锅。基本上,掌握了3DSlicer,大部分花钱的科研平台就是来搞笑的……(部分组件见下图)
在这里插入图片描述
更加难能可贵的是,这是一个开源平台(Why?在美国,纳税人经费做的当然要开源),许可非常宽松,允许改造、商用等等。我们仔细阅读过它的源码,在开发IMAgen/enGINE的过程中,也借鉴了它的很多模块(如DICOM导入管理部分)。我们码农界有句老话,叫Talk is cheap, show me the code (吹水无用,请给代码)。我们看了Slicer的代码,真心膜拜人家在代码架构,多团队合作管理,版本控制方面的专业性。

但是,正如它在易用性-易扩展性图中的位置一样,它为了多单位合作,支持更多的开发者,将插件接口做得极其开放。因此有2个缺点,1是暴露的参数太多了,使用非常复杂,必须仔细看文档或者参加培训班才容易上手。自己瞎玩的话,大概率连个弥散数据都灌不进去。(或许……我们可以开个培训班赚钱?)2是计算速度慢,缘于其使用了大量的硬盘文件缓存方式进行模块间通讯。举例来说,下图是UKF(Unscented Karman Filter)白质纤维束追踪插件的参数界面,此种纤维束追踪方法比较新,对数据量要求小追踪效果好纤维束不容易断,而且支持NODDI模型的追踪。不过我感觉对于不懂技术细节的临床背景研究者,只能抓瞎了:
在这里插入图片描述
在这里插入图片描述
ImageJ(https://imagej.nih.gov)是一个工程师界的传奇。它是NIH一个工作人员Wayne Rasband利用自己的业余时间搭建的影像处理工具,开发者2010年从NIH退休之后,还在继续做很多工作。它也拥有大量的第三方插件(列表见此https://imagej.nih.gov/ij/plugins)。和大部分影像处理软件不同,这是个使用Java语言开发的工具,曾经还以applet方式提供在线使用。假设您团队的开发者更熟悉Java系的工具,这应该是您首选的科研工具。不过它也存在用户友好性的问题,而且界面比3DSlicer更加粗陋。因为我们不用Java,这个工具我们用得比较少。各位可以自己官网查阅资料。
MITK
在这里插入图片描述
The Medical Imaging Toolkit (MITK, www.mitk.org)是德国癌症协会(German Cancer Research Center)搞的一套跨平台的免费+开源软件。虽然有图形界面,但它更像是一套工具集而不是一个软件。它可以理解为基于QT,ITK,VTK,OpenCV编写了一些自有的图形组件和算法库。然后通过灵活编写cmake脚本和使用它的预编译宏,可以把这些组件组成一个应用软件。譬如官方搞的MITK Diffusion,可以做HARDI之类的运算和追踪。下图是一个DTI的一个界面:

在这里插入在这里插入图片描述图片描述

根据上次文章所说的易用性和开放性成反比的理论,MITK架构设计灵活,易用性就比较差。根据我的使用经验,以它的工具库组织起来的软件往往不太稳定,bug比较多。各位可以试着下载安装版试试,不经历一番摸爬滚打恐怕是用不了的。MITK更像是给研究团队中的工程技术人员根据科研需求,快速定制自制软件用的。同样在德国的一家公司出品的mevislab软件应该是延续了这个思路(https://www.mevislab.de/),工程团队可以用mevislab快速把算法界面化,给医疗团队使用。这种研究团队种包含了有开发实力的工程技术人员的情况,在国内可能不太多见。这也是我们把IMAge/enGINE往易用性方面优化的原因。

另外再介绍两种专门用来做分割的后处理工具:

ITK Snap
在这里插入图片描述
ITK Snap (http://itksnap.org) 是跨平台的免费开源软件。支持iOS,WIN和Linux。其界面走技术硬核风,如下图:

在这里插入图片描述

手动分割工具齐全而且实现了大量的ITK半自动方法,而且软件架构比较开放,很方便往里塞ITK写的新方法,比较适合做分割算法开发的工程师们用来调参数或者尝试新算法。对于医学背景的同学们,我更推荐下面这个软件:

Seg3D

Seg3D (http://www.sci.utah.edu/download/seg3d/)是一款交互设计非常独树一帜的免费开源影像处理软件。考虑到它的开发单位犹他大学与Photoshop的渊源,Seg3D基于“蒙版”和“图层”的使用也并不意外。每一步分割算法都是生成一个新的“蒙版”,蒙版之间也可以便捷的逻辑运算。不过Seg3D里的半自动方法比较有限,只有区域生长,阈值之类的几种。软件比较封闭,想要二次开发加入新的方法也不是那么容易。下图是一个CT增强的颅内血管分割的小例子

在这里插入图片描述

首先可以使用阈值和联通域找到血管(图层一,绿色),但很容易连到骨皮之类其它类似信号的区域上。

然后再从原始数据使用Otsu法找到颅内,进行几次腐蚀,确保颅内区域远离骨皮(图层二,黄色)。

最后把图层一和图层二做一个“与”逻辑(图层三,紫色),就能粗略地得到颅内的血管部分了。

结合手动方法,愿意花时间的话,应该说可以满足绝大多数医学影像分割需求了。还可以把分割好的模型直接3D打印。

 

MITK--医学影像处理插件

集成化的医学影像处理与分析C++类库。开发MITK的灵感得自于开源软件VTK和ITK的巨大成功, 其目的主要是为医学影像领域提供一套整合了医学图像分割、配准和可视化等功能的,具有一致接口的、可复用的、灵活高效的算法开发工具。和VTK的风格类似, MITK采用传统的面向对象的设计方法, 而没有采用ITK的范型编程风格。因而其语法和接口是简单而直观的。

ITK在医学图像分割和配准方面具有非常强大的功能,在进行分割与配准研究及开发医学图像处理与分析系统时,我们常常需要应用这一重要的工具。但ITK不具备可视化方面的功能,因此,在应用ITK进行图像处理后,一般会再利用VTK或者FLTK进行可视化,观察结果及进行交互显示.

 

ITK医学图像分割配准库
dmctk德国的一个医学图像处理库
vtk用来显示的库

FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X.
FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation.FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes.
FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android gradle 语法,Gradle 1.语法

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?gradle 语法解析:gradle的语法十分简洁,以至于看起来跟像是配置文件。先看一个简单的android项目完整的gradle脚本:build.gradle123456789101112131415…

【转】二维异形件排版算法介绍(三)

转自:https://bbs.huaweicloud.com/blogs/203947 【摘要】 相比于基于可行解的排样算法,重叠移除算法在改变解的状态时,允许零件之间发生重叠,然后采用分离技术消除重叠,直到达到算法的终止条件为止。重叠移除算法的关…

【转】Dicom格式文件解析器!!!!!!!

转自:https://www.cnblogs.com/assassinx/archive/2013/01/09/dicomViewer.html Dicom全称是医学数字图像与通讯,这里讲的暂不涉及通讯的问题 只讲*.dcm 也就是diocm格式文件的读取,读取本身是没啥难度的 无非就是字节码数据流处理。只不过确…

【转】医学影像调窗技术!!!!

转自:https://www.cnblogs.com/assassinx/p/3139505.html 在年初的时候做过一个dicom格式文件解析,当时只是提了下。看着跟别人的显示出来也差不多 其实是我想太简单了。整理了下思路 这里提供正确的调窗代码。 医学影像 说得挺高科技的 其实在这个过程…

【转】理解字节序 大端字节序和小端字节序

转自:https://www.cnblogs.com/gremount/p/8830707.html 以下内容参考了 http://www.ruanyifeng.com/blog/2016/11/byte-order.html https://blog.csdn.net/yishengzhiai005/article/details/39672529 1. 计算机硬件有两种储存数据的方式:大端字节序…

创建windows服务,定时监控网站应用程序池

最近网站总是报"Timer_Connection"错误,导致该网站所使用的应用程序池由于错误过多停止运行,网站也就出现了service unvaliable,无法访问,在网上查了很多资料,结果很让人无奈,这个问题已经困扰我了很久,一直没有得到解决,后来同事发来一篇文章让我有了新的解决方法,虽…

【转】Qtcreator中常用快捷键和小技巧

转自:https://blog.csdn.net/imxiangzi/article/details/48863855 https://blog.csdn.net/jh1513/article/details/52346802 快捷键及对应含义 下载地址:http://download.csdn.net/detail/jh1513/9615209 快捷键 功能 Esc 切换到代码编辑状态 F1 …

【转】VS编译时自动引用Debug|Release版本的dll

转自:https://www.cnblogs.com/KevinYang/archive/2011/04/10/2011879.html 公司一些早期的项目,把所有工程都放到一个解决方案下了,导致整个解决方案编译很慢,而且也不便于类库的复用和维护。因此我们决定把工程按照功能划分到不…

【转】DICOM之Print!!!!!!!!!

转自:https://blog.csdn.net/weixin_41556165/article/details/81064531 基本概念: Film:在DICOM协议中使用Film来统称不同的Hard Copy,例如photographic film和paper。 DICOM Print的数据流由Print Session、Print Job、Print(h…

静态html js文件上传,js实现动态添加上传文件页面

发邮件是需要添加一些文件,每添加一个文件,页面上可以显示一个表单文件上传选项。此功能为:初始时刻只有一个添加按钮,当点击添加文件时,会增加一个选择文件和删除区域,同时显示上传按钮,当点击…

WINCE6.0文件系统及存储管理器

*******************************LoongEmbedded******************************** 作者:LoongEmbedded 时间:2010.12.03 类别:WINCE嵌入式系统 ********************************LoongEmbedded******************************** Filesys.…

【转】Wireshark网络抓包(一)——数据包、着色规则和提示

转自:https://www.cnblogs.com/strick/p/6261463.html 一、数据包详细信息 Packet Details面板内容如下,主要用于分析封包的详细信息。 帧:物理层、链路层 包:网络层 段:传输层、应用层 1)Frame 物理层…

【转】Wireshark网络抓包(二)——过滤器

转自:https://www.cnblogs.com/strick/p/6261915.html 一、捕获过滤器 选中捕获选项后,就会弹出下面这个框,在红色输入框中就可以编写过滤规则。 1)捕获单个IP地址 2)捕获IP地址范围 3)捕获广播或多播地址…

html访问虚拟目录路径,IIS7.5虚拟目录物理路径指向共享文件夹详解

本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本。UNC是 Universal Naming Convention 的简称,也叫通用命名规范、通用命名约定。网络(范指局域网)上资源的完整位置名称。通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候&…

【转】DICOM:DICOM三大开源库对比分析之“数据加载”

背景: 上一篇博文DICOM:DICOM万能编辑工具之Sante DICOM Editor介绍了DICOM万能编辑工具,在日常使用过程中发现,“只要Sante DICOM Editor打不开的数据,基本可以判定此DICOM文件格式错误(准确率达99.9999%…

html中点击照片时放大缩小,基于jquery实现一张图片点击鼠标放大再点缩小

. 代码如下:var isopen false;var newImg;var w 200; //将图片宽度200var h 200; // 将图片高度 200$(document).ready(function(){$("img").bind("click", function(){newImg this;if (!isopen){isopen true;$(this).width($(this).width() w);$(th…

css入门之head区设置

收藏夹小图标 如果你将本站加入收藏夹,可以看到在收藏夹网址之前的IE图标变成了本站特别的图标。要实现这样效果很简单,首先制作一个16x16的icon图标,命名为favicon.ico,放在根目录下。然后将下面的代码嵌入head区: &l…

04751计算机网络安全讲解,【19份】04751计算机网络安全自考试卷_历年真题自考答案及解析_湖南080901计算机科学与技术(原B080702计算机及应用)专业-自考生资料网...

1、资料如何使用本商城提供资料为WORD版,可打印成纸质版,结合备考习惯,营造考试氛围。支持手机查看,随时随地,高效学习。WORD文档也可直接用于电脑端学习,快速浏览,永久使用。2、文档无法编辑&a…

【转】Wireshark网络抓包(三)——网络协议

转自:https://www.cnblogs.com/strick/p/6262284.html 一、ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址。 IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信…

【转】Wireshark网络抓包(四)——工具

转自:https://www.cnblogs.com/strick/p/6344486.html 一、基本信息统计工具 1)捕获文件属性(Summary) 1. File:了解抓包文件的各种属性,例如抓包文件的名称、路径、文件所含数据包的规模等信息 2. Tim…