TotalSegmentator---针对CT/MRI数据的自动分割

news2024/9/22 19:36:52

很高兴在雪易的CSDN遇见你 

VTK技术爱好者 QQ:870202403      公众号:VTK忠粉


前言

本文分享开源软件TotalSegmentator,该开源项目针对CT/MRI数据类型,对主要的解剖学结构进行自动分割,并且被集成到MITK中。希望对各位小伙伴有所帮助!

感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!

你的点赞就是我的动力(^U^)ノ~YO


目录

前言

1. TotalSegmentator介绍

2. TotalSegmentator下载&安装

3. TotalSegmentator的使用

3.1 CT/MR数据分割

3.2 子任务

3.4 高级设置

3.3 CT分割类别

3.4 MR分割类别

结论:


1. TotalSegmentator介绍

        TotalSegmentator由巴塞尔大学医院研究与分析部门创建,可以针对任何CT或MR数据进行主要解剖结构进行分割。它基于广泛的CT/MRI的训练数据(不同的扫描设备,不同的机构,不同的协议等),因此在大部分数据上都有很好的结果。

CT数据集:

Dataset with segmentations of 117 important anatomical structures in 1228 CT images (zenodo.org)

MR数据集:

Dataset with segmentations of 117 important anatomical structures in 1228 CT images (zenodo.org)

支持的CT分类如下:

 支持的MR分类如下:

2. TotalSegmentator下载&安装

GitHub地址:GitHub - wasserth/TotalSegmentator: Tool for robust segmentation of >100 important anatomical structures in CT and MR images

TotalSegmentator安装依赖于Python & Pytorch

Pytorch的安装教程 

TotalSegmentator安装

        安装命令: pip install TotalSegmentator   

        安装命令: pip install TotalSegmentator==2.1.0

安装成功标志

TotalSegmentator使用了诸多我们熟悉的第三方库,如opencv, simple-itk, vtk 等。 

3. TotalSegmentator的使用

3.1 CT/MR数据分割

TotalSegmentator -i ct.nii.gz -o segmentations

TotalSegmentator -i mri.nii.gz -o segmentations --task total_mr

注意:输入可以时Nifti数据格式,或文件夹或压缩文件,需要包含一个患者的全部DICOM切片。如果在CPU上进行分割,可以使用 --fast 或  --roi_subset 来提高效率。

3.2 子任务

分割时的选项

  • total: 默认分割包括117个主类。用于CT数据。
  • total_mr: 默认分割包括56个主类,用于MR数据
  • lung_vessels: 肺血管,支气管
  • body: 身体,躯干,四肢,皮肤
  • cerebral_bleed: 颅内出血*
  • hip_implant: 髋关节假体*
  • coronary_arteries: 冠状动脉*
  • pleural_pericard_effusion: 胸腔积液, 心包积液*

注意:带*的表示采用小的数据集进行训练的模型,可能分割效果没那么好。

使用方法:

TotalSegmentator -i ct.nii.gz -o segmentations -ta <task_name>

3.4 高级设置

  • --device: Choose cpu or gpu or gpu:X (e.g., gpu:1 -> cuda:1)
  • --fast: For faster runtime and less memory requirements use this option. It will run a lower resolution model (3mm instead of 1.5mm).
  • --roi_subset: Takes a space-separated list of class names (e.g. spleen colon brain) and only predicts those classes. Saves a lot of runtime and memory. Might be less accurate especially for small classes (e.g. prostate).
  • --preview: This will generate a 3D rendering of all classes, giving you a quick overview if the segmentation worked and where it failed (see preview.png in output directory).
  • --ml: This will save one nifti file containing all labels instead of one file for each class. Saves runtime during saving of nifti files. (see here for index to class name mapping).
  • --statistics: This will generate a file statistics.json with volume (in mm³) and mean intensity of each class.
  • --radiomics: This will generate a file statistics_radiomics.json with the radiomics features of each class. You have to install pyradiomics to use this (pip install pyradiomics).

3.3 CT分割类别

