python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表

在《利用Python打开DICOM CT文件》一文中,我们利用pydicom.dcmread()读取了CT图像。本文中我们将修改load_scan()函数来读取RTstructure文件并获取勾画列表

1. 打开Jupyter notebook,导入需要的科学包

import numpy as npimport mathimport pydicomimport osimport matplotlib.pyplot as pltimport scipy.ndimagefrom skimage import measure, draw

2. 在load_scan()加入t.Modality == 'RTSTRUCT'作为判断读取RTstructure文件

def load_scan(path):    temp = [pydicom.dcmread(path + f) for f in os.listdir(path)]    RT = [t for t in temp if t.Modality == 'RTSTRUCT']    slices = [t for t in temp if t.Modality == 'CT']    slices.sort(key = lambda x: int(x.InstanceNumber))    try:        slice_thickness = np.abs(slices[0].ImagePositionPatient[2] - slices[1].ImagePositionPatient[2])    except:        slice_thickness = np.abs(slices[0].SliceLocation - slices[1].SliceLocation)            for s in slices:        s.SliceThickness = slice_thickness            return slices, RT

3. 对RTstructure文件下的ROI名称进行逐个读取。

def get_roi_list(RTcontour):    name = []    for s in RTcontour.StructureSetROISequence:        name.append(s.ROIName)

StructureSetROISequence下的ROIName存储了该勾画的名称信息

4. 以HNSCC_01文件夹下的CT和RTstructure文件为例。后台回复“HNSCC01”获取相关文件

# open CT_lung datasetdir_path_ct = './Data/HNSCC_01/'patient_ct, rtStructure = load_scan(dir_path_ct)

5. 利用get_roi_list()获取勾画列表

get_roi_list(rtStructure[0])>> ['Marked Isocenter', 'Final Isocenter', 'SCV Calc Pt', 'LAO MNB Isocenter', 'CTV 57', 'CTV 57 Sub', 'PTV 57', 'CTV 60', 'CTV 60 Sub', 'PTV 60', 'CTV 70', 'CTV 70 Sub', 'PTV 70', 'GTV', 'GTV Nodes', 'Cord', 'Cord_EXPANDED', 'Brainstem', 'Brainstem_EXPANDED', 'Rt Parotid', 'Lt Parotid', 'Mandible', 'Auditory <50', 'External', 'Contract', 'Ring', 'Bridge', 'Total', 'Avoid', 'Oral Avoid', 'C5C6']

看完本文有收获?请分享给更多人

推荐阅读

3f3e72395843b142cc2cd941d8e6ace5.png

0c898d69e7697f8d27a2f54b351eeb97.png

71b30a2b47dab38ca0476c3bcf679135.png

未经授权不得转载如有需要请添加助手微信PI3_141592653

6b6dda888dd8820f0a6dee14fe373522.png

b446ba3a1d3791a3712af8e287aa64c8.png

关注「质子重离子放疗」公众号

与中国物理师一同成长

8ea284af9d42f0a20abe75241cf997d6.png

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

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

相关文章

Ubuntu中安装、生成、导入、导出、Python3虚拟环境

1.安装Ubuntu虚拟环境、以及可以支持虚拟环境的模块 sudo apt install virtualenv sudo apt install virtualenvwrapper 安装完成之后&#xff0c;进入home目录&#xff0c;输入命令ls -al查看是否出现.virtualenvs目录&#xff0c;如果没有则手动创建.virtualenvs目录 重要…

如何拷贝工程_如何将premiere的工程及素材文件打包?

我们在剪辑视频的时候经常会遇到素材丢失的情况&#xff0c;或者说需要换地方或换电脑继续剪辑。特别是以前做的视频现在需要修改一些地方&#xff0c;然后打开工程文件会发现素材丢失&#xff0c;如图&#xff1a;这种情况要不就是素材已经删除&#xff0c;要不就是素材改变了…

c语言编写一个菜单系统_一招教你,轻松解决C语言编写一个正整数的所有因子!...

这个实例是一个能提高分析能力的实例&#xff0c;这个实例主要用到for语句&#xff0c;关键是如何确定其中变量的范围。求一个正整数的所有因子先来看看编程结果演示&#xff1a;编程演示输出结果编程如下:#include/*引用预处理命令&#xff0c;预处理包含stdio.h的头文件*/mai…

第四次Scrum编码冲刺!!!!

第四次Scrum编码冲刺&#xff01;&#xff01;&#xff01;&#xff01; 一、总体任务&#xff1a; 本次冲刺是完成对图书馆管理系统的最后三个功能的实现------管理员对用户授权、用户注销和用户查询 二、个人任务及完成情况&#xff1a; 本人本次的任务是实现对删除用户功能以…

