python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表
生活随笔
收集整理的這篇文章主要介紹了
python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在《利用Python打開DICOM CT文件》一文中,我們利用pydicom.dcmread()讀取了CT圖像。本文中我們將修改load_scan()函數(shù)來讀取RTstructure文件并獲取勾畫列表
1. 打開Jupyter notebook,導入需要的科學包
import numpy as npimport mathimport pydicomimport osimport?matplotlib.pyplot?as?pltimport scipy.ndimagefrom skimage import measure, draw2. 在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, RT3. 對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']看完本文有收獲?請分享給更多人
推薦閱讀
未經(jīng)授權(quán)不得轉(zhuǎn)載如有需要請?zhí)砑又治⑿?/strong>PI3_141592653關注「質(zhì)子重離子放療」公眾號
與中國物理師一同成長
總結(jié)
以上是生活随笔為你收集整理的python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos os u盘启动盘_Ultr
- 下一篇: python初中必背语法_一些pytho