Как прочитать изображения для функции nib.load (), чтобы их можно было изменить? - PullRequest
0 голосов
/ 22 апреля 2020

Попытка разработать FCNN для сегментации почек для МР изображений. Имейте 40 изображений (DICOM) и связанные с ними наземные метки истинности (PNG), подключенные к Google Диску для записной книжки Colab, на которой я строю архитектуру.

Для этих 40 изображений и их меток я пытаюсь изменить размер всех из них до 256 x 256, используя код ниже (и это практически точная копия для изменения размера этикетки). Получение «списка индексов вне диапазона» для обоих блоков кода, но мне известно о правиле «n-1» для вызова range (), поэтому это должен быть глобальный блок кода, который приведен ниже.


from glob import glob
img_path = glob.glob("/content/drive/My Drive/CHOAS_Kidney_Labels/Training_Images/IMG*.dcm")
mask_path = glob.glob("/content/drive/My Drive/CHOAS_Kidney_Labels/Ground_Truth_Training/IMG*.png")
AttributeError: 'function' object has no attribute 'glob'

images=[]
a=[]
for i in range(0,39):
    a=nib.load(img_path[i])
    a=a.get_data()
    print("image (%d) loaded"%(i))
    a=resize(a,(a.shape[0],256,256))
    a=a[:,:,:]
    for j in range(a.shape[0]):
        images.append((a[j,:,:]))
IndexError: list index out of range

1 Ответ

0 голосов
/ 23 апреля 2020

Поскольку вы использовали from glob import glob, вам не нужно glob.glob. Вы должны просто позвонить glob без глобуса пространства имен.

Ваша вторая ошибка, потому что img_path пуст. И вам лучше делать что-то вроде:

for name in img_path:
    a=nib.load(name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...