3D Slicer-最强大的开源医学图像分割工具简要概述

2024-02-07 18:04

本文主要是介绍3D Slicer-最强大的开源医学图像分割工具简要概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3D Slicer-最强大的开源医学图像分割工具简要概述

本系列涵盖从 3D Slicer 医学图像查看器的基础使用到高级自动分割扩展程序的内容(从入门到高阶!),具体包括软件安装、基础使用教程,自动分割扩展(totalsegmentator, monai label)快速标注数据。

我们将学习 3D Slicer 的基础知识,并熟悉其内置模块、扩展和图像处理工具。熟悉这些工具和 3D Slicer 工作流程将使我们能够了解本系列第 2 部分和第 3 部分中的自动分割扩展。

Tina姐:强烈建议做图像分割的宝宝们好好学习,跟着Tina姐涨姿势!本教程耗时一周完成,特别感谢我的老板给予技术支持。如果对你有帮助,转发支持一下🖖

这是该系列的第一篇,简要概述 3D Slicer 的布局和功能,这将使您能够快速学习 3D Slicer 中可用的基本工具。我们的目标是,在完成本文后,同学们将能够轻松地使用 3D Slicer,以便能够阅读本系列后面的文章:使用自动图像分割工具快速标注数据,用于机器学习管道和模型的开发。

1.什么是3D Slicer

3D Slicer 是一个免费的开源软件平台,用于医学、生物医学和其他 3D 图像的可视化、处理、分割、配准和分析。

Slicer 的功能包括:

  • 读/写DICOM图像和多种其他格式;
  • 三维图像、多边形网格和体积渲染的交互式可视化;
  • 手动编辑和标记图像;
  • 使用刚性和非刚性算法融合和共同配准数据;
  • 图像自动分割;
  • 跟踪图像引导程序的设备。

3d slicer

2.为什么使用3D Slicer

3D Slicer 旨在通过可定制的平台解决高级图像计算挑战,该平台由知识渊博的用户和开发人员组成的强大社区创建和维护,共同努力改善医学成像,详情见3D slicer社区。它可以轻松处理成像数据,因此可用于研究目的、手术计划等。

3D Slicer 有很多用途。但对于我们深度学习应用开发而言,最常用它来标注数据。为了让用户更快速的标注数据,它提供了基于深度卷积神经网络的自动图像分割算法,大大提升标注速度。

3D Slicer和自动图像分割工具使用户能够以各种文件格式分割和保存生物医学图像数据,以准备在机器学习和深度学习pipeline中使用的数据。

3.下载 3D Slicer

前往3D Slicer 官网页面下载 3D Slicer。

3d slicer 版本

3D Slicer 有 2 个版本 - 稳定版本和预览版本。预览版每天都会更新,并将测试最新的功能、我们将下载稳定版本

踩坑经验:

  • 最新的5.6.1版本在mac上安装后闪退,我用的5.7版本,但是此篇教程所有的配图用的4.13版本,界面有些许差别
  • 如果你要使用后面的自动扩展程序,建议在有GPU的电脑上安装(普通笔记本上会很慢,准确性也不高)

4.用户界面

下载并安装 3D Slicer 后,您就可以开始探索该软件了。

用户界面

先对界面有个简单的了解,我们后续用到某个功能时再仔细讲解。关于界面各个功能模块可以前往3D Slicer 用户界面文档查看

数据类型

医学成像数据有多种形式和表示形式,这可能会让刚刚进入该领域的人感到困惑。下图简要概述了使用 Slicer 时遇到的最典型的数据类型,尤其是在涉及分割的工作流程中。

数据类型

5.3D Slicer功能模块概述

所有的功能模块可在工具栏里找到,提供搜索,下拉选择,左右切换等功能。

功能模块概览

欢迎模块

“欢迎”模块 — 3D Slicer 的主页

data模块

充当中央数据组织中心。列出当前场景中的所有数据,并允许搜索、重命名、删除和移动等基本操作。

【插入GIF】

DICOM模块

导入和导出 DICOM 对象,例如图像、分割、结构集、放射治疗对象等。

volumes模块

用于更改三维数据的展示外观。与体渲染模块不同,不会渲染数据的 3D 表示。但是会更改2D 切片视图中的视觉外观(如窗宽窗位的调整)。

volume 模块

volume rendering模块

提供3D 图像数据的交互式可视化。

segmentations模块

编辑显示属性和导入/导出segmentation

segment editor模块

使用各种手动、半自动和自动工具对 3D 体积进行分割。这个或基于此模块的类似扩展(例如 MONAILabel)是您在分割时将花费大部分时间的地方。建议观看提供的教程或阅读文档,以熟悉各种可用的分割工具。即使在使用自动分割扩展时,您也将使用这些工具。它们使用起来非常简单。

除了这些常用模块外,3D Slicer 还提供了各种扩展的插件。

6.总结

3D slicer的大概情况就介绍到这里。它的功能非常强大,也没有必要说掌握每个功能的使用。要用什么功能学什么,现在B站,YOU管都有非常多的教学视频。

我们此次教程主要是学会用monai label和monai bundle做自动分割。

如果你要学习更多3D slicer的教程推荐以下视频

  • YOU管:放链接有风险,根据截图自己搜。 包括3D Slicer 基础知识的快速教程系列(11 个视频 - 55 分钟)涵盖了 3D Slicer 的基础知识、工具、外观和使用方法
  • B站教程有Li的视频教程。一共24小节,可选学。

下一篇中,我们将学习如何使用3D slicer自动分割扩展
segment editor

这篇关于3D Slicer-最强大的开源医学图像分割工具简要概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/688513

相关文章

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni