Dicom 파일 익명화
import os
import pydicom
import glob
from tqdm import tqdm
import time
def anotymization(target_fname, save_fname):
try:
Metadata = pydicom.filereader.dcmread(str(target_fname))
except:
return 'file reading error'
try:
Metadata.PatientName = 'Anonymized'
Metadata.PatientBirthDate = 'Anonymized'
Metadata.PatientSex = 'Anonymized'
Metadata.OtherPatientIDs = 'Anonymized'
Metadata.PatientAge = 'Anonymized'
Metadata.RequestingPhysician = 'Anonymized'
Metadata.InstitutionName = 'Anonymized'
Metadata.InstitutionAddress = 'Anonymized'
Metadata.ReferringPhysicianName = 'Anonymized'
Metadata.StationName = 'Anonymized'
Metadata.PhysiciansOfRecord = 'Anonymized'
Metadata.StudyDescription = 'Anonymized'
Metadata.PatientWeight = 'Anonymized'
Metadata.StudyDate = 'Anonymized'
Metadata.SeriesDate = 'Anonymized'
Metadata.AcquisitionDate = 'Anonymized'
Metadata.ContentDate = 'Anonymized'
Metadata.AccessionNumber = 'Anonymized'
Metadata.save_as(str(save_fname))
except:
return print(save_fname + 'error')
target_path = os.path.join('./before' + os.sep)
result_path = os.path.join('./after' + os.sep)
dcm_list = glob.glob(target_path + '*.dcm')
for target in tqdm(dcm_list):
result_fname = result_path + target.split(os.sep)[-1]
anotymization(target, result_fname)