[格式转换 DCM2PNG| Python]

任务描述:

        本文旨在将该CT文件夹下的所有文件中DICOM_anno里的.dcm文件转换成png文件并存储在与DICOM_anno同一路径下的images文件夹中。

        

任务代码如下:

        

import os
import SimpleITK as sitk
import numpy as np
import matplotlib.pyplot as plt

# 定义输入和输出文件夹路径
input_base_path = "D:\\深度学习pytorch课程相关代码练习\\数据集\\医学图像分割数据集\\CHAOS\\CHAOS_Train\\Train_Sets\\CT"
output_folder = "images"


# 遍历输入路径下的所有子文件夹
for subdir, dirs, files in os.walk(input_base_path):
    # 查找名为"DICOM_anon"的文件夹
    if "DICOM_anon" in dirs:
        dicom_anon_path = os.path.join(subdir, "DICOM_anon")
        # 遍历"DICOM_anon"文件夹中的所有.dcm文件
        for filename in os.listdir(dicom_anon_path):
            if filename.endswith(".dcm"):
                dcm_file_path = os.path.join(dicom_anon_path, filename)
                # 使用SimpleITK读取DICOM文件
                image = sitk.ReadImage(dcm_file_path)
                # 将DICOM图像转换为PNG格式
                png_image = sitk.GetArrayFromImage(image)
                # 生成输出PNG文件的路径和名称
                output_file_path = os.path.join(subdir, output_folder, os.path.splitext(filename)[0] + ".png")
                # 假设png_image是一个形状为(1, height, width)的三维数组
                # 如果png_image实际上是一个二维数组,那么下面的转换是不必要的
                if png_image.ndim == 3 and png_image.shape[0] == 1:
                    png_image = png_image.squeeze()  # 移除单维度条目,将三维转换为二维
                plt.imsave(output_file_path, png_image, cmap='gray')

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值