Как прочитать несколько файлов DICOM и PNG одновременно, используя pydicom.read_file () и cv2.imread ()? - PullRequest
0 голосов
/ 22 апреля 2020

В настоящее время работает над полностью CNN для почечной сегментации в МР-изображениях. Имейте 40 изображений и их основные метки истинности, пытаясь загрузить все изображения для целей предварительной обработки.

Использование Google Colab с установленными последними версиями pydicom и pip для этого проекта. В настоящее время подключен Google Drive к программе Colab, и приведенный ниже код показывает правильные пути к изображениям и их маскам в вызовах pydicom.read_file () и cv2.imread () соответственно.

Однако, когда Я использую пути к файлам "/../IMG*.dcm" или "/../IMG*.png" (что должно быть допустимо?), Я получаю "FileNotFoundError", как указано ниже. Но когда я указываю конкретное c .dcm или .png изображение, вызовы pydicom.read_file () и cv2.imread () работают вполне нормально.

Есть предложения о том, как решить эту проблему? Я много борюсь с загрузкой данных и предварительной обработкой, но готовая архитектура модели готова к go после преодоления этих предварительных препятствий.


 #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'

1 Ответ

2 голосов
/ 22 апреля 2020

pydicom.read_file не поддерживает подстановочные знаки. Вы должны сами перебирать файлы, что-то вроде (не проверено):

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)
...