本案例取自PASC Online系统一部分,由北京中视康恺科技有限公司开发的医疗云影像SaaS系统,通过案例练习,复习循环处理,异常处理,文件操作等知识,同时使用第三库对数据处理及图片生成.(直接贴出代码)
# -*- coding: utf-8 -*-
import pydicom
import os
def load_scan(path):#加载DICOM数据
slices = [pydicom.read_file(path + '/' + s) for s in os.listdir(path)]
return slices
INPUT_FOLDER = "patient32/P32dicom"#指定需要处理数据路径
first_patient = load_scan(INPUT_FOLDER )#调用函数,处理数据
print(first_patient[0])
print(first_patient[0].dir() )
##输出列表:['AccessionNumber', 'Acquisition....这些属性内容构成用户CT全部数据
print(first_patient[0].dir("pat") )
##输出列表部分属性名,包含Pat字符串
print(first_patient[0].PatientName )
##最后一行输出60^DE,为用户姓名(数据已做脱敏处理)
##原始二进制文件
#pixel_bytes = first_patient[0].PixelData
##CT值组成了一个矩阵
#pix = first_patient[0].pixel_array
##读取显示图片 (心脏切片截图图像)
import pylab
pylab.imshow(first_patient[0].pixel_array, cmap=pylab.cm.bone)
pylab.show()
###########