IndexTotalSegmentator nameTA2 name
1spleen
2kidney_right
3kidney_left
4gallbladder
5liver
6stomach
7pancreas
8adrenal_gland_rightsuprarenal gland
9adrenal_gland_leftsuprarenal gland
10lung_upper_lobe_leftsuperior lobe of left lung
11lung_lower_lobe_leftinferior lobe of left lung
12lung_upper_lobe_rightsuperior lobe of right lung
13lung_middle_lobe_rightmiddle lobe of right lung
14lung_lower_lobe_rightinferior lobe of right lung
15esophagus
16trachea
17thyroid_gland
18small_bowelsmall intestine
19duodenum
20colon
21urinary_bladder
22prostate
23kidney_cyst_left
24kidney_cyst_right
25sacrum
26vertebrae_S1
27vertebrae_L5
28vertebrae_L4
29vertebrae_L3
30vertebrae_L2
31vertebrae_L1
32vertebrae_T12
33vertebrae_T11
34vertebrae_T10
35vertebrae_T9
36vertebrae_T8
37vertebrae_T7
38vertebrae_T6
39vertebrae_T5
40vertebrae_T4
41vertebrae_T3
42vertebrae_T2
43vertebrae_T1
44vertebrae_C7
45vertebrae_C6
46vertebrae_C5
47vertebrae_C4
48vertebrae_C3
49vertebrae_C2
50vertebrae_C1
51heart
52aorta
53pulmonary_vein
54brachiocephalic_trunk
55subclavian_artery_right
56subclavian_artery_left
57common_carotid_artery_right
58common_carotid_artery_left
59brachiocephalic_vein_left
60brachiocephalic_vein_right
61atrial_appendage_left
62superior_vena_cava
63inferior_vena_cava
64portal_vein_and_splenic_veinhepatic portal vein
65iliac_artery_leftcommon iliac artery
66iliac_artery_rightcommon iliac artery
67iliac_vena_leftcommon iliac vein
68iliac_vena_rightcommon iliac vein
69humerus_left
70humerus_right
71scapula_left
72scapula_right
73clavicula_leftclavicle
74clavicula_rightclavicle
75femur_left
76femur_right
77hip_left
78hip_right
79spinal_cord
80gluteus_maximus_leftgluteus maximus muscle
81gluteus_maximus_rightgluteus maximus muscle
82gluteus_medius_leftgluteus medius muscle
83gluteus_medius_rightgluteus medius muscle
84gluteus_minimus_leftgluteus minimus muscle
85gluteus_minimus_rightgluteus minimus muscle
86autochthon_left
87autochthon_right
88iliopsoas_leftiliopsoas muscle
89iliopsoas_rightiliopsoas muscle
90brain
91skull
92rib_left_1
93rib_left_2
94rib_left_3
95rib_left_4
96rib_left_5
97rib_left_6
98rib_left_7
99rib_left_8
100rib_left_9
101rib_left_10
102rib_left_11
103rib_left_12
104rib_right_1
105rib_right_2
106rib_right_3
107rib_right_4
108rib_right_5
109rib_right_6
110rib_right_7
111rib_right_8
112rib_right_9
113rib_right_10
114rib_right_11
115rib_right_12
116sternum
117costal_cartilages

3.4 MR分割类别

IndexTotalSegmentator nameTA2 name
1spleen
2kidney_right
3kidney_left
4gallbladder
5liver
6stomach
7pancreas
8adrenal_gland_rightsuprarenal gland
9adrenal_gland_leftsuprarenal gland
10lung_left
11lung_right
12esophagus
13small_bowelsmall intestine
14duodenum
15colon
16urinary_bladder
17prostate
18sacrum
19vertebrae
20intervertebral_discs
21spinal_cord
22heart
23aorta
24inferior_vena_cava
25portal_vein_and_splenic_veinhepatic portal vein
26iliac_artery_leftcommon iliac artery
27iliac_artery_rightcommon iliac artery
28iliac_vena_leftcommon iliac vein
29iliac_vena_rightcommon iliac vein
30humerus_left
31humerus_right
32fibula
33tibia
34femur_left
35femur_right
36hip_left
37hip_right
38gluteus_maximus_leftgluteus maximus muscle
39gluteus_maximus_rightgluteus maximus muscle
40gluteus_medius_leftgluteus medius muscle
41gluteus_medius_rightgluteus medius muscle
42gluteus_minimus_leftgluteus minimus muscle
43gluteus_minimus_rightgluteus minimus muscle
44autochthon_left
45autochthon_right
46iliopsoas_leftiliopsoas muscle
47iliopsoas_rightiliopsoas muscle
48quadriceps_femoris_left
49quadriceps_femoris_right
50thigh_medial_compartment_left
51thigh_medial_compartment_right
52thigh_posterior_compartment_left
53thigh_posterior_compartment_right
54sartorius_left
55sartorius_right
56brain

