3D Slicer中文教程(四)—图像分割
1.数据获取
(1)下载3D Slicer自带的样本数据
(2)选择自由的数据
(3)网上数据库等其他方式下载数据
2.分割工具
Segment Editor是一个用于分割的模块。细分(也称为轮廓)描绘感兴趣的结构。一些工具模仿像Photoshop或者gimp这样的绘画界面,但是可以在三维数组体素上而不是二维像素上工作。改进module_editor模块后的新模块。编辑器包含许多相同的功能和更多新功能,包括:交替细分,2D和3D视图中的显示,每段可视化选项,3D视图编辑,通过在几个切片上插值或外插分割创建分割,以任何方向编辑切片。
面板及其使用Panels and their use
Segmentation: 选择要编辑的分割数据
(1)基本介绍
Master volume:选择待分割的数据,创建分割后第一次选择的volume用于确定分割的labelmap(分辨率,轴方向,原点)。所有编辑器效果使用volume强度(例如,阈值,级别跟踪)。可以在分割过程中随时更改volume。注意:目前,更改分割的唯一方法是创建一个新的segmentation,设置其几何,然后从另一个分割导入segment
Add segment:添加一个新的segment
Remove segment: 移除segment
Show 3D: 在3D视图显示分割结果. 这是一个切换按钮。打开表面时,用户正在分割时自动创建和更新曲面。关闭时,转换不进行,因此分割过程更快。要更改表面创建参数:转到Segmentations模块,.点击Representations位置的Closed surface 栏的update按钮,单击Binary labelmap -> Closed surface,双击值改变参数。将平滑因子设置为0.1,进行弱平滑处理,将平滑因子设置为0.5以及更大进行强平滑处理。
Segments table: 显示所有的segment.
—— Eye icon: 显示segment的可见性.
——To customize visualization: 打开切片控制视图的推针,点击双箭头标志或者去segmentation模块
- Color swatch: 设置颜色
Effects: 在此处选择所需操作。有关每个操作的更多信息,请参见下文。
Options: 显示所选效果的选项
Undo/Redo: 块在应用每个效果之前保存分段状态。这对于实验和纠错是有用的。默认情况下,最后10个状态被记住。
Masking: 这些选项允许您定义可编辑区域以及是否可以覆盖某些段。
Editable area: 更改将仅限于所选区域。这可以用于在特定区域内绘制或将segment分割成多个segment。
Editable intensity range: 变化将限制在主体积的体素处于选定的强度范围内的区域。当局部强度阈值在不同区域之间分离良好时,这是有用的。强度范围可以通过使用阈值效果进行预览。
Overwrite other segments: 选择哪些段将被覆盖而不是重叠。
——All segments: Segment不被覆盖.
——Visible segments: 可见segment不会彼此重叠。隐藏细分不会被可见segment变更所覆盖。
——None: Segments可以重叠。更改一个segment不会改变任何其他Segments。
(2)操作(Effects)
通过单击effects中的按钮或者通过在切片或3D视图中单击和/或拖动来进行。
——选择要应用的画笔的半径(以毫米为单位)
——左键点击应用单圈
——左键单击并拖动以填充区域
——剩下一圈圆圈,当鼠标按钮被释放时应用
——球体模式将半径应用于当前切片上方和下方的切片。
左键单击以放置轮廓的各个点
左拖拉下一连串的点
右键单击以应用细分
与Paint效果相同,但突出显示的区域将从所选段删除,而不是添加。
如果将Masking / Editable区域设置为特定段,则突出显示的区域将从选定的segment删除并添加到掩蔽segment。 当segment的一部分必须分成另segment时,这是有用的。
移动鼠标定义一个轮廓,其中像素都与当前背景像素具有相同的背景值
单击鼠标左键将该轮廓应用于标签映射
在每个解剖结构内绘制细节。这种方法将从这些“种子”开始,并使其成长以实现完全分割。
——初始化:初始分割完成后(通过使用其他编辑器效果)单击此按钮。初始计算可能需要比后续更新更多的时间。Master volume, auto-complete method, segmentation在初始化后将被锁定,因此如果任何一个必须更改,请单击“取消”并重新初始化。
更新:根据更改的输入更新完成的segmentation。
自动更新:激活此选项可在segmentation更改时自动更新结果预览。
取消:删除结果预览。种子保持不变,因此可以通过单击“初始化”来更改参数并进行分割。
应用:用预览结果覆盖种子段。
笔记:
此效果仅使用可见segment
至少需要两个segment。
如果segment的某些部分被删除(并且不被另一个段覆盖),则建议再次取消并初始化。
使用任何编辑器效果在所选切片上创建完整分割。 您可以跳过切片之间的任意数量的切片。 该方法将通过在分段切片之间插值来填充跳过的切片。
——初始化:初始分割完成后(通过使用其他编辑器效果)单击此按钮。 初始计算可能需要比后续更新更多的时间。 主卷,自动完成方法,分段区域在初始化后将被锁定,因此如果任何一个必须更改,请单击“取消”并重新初始化。
——更新:根据更改的输入更新完成的segmentation。
——自动更新:激活此选项可在segmentation更改时自动更新结果预览。
——取消:删除结果预览。种子保持不变,因此可以通过单击“初始化”来更改参数并进行分割。
应用:用预览结果覆盖种子段。
使用阈值确定阈值范围并将结果保存到所选段,或将其用作可编辑强度范围。
增加或缩小所选segment的指定margin。
平滑所选labelmap或所有labelmap(仅适用于联合平滑方法)。
将segment剪辑到segment的指定区域或填充区域(通常用于掩蔽)。 区域可以在切片视图或3D视图上绘制。
左键单击开始绘制(自由形式或橡皮筋圆圈或矩形)
释放按钮应用
使用此工具为所选segment的每个连接区域创建唯一segment。 连接区域被定义为彼此接触但由零值体素包围的像素组。
Fully connected:如果选中,则只有共享一个脸部的体素才被视为已连接; 如果未选中,则在边缘或角落触摸的体素被认为是连接的。
Minimum size:所有少于此像素数的区域将被删除。
将布尔运算符应用于所选segment或组合segment。
提示
具有阈值绘画的大半径涂刷通常是分割解剖结构的一种非常快速的方式,其一直比周围区域更亮或更暗,但部分连接到类似的附近结构(这发生了很多)。
使用切片查看器菜单来控制标签贴图不透明度和显示模式(仅显示轮廓或全部volume)。
3.阈值分割样例
1)加载数据,打开需要的数据,这里打开电脑上下载的一个数据
2)选择模块位置选择”Segment Editor”,如下图所示。
3)在1处选择添加segment,在2处选择阈值分割。
4)在1处滑动像素值,选择阈值范围,点击apply(数字标签2处)按钮,点击show 3D按钮查看分割效果。
3D Slicer中文教程(四)—图像分割的更多相关文章
- 3D Slicer中文教程(五)—三维视图颜色改变
3D Slicer在分割后三维重建的图像,效果很好,但是存在一定的不足,默认的颜色并不是很合适,这时手动设置三维视图下的需要的颜色就很有必要了.如下图所示,默认的三维重建后的颜色. 这样的颜色显然不是 ...
- 3D Slicer中文教程(一)—下载及安装方法
3D Slicer是用于医学图像信息学,图像处理和三维可视化的开源软件平台. 通过国家卫生研究院和全球开发人员社区的支持,二十多年来,Slicer为医生,研究人员和公众提供了免费,强大的跨平台加工工具 ...
- 3D Slicer中文教程(八)—导出STL文件
一.STL文件简介 STL(立体平版印刷术的缩写)是由3D Systems创建的立体平版印刷CAD软件原生的文件格式STL有“标准三角语言”和“标准镶嵌语言”等几个事后回溯.这种文件格式是由许多其他软 ...
- 3D Slicer中文教程(七)—图像中值滤波
1.中值滤波概念 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘 ...
- 3D Slicer中文教程(六)—调用matlab函数(MatlabBridge使用方法)
1.安装MatlabBridge插件 (1)在工具栏找到Extension,点击进入Extension Manager (2)找到MatlabBridge,安装 2.配置MATLAB环境 (1)在模块 ...
- 3D Slicer中文教程(三)—数据加载及保存方式
1.打开数据与保存数据 (1)打开数据 ——可以将数据拖拽到3D Slicer应用窗口或者从菜单栏工具栏打开. ——多种方式加载大量数据. 有关DICOM数据,请参阅DICOM模块文档. 对于几乎所有 ...
- 3D Slicer中文教程(二)—软件功能界面介绍
1.界面介绍 2.菜单及工具栏介绍 (1)菜单 File-文件菜单 文件菜单包含用于加载MRML场景的选项,用于从互联网下载样本数据集或各种类型的各个数据集.此处还提供了保存场景和数据的选项. Edi ...
- Swift中文教程(四)--函数与闭包
原文:Swift中文教程(四)--函数与闭包 Function 函数 Swift使用func关键字来声明变量,函数通过函数名加小括号内的参数列表来调用.使用->来区分参数名和返回值的类型: fu ...
- Netty4.x中文教程系列(四) 对象传输
Netty4.x中文教程系列(四) 对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持. 首先我们定义一个U ...
随机推荐
- L2-4 部落 (25 分)
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈.我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同 ...
- React-propsType和defaultProps
TodoItem.propTypes={ content:PropTypes.string, text:PropTypes.string.isRequired, handleDeleteItem:Pr ...
- JS 面向对象 ~ 继承的7种方式
前言: 继承 是 OO 语言中的一个最为人津津乐道的概念.许多 OO 语言都支持两种继承方式:接口继承 和 实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.如前所述,由于函数没有签名,在 ...
- mybatis 使用接口绑定
使用selectList,selectOne..的缺陷 刚开始学习mybatis的时候,使用selectList或者selectOne,传入要调用的mapper,如果又参数要传递的话,就需要将参数进行 ...
- android_模拟器调试
找到adb_server adb_server connect
- mybatis乱码
单个字段 <property name="url" value="jdbc:mysql://127.0.0.1:3306/db?characterEncoding= ...
- 自己实现ArrayList与LinkedList类
ArrayList与LinkedList的底层实现 ArrayList内部由数组实现,LinkedList内部由链表实现. 自己动手实现ArrayList与LinkedList中一些常用方法 Arra ...
- 2.5 time 模块
- opencv-python下简单KNN分类识别
KNN是数据挖掘中一种简单算法常用来分类,此次用来聚类实现对4种花的简单识别. 环境:python2.7+opencv3.0+windows10 原理:在使用KNN函数提取出4种花特征点以后,对需要辨 ...
- go interface接口
一:接口概要 接口是一种重要的类型,他是一组确定的方法集合. 一个接口变量可以存储任何实现了接口方法的具体值.一个重要的例子就是io.Reader和io.Writer type Reader inte ...