这里面实现的功能很简单,和题目说到的一样:一堆DICOM的医学图像文件,统计这些都是谁的文件,年龄和性别,便于后面信息的查询。

三步走:

* 读取dicom文件,获取内部信息,包括ID,性别和年龄;
*
判断与之前的是否一样,若不一样,就保存,否则就跳过(我这里是CT,默认都是按序列处理好的,若是杂乱的,需要建议list将ID进行存储,之后查找ID是否已经存在,若不存在,则保存,否则跳过);
* 保存信息到CSV文件内。
代码如下:
def rename_temp(): img_PATH = r"./test" flag = "(1)" csvfile =
open(r'./patientID.csv', 'w', newline='') for path, dirs, files in
os.walk(img_PATH): for filename in files: # 遍历所有文件 num =
((filename.split("_")[1]).split(")")[0]).split("(")[-1] file_path =
os.path.join(path, filename) ds = pydicom.dcmread(file_path, force=True) #
读取dcm patient_id = str(ds.PatientID) patient_sex = str(ds.PatientSex)
patient_age = str(ds.PatientAge) if patient_id != flag: print(num)
print("{}***{}***{}".format(patient_id, patient_sex, patient_age)) writer =
csv.writer(csvfile) writer.writerow([num, patient_id,patient_sex,patient_age])
flag = patient_id else: pass csvfile.close()
这里不展示结果了,结果就是很简单,每一个人的信息,保存一行的一个CSV文件。记录,方便以后查找。

技术
©2019-2020 Toolsou All rights reserved,
Django个人博客搭建教程---时间分类归档你不知道的鸿蒙——HarmonyOS记录一次游戏私服getshell过程mysql联合索引详解百度网盘偷偷更新,终于实现免费不限速了! 全球第一免费开源ERP Odoo Ubuntu最佳开发环境独家首发分享uniapp页面传值总结Android中获取当前正在显示的Activity实例SQL Server 数据库词汇表Python垃圾回收与内存泄露