MITK医学Python开发入门详细版

1.关于MITK:

MITK的全称是”The Medical Imaging Interaction Toolkit”。它是一款开源的交互式医学图像处理软件开发和应用平台。MITK将ITK和VTK整合为一个应用框架。该软件由德国一个研究室开发。官网地址为:http://mitk.org/wiki/MITK 。

与MITK同名的还有另一款由中科院自动化研究所开发的软件,全称为”Medical Image Toolkit, MITK“。官网地址为:http://www.3dmed.net/download.htm。

本文介绍的MITK是指德国研究室开发的软件。在随后的博文中再介绍中科院自动化所研发的同名软件。
MITK软件的下载地址为:http://mitk.org/wiki/Downloads 。本文所演示的软件是在Windows 7平台下的64位软件,MITK Workbench。

中科院下载链接:http://www.3dmed.net/download.htm

2. MITK的基本操作:

以下是下载MITK的安装包,并且安装后的MITK Workbench的启动后的主界面。
这里写图片描述

以下介绍在该软件上的一些基本操作:

2.1 加载DICOM序列图像

作为一个医学影像处理软件。最基本的功能当然是导入医学影像数据了。医学影像一般是以序列的形式存放在文件夹里。
点击工具栏中的”DICOM”字样的按钮,会弹出一个对话框,提示用户选择要导入的影像序列的位置。点击”Scan directory”可以选择本地存储影像的位置。
这里写图片描述

用户在本地硬盘上选择要显示的影像序列后,在MITK Dicom Browse的界面中会显示加载进来的数据,按照Patients, Studies, Series的层次进行显示。
这里写图片描述

如上图所示,该患者有一个检查,这个检查中只有一个序列。
选中要显示的序列后,上方最右侧的“View”按钮变为可用状态。
这时,该序列便显示在了左侧的Data Manager方框中。

2.2 实现MPR浏览切面的功能

在显示的序列文字上,点击鼠标右键,在右键菜单中选择第一项“Global Reinit”。这时该序列的MPR图像便会显示在右侧的三个视图中。如下图所示。

这里写图片描述

显示MPR后,在左下角的”Image Navigator”界面中,会显示MPR的轴线中心的坐标位置,以及轴、矢和冠状位三个切片的序号。
从显示的值可以看出,此时MPR轴线的中心点坐标为(6.00,171.00,-1136.35)。轴、矢、冠的序号分别为:150,256,256。

2.3 三维重建体数据的功能

除了MPR的视图外,右下角是三维视图。当加载影像并显示MPR序列时,默认会把三个层片共同显示在三维视图中。

如果想要观察数据体的三维影像,需要对体数据进行Volume Rendering。
点击工具栏中的最后一个名称为Volume Visualization的按钮。此时会弹出一个界面,用来设置体渲染的一些选项。
勾选第一项Volume Rendering。则在第四个窗口中会显示数据体三维重建,并且增加了预设的颜色和透明度传递函数后的结果。
这里写图片描述

3. 基于MITK的区域生长分割:

由于MITK集成了ITK和VTK。在ITK中提供了很多成熟的图像分割和配准的算法。因此,MITK将ITK封装的这些算法提供了出来。以下简要介绍其中的区域生长分割算法的应用。

点击工具栏从右往左数第四个,名称为Segmentation的按钮,即为图像分割的按钮。
此时,会弹出一个图像分割的工具箱面板。

面板的最上面部分为Data Selection,是用户选择待分割的图像和创建保存分割结果的。
默认将体数据作为分割对象。创建一个名称为bone_segment的标签,作为保存分割结果的文件。
该分割工具箱面板提供了分割的2D Tool和3D Tool。

2D Tool包括:Add, Subtract, Correction, Paint, Wipe, Region Growing, Fill, Erase, Live Wire, 2D Fast Marching的分割功能;
3D Tool包括:Threshold, UL Threshold, Otsu, Fast Marching 3D, Region Growing 3D, Watershed, Picking的分割功能。

这里介绍Region Growing 3D算法。
这里写图片描述

Region Growing在ITK中有不同的实现算法。通过这里的界面显示,MITK中应用的应该是ITK中的connectedThresholdImageFilter的类来实现区域生长的分割功能。
默认的阈值上下限为体数据的灰度最小值和最大值。这里载入的是CT数据,所以下限是-1024.0, 上限是1791.0。通过查阅资料,要分割的股骨区域的灰度范围约为280~1791,因此修改下限值为280。
然后点击键盘上的Shift键后,同时用鼠标在MPR的任一个面上选取股骨区域的一个点作为种子点。如下图所示为,在冠状位上选取了一个种子点。
这里写图片描述

然后点击分割面板中的“Run Segmentation”按钮,即可以在MPR区域显示出区域生长后的区域。选中分割面板的3D preview选项,则会将分割后的区域进行三维重建,显示在第四个窗口中。
这里写图片描述

参考链接:
1. http://mitk.org/wiki/MITK
2. http://www.mitk.net/
3. http://www.oschina.net/p/mitk

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

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

相关文章

服务器系统上1068错误,错误1068,详细教您启动网络服务错误1068怎么解决

在电脑中,通常开机后就会自动连接网络宽带,不过有用户遇到问题。开机后网络图标显示红叉或者图标正常无法上网,打开网络和共享中心才发现是服务或者组无法启动,启动时显示错误1068,这该怎么办?下面&#xf…

NodeJs连接Oracle数据库

nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodejs连接Oracle的配置,运行环境: windows7 x64 nodejs 0.12.7 Python 2.7.10 npm 2.11.3 运行原理分析 npm调…

maven实现多模块热部署

