3D Slicer:从入门到精通(六)——图像分割

图像分割


文章目录

  • 图像分割
    • 基本概念
      • 分割和段
      • 表示方式
      • 二进制标签图表示
    • 分割模块
    • 教程


基本概念

图像分割(也称为轮廓绘制或注释)是一种在图像中划定区域的程序,通常对应于解剖结构、病变和各种其他对象空间。它是医学图像计算中非常常见的程序,因为它是可视化某些结构、定量分析(测量体积、表面、形状属性)、3D打印和遮罩(将处理或分析限制在特定区域)等所必需的。

分割可以手动进行,例如通过遍历图像的所有切片并在边界处绘制轮廓;但通常使用半自动或全自动方法。Segment Editor模块提供了多种分割方法。

分割和段

分割的结果存储在3D Slicer中的segmentation节点中。一个分割节点由多个段组成。

一个指定单个结构的区域。每个段都有许多属性,如名称、首选显示颜色、内容描述(能够存储标准DICOM编码条目)和自定义属性。段可以在空间上相互重叠。

表示方式

一个区域可以用不同的方式表示,例如作为二进制标签图(每个体素的值指定该体素是在区域内还是区域外)或闭合表面(表面网格定义区域的边界)。没有一种表示方式适用于所有情况:每种表示方式都有其优缺点,并根据需要使用。

二进制标签图闭合表面分数标签图平面轮廓,带状
简单的2D查看和编辑,
总是有效(即使
变换或编辑后)
简单的3D可视化相当容易的2D查看
和编辑,
总是有效,
相当准确
准确的2D查看和编辑
不准确(有限的分辨率),
如果允许重叠则需要大量内存
难以编辑,
可能无效
(例如,自相交),
特别是在非线性
变换后
需要大量内存在3D中模棱两可,
质量差
3D可视化

每个段存储在多个表示中。一个表示被指定为源表示(在用户界面上标有“金星”)。源表示是唯一可编辑的表示,它是保存到文件时唯一存储的表示,所有其他表示都是从它自动计算的。

二进制标签图表示

二进制标签图表示可能是最常用的表示,因为这种表示最容易编辑。使用这种表示的大多数软件将所有段存储在一个3D数组中,因此每个体素只能属于一个段:段不能重叠。在3D Slicer中,允许段之间的重叠。为了在二进制标签图中存储重叠的段,段被组织成。每个层在内部存储为一个单独的3D体积,一个体积可以在许多不重叠的段之间共享以节省内存。

在源表示设置为二进制标签图的分割中,每个层暂时允许具有不同的几何形状(原点、间距、轴方向、范围) - 以允许在分割之间移动段而不会产生不必要的质量损失(每次对二进制标签图进行重采样都会导致轻微变化)。在某些编辑操作和分割保存到文件时,所有层被强制具有相同的几何形状。

分割模块

3D Slicer中有许多用于操作分割的模块。下面提供了最重要的概述。

Slicer核心中的分割模块:

  • Segmentations:调整显示选项,管理段表示和层,在分割之间复制/移动段,在分割和模型及标签图体积之间转换,导出到文件。
  • Segment Editor:使用手动(绘制、绘画等)、半自动(阈值化、区域增长、插值等)和自动工具从图像创建和编辑分割。许多编辑效果内置于Segment Editor模块中,更多的效果由扩展提供(在扩展管理器的“分割”类别中)。
  • Segment statistics:计算每个段的强度和几何属性,如体积、表面、最小/最大/平均强度、定向包围盒、球形度等。查看更多信息。

用于创建/编辑分割的扩展:

  • SegmentEditorExtraEffects:向Segment Editor添加8种以上的效果。
  • SurfaceWrapSolidify:填补分割图像区域中的内部孔洞或检索分割中的最大腔体。
  • MONAILabel:使用MONAILabel进行各种器官的AI分割。
  • TotalSegmentator:基于AI的全自动分割全身CT图像中的104个结构。
  • DensityLungSegmentation:基于AI的全自动肺分割。
  • HDBrainExtraction:基于AI的全自动脑MRI图像去颅。
  • NVIDIA-AIAA:基于AI的全自动多个器官分割。分割在远程服务器上进行。
  • RVesselX:半自动肝实质和血管分割。

用于分析和处理分割的扩展:

  • Segment comparison:根据Hausdorff距离和Dice系数等度量计算两个段之间的相似性。
  • Segment registration(由SegmentRegistration扩展提供):计算对齐两个选定段的刚性或变形变换。
  • SegmentMesher:从分割创建体积(四面体)网格。
  • OpenAnatomy:以glTF或OBJ格式导出外部查看器的分割或模型层次结构。
  • Sandbox:提供Osirix ROI和SliceOmatic分割文件的导入器。

