美文网首页
清除dicom文件中的患者个人信息

清除dicom文件中的患者个人信息

作者: 北欧森林 | 来源:发表于2021-06-22 18:55 被阅读0次

    利用pydicom清除某一子目录下所有dicom文件的中涉及患者隐私的数据:
    批量修改:

    import pydicom as dicom
    import glob
    import sys, getopt
    from pathlib import Path
    
    def clear_dcm(dcm_path):
        file_list=glob.glob(dcm_path+r'*.dcm',recursive=True)
        ds_list=[(dicom.dcmread(file),file) for file in file_list]
        for ds in ds_list:
            ds[0].InstitutionName='cccccc'
            ds[0].InstitutionAddress=''
            ds[0].OperatorName=''
            ds[0].ReferrringPhysicianName=''
            ds[0].PatientID=''
            ds[0].PatientName='anonymous'
            ds[0].PatientBirthDate=''
            ds[0].save_as(ds[1])
    
    file_dcm = "/Users/***/Test_dcm/"
    clear_dcm(file_dcm)
    

    修改单个文件:

    filename = "/Users/***/Test_dcm/***_02_0013_0016.dcm"
    ds = dicom.dcmread(filename)  # 读取dicom文件
    ds # 先查看一下
    
    ds.PatientName = '0000'
    ds.save_as("1.dcm") # 将修改后文件保存
    

    再次查看是否已经成功

    ds
    

    Update:

    刚总结好代码没有多久,就在李博士运营的公众号里的一篇推文里介绍有一款专门批量匿名化图像的软件,叫Dicom-Anonymizer 1.1.0. 使用软件来处理,会更便捷、迅速、轻松!

    参考资料

    利用glob和pydicom清理某一子目录下所有dicom文件的隐私数据
    pydicom编辑、删除DICOM文件中病人相关信息
    DICOM数据信息解析及Pydicom简单处理
    pydicom官方文档

    相关文章

      网友评论

          本文标题:清除dicom文件中的患者个人信息

          本文链接:https://www.haomeiwen.com/subject/ualpyltx.html