结论:

感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!

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

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

相关文章

GB28181设备如何添加

简介 此篇描述视频网关&#xff08;中间件&#xff09;接入大华、海康、ONVIF设备&#xff08;NVR、摄像头&#xff09;、GB28181设备步骤和流程。 阅读本文档之前建议先阅览视频网关&#xff08;中间件&#xff09;用户使用手册。 接入方式和说明 视频网关&#xff08;中间…

为什么Windows操作系统一定要每年重装一次

在日常使用中&#xff0c;我们的电脑保存了无数的数据&#xff0c;安装和卸载程序&#xff0c;在这个过程中变得越来越慢&#xff0c;越来越容易出现问题。除了升级电脑硬件之外&#xff0c;有一个简单的办法可以让我们的电脑焕然一新&#xff1a;每年重新安装一次操作系统。 …

NFS综合项目

现有主机 node01 和 node02&#xff0c;完成如下需求&#xff1a; 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02 主机提供的NFS…

七人共赢拼团模式的深度剖析与互助精神重塑

在当今电商的浩瀚星海中&#xff0c;七人共赢拼团模式以其创新的合作框架与激励体系&#xff0c;正引领着消费与商业的新潮流。这一模式不仅优化了购物体验&#xff0c;更深刻诠释了互助共赢的核心理念。以下&#xff0c;我们将从直推奖励、自动补齐机制及团队荣耀奖三个方面&a…

Markdown+Sphinx+Read_the_Docs的一些技巧

MarkdownSphinxRead_the_Docs可以用来构建个人主页或知识教程&#xff0c;搭建方法网上很多&#xff0c;可以参考这个大佬的文章。本文主要讲述一些技巧&#xff0c;可以让项目更加完美。 本人运行环境是WSL2 Ubuntu 22.04&#xff0c;Sphinx版本是7.3.7 文章目录 一 工程搭建…

生物打印后的生物力学过程

生物打印后的生物力学过程 3D生物打印技术在组织工程领域展现出巨大的潜力&#xff0c;但打印后组织的生物力学特性对其最终成功至关重要。本文将详细介绍打印后组织的生物力学特性及其在组织工程中的应用。 1. 打印后水凝胶交联 原位交联可以在生物打印过程中提供足够的机械…

cdn中配置ssl证书

##red## &#x1f534; 大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff0c;雄雄的小课堂。 SSL KEY 这个里面放的是&#xff1a;private.pem文件中的内容 SSL PEM 这个里面放的是&#xff1a;fullchain.crt文件中的内容&#xff0c;注意&#xff0c;这个…

Python 100道基础入门练习题!附解析

看书&#xff0c;看视频都可以帮助你学习代码&#xff0c;但都只是辅助作用&#xff0c;学好 Python&#xff0c;最重要的还是 多敲代码&#xff0c;多刷题。 不知道怎么找题刷题的小伙伴&#xff0c;可以看看这里今天带来了100道练习题。覆盖了基本语法&#xff0c;数据结构&…

【JavaWeb程序设计】Servlet(一)

目录 一、客户端通过login.jsp发出登录请求&#xff0c;请求提交到loginServlet处理。 1. 运行截图 2. 登录页面&#xff08;login.jsp&#xff09; 3. loginServlet 4. 登录成功页面&#xff08;loginSuccess.jsp&#xff09; 5. 登录失败页面&#xff08;loginFail.jsp…

探索一个精美的商品橱窗布局:HTML与CSS的魔法

在今天的文章中&#xff0c;我们将一起探索一个精心设计的商品橱窗布局&#xff0c;这个布局完全通过HTML和CSS来实现。这个布局不仅美观&#xff0c;而且功能强大&#xff0c;非常适合用于展示商品或任何需要网格化布局的内容。 效果图&#xff1a; 一、HTML结构 首先&#…