有关更多与分割相关的扩展,请打开 扩展目录中的“分割”类别

教程

要开始使用,请查看以下页面:

  • 分割教程:分步幻灯片和视频教程
  • Segment Editor模块文档:详细描述Segment Editor用户界面和效果

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

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

相关文章

衡量代理IP的因素

当你随便点开百度搜索IP代理,然后你就会看到,五花八门的IP代理商出现在视线中。再点进去链接,我们会发现,大多数IP代理商提供的基础IP服务都大差不差,东家这样说,西家又那样说,尽管我们看的头昏…

二进制部署Kubernetes集群——单Master和Node组件

前言 本文将介绍如何使用二进制文件手动搭建 Kubernetes v1.20 集群。通过这种方法,我们可以更好地理解 Kubernetes 的内部工作原理,并具备更大的灵活性和控制权。下面将逐步构建 Kubernetes 集群,并进一步了解其各个组件之间的交互和配置。…

Chirpstack配合网关与lora设备通信

之前的章节讲过chirpstack的下载和安装部署,这节算是后续,利用chirpstack和lora设备做通信, 首先开启chirpstack,并登录,登录完成之后需要添加网关和设备,添加网关也就是Gatway,所以点开左侧的G…

路由交换技术-静态路由 + 动态路由

实验目的与要求 1、掌握单臂路由配置直连路由 2、掌握静态路由配置方法 3、掌握动态路由配置方法 4、理解OSPF链路状态算法的含义 5、掌握DNS、web等网络服务的配置 实验原理与内容 原理: 1、静态路由与默认静态路由 路由器可通过两种方式获知远程网络: 手动 - 远程…

Springboot+Vue项目-基于Java+MySQL的高校专业实习管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组 AB路线

//bfs 1000100010不会超时 #include<bits/stdc.h> using namespace std; #define int long long const int n1e311; int a,b,c,h[n][n][12],k[4][2]{0,1,0,-1,1,0,-1,0}; char t[n][n]; struct s {int x,y,z,w; }; signed main() {ios::sync_with_stdio(false);cin.t…

iOS 主要语言切换问题

前言 上架时需要把主要语言切换成英文&#xff0c;存储时一直提示“因为您必须先为使用这种语言的每个版本提供所有必需的截屏”错误。 错误截图 解决方案&#xff1a; 1、增加英文的截图去审核&#xff0c;审核过了再切换主要语言 官方文档出处 END.

PhpStorm 激活

1、更改Hosts文件 Mac文件位置&#xff1a;/etc/host Windows文件位置&#xff1a;C:\Windows\System32\drivers\etc 将 0.0.0.0 www.jetbrains.com 添加到hosts文件末尾。 2、左下角Proxy settings 添加本地80端口代理 附一个激活码 UX394X3HLT-eyJsaWNlbnNlSWQiOiJVWDM…

Java入门基础学习笔记27——生成随机数

Random的使用&#xff1a;生成随机数。 随机数应用&#xff1a; 随机点名&#xff1a; 年会抽奖&#xff1a; 猜数字游戏&#xff1a; 密码学。 查看API文档&#xff1a; package cn.ensource.random;import java.util.Random;public class RandomDemo1 {public static voi…

每周题解:牛的旅行

题目描述 牛的旅行 农民John的农场里有很多牧区。有的路径连接一些特定的牧区。一片所有连通的牧区称为一个牧场。但是就目前而言&#xff0c;你能看到至少有两个牧区不连通。 现在&#xff0c;John想在农场里添加一条路径 ( 注意&#xff0c;恰好一条 )。对这条路径有这样的…

docker镜像容器常用命令

常用基础命令1、docker info #查看docker版本等信息 2、docker search jenkins #搜索jenkins镜像 3、docker history nginx #查看镜像中各层内容及大小,每层对应的dockerfile中的一条指令。 4、docker network ls #显示当前主机上的所有网络 5、docker logs nginx …

2025秋招Java还是c++?

一、我的编程经 说说我的编程经历&#xff0c;在C和Java之间我经历了几个阶段&#xff1a; 大学期间&#xff0c;我浅尝辄止地学习了一段时间的Java&#xff0c;但后来放弃了&#xff0c;开始学习C/C。本科毕业后&#xff0c;我选择攻读硕士学位&#xff0c;并一直专注于C的学…