1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表

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

时间:2019-10-16 20:41:27

相关推荐

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

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

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

import numpy as npimport mathimport pydicomimport osimportmatplotlib.pyplotaspltimport 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=[tfortintempift.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']

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

推荐阅读

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

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

与中国物理师一同成长

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。