tableau标靶图,甘特图与瀑布图绘制 - 9

标靶图&#xff0c;甘特图与瀑布图 1. 标靶图绘制1.1 筛选器筛选日期1.2 条形图绘制1.3 编辑参考线1.4 设置参考线1.5 设置参考区间1.6 四分位设置1.7 其他标靶图结果显示 2.甘特图绘制2.1 选择列属性2.2 选择列属性2.3 创建新字段2.4 设置天数大小及颜色 3. 瀑布图绘制3.1 she…

【案例】python集成OCR识别工具调研

目录 一、前言二、Tesseract_OCR2.1、安装过程2.2、python代码使用三、PaddleOCR3.1、安装过程3.2、python代码使用四、EasyOCR五、ddddOCR六、CnOCR一、前言 因项目需要OCR识别能力,且要支持私有化部署。本文将对比市场一些开源的OCR识别工具,从中选择适合项目需要的OCR,且…

基于主成分分析PCA的一维时间序列信号降噪方法(Python)

主成分分析PCA是面向模式分类的特征提取最典型的工具&#xff0c;是满足上述映射准则的一种数据压缩的方法。作为经典的特征提取方法&#xff0c;是在不减少原始数据所包含的内在信息前提下&#xff0c;将原始数据集转化为由维数较少的“有效”特征成分来表示&#xff0c;使其在…

极狐Gitlab使用(1)

目录 续接上篇&#xff1a;极狐Gitlab安装部署-CSDN博客 1. 关闭注册功能 2. 创建群组 3. 创建用户 5. 邀请成员到群组 6. 设置导入导出项目源 7. 通过gitee导入库 8. 通过仓库URL导入 9. 自创建项目 10. 默认分支main的权限 11. 使用普通用户进入自建库 12. 创建用…

深入理解 go map

什么是 map 维基百科里这样定义 map: In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection. 简单…

前端挑战:Tkinter布局与设计【三种布局】

前端挑战:Tkinter布局与设计【三种布局】 文章目录 前端挑战:Tkinter布局与设计【三种布局】前言Frame 窗口组件代码效果Tkinter的布局grid 网格布局效果展示:代码讲解pack 布局基本使用左右布局place 布局代码预览前言 作为一个前端开发,习惯性的用HTML去解决客户端的问题…

【Linux 线程】线程的基本概念、LWP的理解

文章目录 一、ps -L 指令&#x1f34e;二、线程控制 一、ps -L 指令&#x1f34e; &#x1f427; 使用 ps -L 命令查看轻量级进程信息&#xff1b;&#x1f427; pthread_self() 用于获取用户态线程的 tid&#xff0c;而并非轻量级进程ID&#xff1b;&#x1f427; getpid() 用…

卡尔曼滤波中dx更新公式

卡尔曼滤波是一种有效的递归滤波器&#xff0c;用于估计线性动态系统的状态。在标准的卡尔曼滤波中&#xff0c;系统和观测模型都是线性的&#xff0c;而在扩展卡尔曼滤波&#xff08;EKF&#xff09;和迭代卡尔曼滤波&#xff08;IKF&#xff09;中&#xff0c;系统或观测模型…

最受老板欢迎的监控员工电脑软件推荐!(6款真实测评)

你有没有遇到以下这种情况&#xff1a; 早晨刚到公司打开电脑&#xff0c;老板对着旁边同事大发雷霆突然发问&#xff1a; 小丽&#xff0c;你昨天上班期间刷抖音了&#xff1f; 你吓得瑟瑟发抖&#xff0c;老板咋知道的呢&#xff1f; 跟其他同事讨论才晓得&#xff0c;原…

【人生苦短,我学 Python】(12)函数(下)

Python 所有文章传送门【Python】所有文章传送门 目录 简述 / 前言1. 函数的返回值2. 变量2.1 局部变量2.2. 全局变量2.3 局部与全局变量混合使用 4. 匿名函数&#xff08;Lamda表达式&#xff09;5. 函数装饰器6. 递归函数7. 函数注释&#xff08;文档字符串&#xff09;与注解…