import os
import pydicom
import imageio
import argparse
import numpy as np
def dcm2jpg(dcm_dir_path, save_dir_path):
'''
dir_path: where dir 'str'
todo: dcm file to jpg format
'''
if not os.path.exists(save_dir_path):
os.mkdir(save_dir_path)
for root, dirs, files in os.walk(dcm_dir_path):
if files:
save_path = os.path.join(save_dir_path, os.path.basename(root))
if not os.path.exists(save_path):
os.mkdir(save_path)
for file in files:
ds = pydicom.read_file(os.path.join(root,file))
img = ds.pixel_array
# gray clipping
img = np.clip(img, -28, 200)# better to show with brain ww wl
try:
imageio.imwrite(os.path.join(save_path, file.replace('dcm','jpg')), img)
except AttributeError as e:
print('error data is {}'.format(file))
print('convert ending')
if __name__ == '__main__':
dcm_dir_path = r'F:\CTBrain\brain_artifact\dcm'
save_dir_path = r'F:\CTBrain\brain_artifact\jpg'
dcm2jpg(dcm_dir_path, save_dir_path)
Python pydicom imageio 将dcm存成jpg格式
最新推荐文章于 2023-08-12 20:43:50 发布