Spring Cloud Edgware新特性之八:Zuul回退的改进

为什么80%的码农都做不了架构师&#xff1f;>>> Spring Cloud Edgware对Hystrix回退的逻辑进行了一些改进。本文将信息探讨新旧版本的回退操作&#xff0c;并分析的原因及改进后的优势。 Dalston及更低版本 对于Dalston及更低版本&#xff0c;要想为Zuul提供回退&a…

idea插件导出_Intellij IDEA 中我一直在用的几个插件

提前声明一下&#xff0c;今天这篇文章是在我家的那台 Mac 机子上写的&#xff0c;但是文中使用的快捷键还是主要针对于 Windows 平台「由于我的大多数读者在使用该系统&#xff0c;我是有多么爱你们&#xff5e;&#xff5e;&#xff5e;」。接上一篇《谈谈我与 Intellij IDEA…

Python基础学习五 内置模块

time 模块 1 >>> import time2 >>> time.time()3 1491064723.8086694 >>> # time.time()返回当前时间的时间戳timestamp(定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数)的方法,无参数5 >>> time.asctime()6 Sun Apr 2…

Sublime Text3使用Package Control 报错There Are No Packages Available For Installation

在使用sublime时&#xff0c;有时候我们希望将代码复制出来后仍然是高亮显示&#xff0c;这样我们便需要安装SublimeHighLight插件&#xff0c;在安装SublimeHighLight插件之前&#xff0c;我们应该先安装Package Control插件&#xff01; 1、Package Control插件作用&#xff…

2018-1-27:内存的划分

内存的划分 1.寄存器 2.本地方法区 3.方法区 4.栈内存 存储的都是局部变量&#xff0c;变量的作用域一结束&#xff0c;该变量就立即释放 5.堆内存 存储的是对象&#xff0c;即凡是new的都在堆中 特点&#xff1a;   1.每一个实体都有首地址 2.堆内存中每一个变量都有默认初始…

线程2---异步1

在Java中什么是同步&#xff1f;什么是异步&#xff1f;对于这两个概念我们必须要明确。只有明确这两个概念&#xff0c;才会在明确在什么场景下使用同步以及异步。 在这里我可以形象的举个例子来辨明这两个概念&#xff1a; 1.同步与异步同步和异步关注的是消息通信机制 (sync…

mysql通常使用语句_Mysql 常用SQL语句集锦

基础篇//查询时间&#xff0c;友好提示$sql "select date_format(create_time, %Y-%m-%d) as day from table_name";//int 时间戳类型$sql "select from_unixtime(create_time, %Y-%m-%d) as day from table_name";//一个sql返回多个总数$sql "sel…

为什么你需要设计和维护一套自我移动标准?

在一个很长的调研日的休息时分&#xff0c;我在同一个客户谈一个项目&#xff0c;在这个项目中&#xff0c;我正为一个全球经济公司开发一个iOS标准。他们的第一反应是这样的&#xff1a;“什么&#xff1f;你在开发Apple iOS以外的标准&#xff1f;那还要开发什么&#xff1f;…

数据挖掘资料

https://blog.csdn.net/baimafujinji/article/details/53269040 在2006年12月召开的 IEEE 数据挖掘国际会议上&#xff08;ICDM&#xff0c; International Conference on Data Mining&#xff09;&#xff0c;与会的各位专家选出了当时的十大数据挖掘算法&#xff08; top 10 …

如何进行个人知识管理和提高自己能力?

21世纪是一个知识爆炸的世纪&#xff0c;知识爆炸是指人类创造的知识,主要是自然科学知识,在短时期内以极高的速度增长起来。是人们对当前大量出现并飞速发展的各种知识现象所进行的夸张和描述。有人综合计算,全世界的知识总量,七到十年翻一番。这就是风行全球的摩登名词的意思…

redis服务器端和客户端启动

服务器端 sudo redis-server /etc/redis/redis.conf 指定加载的配置文件 ps -ef|grep redis 查看redis服务器进程 sudo kill -9 pid 杀死redis服务器 连接特定IP的redis&#xff1a;

超级丑数

题目&#xff1a; 写一个程序来找第 n 个超级丑数。超级丑数的定义是正整数并且所有的质数因子都在所给定的一个大小为 k 的质数集合内。比如给你 4 个质数的集合 [2, 7, 13, 19], 那么 [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] 是前 12 个超级丑数。注意事项&#xff1a;…