1.安装MatlabBridge插件

(1)在工具栏找到Extension,点击进入Extension Manager

(2)找到MatlabBridge,安装

2.配置MATLAB环境

(1)在模块处找到Developer Tools——Matlab——Matlab Modules Generator

(2)在Matlab executable处配置matlab.exe的路径(请确保计算机上安装有matlab,并且可以找到matlab.exe文件的位置);Matlab script directory的路径为存储.m文件的位置。

3.利用MATLAB函数(function)分割图像

(1)创建matlab module,在Module name处命名文件

(2)点击Generate module

(3)Matlab module包含三个文件:

•Matlabscript (*.m):Slicer调用的Matlab函数,该文件必须由用户定制,以执行所有必要的数据输入,处理和输出。

•Module descriptor(*.xml):模块描述符,该XML文件定义将在3D切片机中为模块显示的图形用户界面,该文件必须针对特定的Matlab函数进行自定义。

•Module proxy(* .bat):模块代理,该文件生成一次,不需要更改。

.m文件

.xml文件

(4)退出3D Slicer,重新打开

(5)打开样本数据,这里打开下载的MRHead数据

(6)在Module工具栏找到新建的matlab module,点击文件

(7)设置Input Volume为MRHead, Output Volume为Create new Volume

(8)点击apply按钮查看结果,如下图所示的结果

  总结:3D Slicer调用matlab函数的方法使得图像处理可以更容易编程处理,方便像素级的处理。但是,也存在一定的难度。首先,安装MatlabBridge并且学会使用;其次,是需要明白其中参数的意义,才能更好的编写matlab函数处理图像;最后,需要明白在3D Slicer自带的功能下处理图像和matlab编程处理图像之间如何选择更简单有效的方式,也是十分重要的事情。

3D Slicer中文教程(六)—调用matlab函数(MatlabBridge使用方法)的更多相关文章

  1. 3D Slicer中文教程(一)—下载及安装方法

    3D Slicer是用于医学图像信息学,图像处理和三维可视化的开源软件平台. 通过国家卫生研究院和全球开发人员社区的支持,二十多年来,Slicer为医生,研究人员和公众提供了免费,强大的跨平台加工工具 ...

  2. 3D Slicer中文教程(八)—导出STL文件

    一.STL文件简介 STL(立体平版印刷术的缩写)是由3D Systems创建的立体平版印刷CAD软件原生的文件格式STL有“标准三角语言”和“标准镶嵌语言”等几个事后回溯.这种文件格式是由许多其他软 ...

  3. 3D Slicer中文教程(七)—图像中值滤波

    1.中值滤波概念 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘 ...

  4. 3D Slicer中文教程(五)—三维视图颜色改变

    3D Slicer在分割后三维重建的图像,效果很好,但是存在一定的不足,默认的颜色并不是很合适,这时手动设置三维视图下的需要的颜色就很有必要了.如下图所示,默认的三维重建后的颜色. 这样的颜色显然不是 ...

  5. 3D Slicer中文教程(四)—图像分割

    1.数据获取 (1)下载3D Slicer自带的样本数据 (2)选择自由的数据 (3)网上数据库等其他方式下载数据 2.分割工具 Segment Editor是一个用于分割的模块.细分(也称为轮廓)描 ...

  6. 3D Slicer中文教程(三)—数据加载及保存方式

    1.打开数据与保存数据 (1)打开数据 ——可以将数据拖拽到3D Slicer应用窗口或者从菜单栏工具栏打开. ——多种方式加载大量数据. 有关DICOM数据,请参阅DICOM模块文档. 对于几乎所有 ...

  7. 3D Slicer中文教程(二)—软件功能界面介绍

    1.界面介绍 2.菜单及工具栏介绍 (1)菜单 File-文件菜单 文件菜单包含用于加载MRML场景的选项,用于从互联网下载样本数据集或各种类型的各个数据集.此处还提供了保存场景和数据的选项. Edi ...

  8. Swift中文教程(六)--枚举和结构

    原文:Swift中文教程(六)--枚举和结构 Enumerations 枚举 使用 enum 来创建一个枚举.跟Classes(类)和其他类型的命名方式一样,枚举也可以有Method(方法). enu ...

  9. opencv通过dll调用matlab函数,图片作为参数

    [blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数                   前文介绍了如何“csharp通过dll调用opencv函数,图片作为参数”.而在实 ...

随机推荐

  1. [题解]玩具谜题(toy)

    玩具谜题(toy) 来源:noip2016 提高组 day1 [题目描述] 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个 ...

  2. Python----逻辑回归

    逻辑回归 1.逻辑函数 sigmoid函数就出现了.这个函数的定义如下: sigmoid函数具有我们需要的一切优美特性,其定义域在全体实数,值域在[0, 1]之间,并且在0点值为0.5. 那么,如何将 ...

  3. nodejs部署方式-pm2

    目前Nodejs开发中有很多痛点,其中有一个是修改完代码以后需要我们重启服务才能看到效果.这样一次次的杀进程.重启,杀进程.重启很让人头大.程序员是最痛恨重复工作的物种,之前有了解过的同学可能知道 f ...

  4. mysql和mariadb备份工具xtrabackup和mariabackup(mariadb上版本必须用这个)

    简介 xtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server ...

  5. [Luogu 4245] 任意模数NTT

    Description 给定 \(2\) 个多项式 \(F(x), G(x)\),请求出 \(F(x) * G(x)\). 系数对 \(p\) 取模,且不保证 \(p\) 可以分解成 \(p = a ...

  6. BlockQueue 解析

    生产者.消费者模式 https://www.jianshu.com/p/024a36b83099

  7. <TCP/IP原理> (三) 底层网络技术

    传输介质 局域网(LAN) 交换(Switching) 广域网(WAN) 连接设备 第三章 底层网络技术 引言 1)Interne不是一种新的网络 建立在底层网络上的网际网 底层网络——“物理网”,网 ...

  8. content-type 组件

    content-type初识 什么是content-type ContentType是Django的内置的一个应用,可以追踪项目中所有的APP和model的对应关系,并记录在ContentType表中 ...

  9. logstash filter 处理json

    根据输入的json字段,分别建立索引.循环生成注册log和登录log保存到testlog文件中,结果如下: {"method":"register"," ...

  10. Java基础 -- Collection和Iterator接口的实现

    Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口.另外,java.util.AbstractCollection ...