如何使用 pydicom.read_file() 和 cv2.imread() 一次读取多个 DICOM 和 PNG 文件?

How does one read multiple DICOM and PNG files at once using pydicom.read_file() and cv2.imread()?

目前正在研究用于 MR 图像中肾脏分割的完全 CNN。有 40 张图像及其真实标签,试图加载所有图像以进行预处理。

为此项目使用 Google Colab,并安装了最新版本的 pydicom 和 pip。目前已将 Google 驱动器安装到 Colab 程序,下面的代码分别显示了 pydicom.read_file() 和 cv2.imread() 调用中图像及其遮罩的正确路径。

但是,当我使用“/../IMG*.dcm”或“/../IMG*.png”文件路径(这应该是合法的?)时,我收到 "FileNotFoundError"如下所列。但是,当我指定特定的 .dcm 或 .png 图像时,pydicom.read_file() 和 cv2.imread() 调用功能非常正常。

关于如何解决这个问题有什么建议吗?我在加载数据和预处理方面遇到了很多困难,但一旦克服了这些初步障碍,模型架构就准备好了。


 #import data as data
    import pydicom
    import numpy as np
    images= pydicom.read_file("/content/drive/My Drive/CHOAS_Kidney_Labels/Training_Images/T1DUAL/IMG*.dcm");
    numpyArray = images.pixel_array
    masks= cv2.imread("/content/drive/My Drive/CHOAS_Kidney_Labels/Ground_Truth_Training/T1DUAL/IMG*.png");

-----> FileNotFoundError: [Errno 2] 没有那个文件或目录: '/content/drive/My Drive/CHOAS_Kidney_Labels/Training_Images/T1DUAL/IMG*.dcm'

pydicom.read_file 不支持通配符。您必须自己遍历文件,例如 (untested):

import glob
import pydicom

pixel_data = []
paths = glob.glob("/content/drive/My Drive/CHOAS_Kidney_Labels/Training_Images/T1DUAL/IMG*.dcm")
for path in paths:
    dataset = pydicom.dcmread(path)
    pixel_data.append(dataset.pixel_array)