使用python(pydicom)读取Dicom文件并且转换成png 您所在的位置:网站首页 0885b5af848d16bffc221fb84b18a39cpng 使用python(pydicom)读取Dicom文件并且转换成png

使用python(pydicom)读取Dicom文件并且转换成png

2023-08-22 20:12| 来源: 网络整理| 查看: 265

这篇主要讲怎么处理dicom格式的医学影像文件,并且转换成png,这样利于我们对图像进行处理。

pydicom 目前取代了17年前的dicom库,更加的便捷

导入需要的模块,如果没安装,都可以用pip进行安装。SimpleITK、pydicom是操作医学影像的模块。

import os import SimpleITK import pydicom import numpy as np import cv2 from tqdm import tqdm def is_dicom_file(filename): #判断某文件是否是dicom格式的文件 file_stream = open(filename, 'rb') file_stream.seek(128) data = file_stream.read(4) file_stream.close() if data == b'DICM': return True return False def load_patient(src_dir): ''' 读取某文件夹内的所有dicom文件 :param src_dir: dicom文件夹路径 :return: dicom list ''' files = os.listdir(src_dir) slices = [] for s in files: if is_dicom_file(src_dir + '/' + s): instance = pydicom.read_file(src_dir + '/' + s) slices.append(instance) try: slice_thickness = np.abs(slices[0].ImagePositionPatient[2] - slices[1].ImagePositionPatient[2]) except: slice_thickness = np.abs(slices[0].SliceLocation - slices[1].SliceLocation) for s in slices: s.SliceThickness = slice_thickness return slices def get_pixels_hu_by_simpleitk(dicom_dir): ''' 读取某文件夹内的所有dicom文件 :param src_dir: dicom文件夹路径 :return: image array ''' reader = SimpleITK.ImageSeriesReader() dicom_names = reader.GetGDCMSeriesFileNames(dicom_dir) reader.SetFileNames(dicom_names) image = reader.Execute() img_array = SimpleITK.GetArrayFromImage(image) img_array[img_array == -2000] = 0 return img_array if __name__ == '__main__': #dicom文件目录 dicom_dir = 'dcm/' # 读取dicom文件的元数据(dicom tags) slices = load_patient(dicom_dir) print('The number of dicom files : ', len(slices)) # 提取dicom文件中的像素值 image = get_pixels_hu_by_simpleitk(dicom_dir) for i in tqdm(range(image.shape[0])): #输出png文件目录 img_path = "dcm_2_png/img_" + str(i).rjust(4, '0') + "_i.png" org_img =image[i]*20 # 保存图像数组 cv2.imwrite(img_path, org_img )

借鉴修改自DICOM转PNG

将DICOM库改为了pydicom库,路径稍作修改导出在代码同一目录下(导出前手动建目录)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有