2019独角兽企业重金招聘Python工程师标准>>> 一、背景 基于maven的项目工程都会按模块划分,每个模块最终形成一个jar包,那么每次对模块的修改就需要重新打包,这样的工作重复而繁琐,以前的热部署解决方案都是只针对web…

鲲鹏服务器php性能,对鲲鹏服务器的内存进行性能优化后的前后数据对比

测试的鲲鹏服务器是96核2numa节点,内存测试用的是Imbench里面的stream。优化说明,bios和绑核优化后性能提升明显,编译参数优化后性能提升不明显可以根据情况是否进行编译优化1、Bios修改:进入bios,在Advanced中进入Memory Config界…

手机投屏时电视显示服务器有问题,小屏变大屏,手机投屏这几招你学废了么?...

马上七夕了,又恰逢周末不想去电影院凑热闹的人可以在家看电影、追剧但是小屏看剧一点也不爽何不投放到电视上饱览大视野呢我们可以借助“投屏”功能痛痛快快在电视上观看想看的剧集和电影那么如何通过手机,将内容传送到智能电视上呢那么接下来为大家介绍…

分类算法之决策树介绍

实习了一段时间,接触了一些数据挖掘、机器学习的算法,先记录下来方便以后的复习回顾: 一:决策树概念 决策树可以看做一个树状预测模型,它是由节点和有向边组成的层次结构。树中包含3中节点:根节点、内部节点…

C#调用Couchbase中的Memcached缓存

安装服务端 服务端下载地址:http://www.couchbase.com/download 选择适合自己的进行下载安装就可以了,我这里选择的是Win7 64。 服务端安装完后,如果成功了,那么在浏览器中可以看到。如果没有那么需要手动进行访问http://localhost:8091/ind…

Windows10安装Anaconda和Pytorch(CPU版,无GPU加速)

1.Anaconda安装 Anaconda的安装网上的教程非常非常多,很简单,下面这篇博客写的很详细,看我写的也可以。 地址:https://blog.csdn.net/u014546828/article/details/80334448 注意:不建议从 官网下载,官网…

云计算的发展及应用--演讲用PPT

最近在几个客户处进行了关于云计算的普及培训。主要是让用户了解什么是云计算,云计算的框架以及对我们的影响。我将自己手中的几本相关资料,结合自己的经验和理解,整合成了一篇演示用的PPT。 虽然演示用的PPT简洁些,但用来理解一下…

nodejs Error: request entity too large解决方案

错误如图: 解决方案: app.js添加 var bodyParser require(body-parser);app.use(bodyParser.json({limit: 50mb}));app.use(bodyParser.urlencoded({limit: 50mb, extended: true}));

閱讀10大優點:為什麼你應該每天閱讀

閱讀10大優點:為什麼你應該每天閱讀當是你最後一次讀一本書,或主要雜誌上的文章?你的日常的閱讀習慣圍繞推特,Facebook的更新或速溶燕麥片包上的指示?如果你是其中之一,無數的人誰不經常閱讀的習慣&#xf…

Node出错导致运行崩溃的解决方案

许多人都有这样一种映像,NodeJS比较快; 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务; 它比较适合对并发要求比较高,而且简单的业务场景。 在Express的作者的TJ Holowaychuk…

nodejs基于art-template模板引擎生成

基础核心代码 var template require(art-template);var tName new Date().getTime();var htmlT <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title></title></head><body><h1>{…

Pyalgotrade量化交易回测框架

现在就开始干活了。先要测试一下pyalgotrade回测数据对不对。我找了个参照标准:在聚宽上开通了个账号&#xff0c;按入门教程写了个策略:2016-2018年每个交易日买入100股平安银行(000001)&#xff0c;回测结果如下: 现在用pyalgotrade来实现一下这个策略。先用tushare下载平安银…

1.4三态缓存(tristate buffer)与 多路复用器(Multiplexers)

首先解释名词。由于想了好多例子&#xff0c;结果发现没有太好的。于是换一种办法&#xff0c;直接上图和真值表。。这个东西就是多路复用器&#xff08;MUX&#xff09;从图中和真值表可以总结出&#xff1a;当s为0选择D0通过&#xff0c;也就是YD0&#xff0c;而不在乎D1上的…

art-template用户注册方法

应用场景nodejs Express框架&#xff0c;使用art-template模板引擎。 后台注册方法代码&#xff1a; var template require(art-template);template.helper(myRegFunc, function (str1, str2) {return "我是后台方法: " str1 str2;}); 前台使用&#xff1a; <…

如何导出已安装的安卓app为apk包

下载 “夜神模拟器” &#xff0c; 鼠标长安应用&#xff0c;拖拽到 “apk导出”处 即可

easyui-datagrid行数据field原样输出html标签

easyui-datagrid 绑定的行 field 原样输出html标签。处理效果如图&#xff1a; Html页面代码如下&#xff1a; ...<tr><th field"id" width"5" align"center">编号</th><th field"name" width"20" ali…

Python爬虫淘宝商品详情页价格、类似数据

在讲爬取淘宝详情页数据之前&#xff0c;先来介绍一款 Chrome 插件&#xff1a;Toggle JavaScript (它可以选择让网页是否显示 js 动态加载的内容)&#xff0c;如下图所示&#xff1a; 当这个插件处于关闭状态时&#xff0c;待爬取的页面显示的数据如下: 当这个插件处于打开状态…

微信公众号开发(—)接口与服务器关联

微信公众号开发(—) 以下都是借鉴的微信公众平台的文档加老师指点和自行的理解。 1.一台有微信的手机.(别问我老人机可以不 有微信就可以&#xff01;&#xff01;&#xff01;) 2.需要有一个微信公众平台的测试号&#xff08;订阅号,服务号也可以按自己需求来&#xff09;. 3.…