Как добавить третий параметр в форму файла nifti?

Я использую файлы.nii набора данных ADNI для своих экспериментов, посвященных анализу данных МРТ мозга. Вот фрагмент кода того, что я сделал и что я хочу сделать.

import numpy as np
from pylab import *
import nibabel as nib
import matplotlib.pyplot as plt
import skimage.transform

img_path=r"C:\\Users\\Umit Kilic\\Komodomyfiles\\umit\\cn.nii"

nii_obj=nib.load(img_path)
img=nii_obj.get_fdata()

slice1=(img[60,:,:])
slice2=(img[:,80,:])
slice3=(img[:,:,60])

figure()
imshow(slice1)
show()

print(type(slice1)," size:", slice1.size," shape:", slice1.shape)

Выходные данные печати:

размер: 42496 форма: (256, 166)

Рисунок это:

Я хочу добавить третий параметр к этому ndarray, как (256,166,3), и я добавил этот фрагмент кода в конце приведенного выше кода:

x=np.expand_dims(slice1,axis=2)

print(type(x)," size:", x.size," shape:", x.shape)
figure()
imshow(x)
show()

Выход этого кода:

размер: 42496 форма: (256, 166,1)

Для рисунка я получил эту ошибку: TypeError: Неверные размеры для данных изображения

Теперь последний параметр должен быть равен 3, чтобы можно было использовать этот ndarray в качестве входных данных для VGG16, VGG19, ResNet50 и т. Д. Причина, например, VGG16 ожидает ввод с формой (224,224,3).

Затем я добавил этот фрагмент кода вышеупомянутого кода:

a=skimage.transform.resize(x,(256,166,3))

print(type(a)," size:", a.size," shape:", a.shape)

figure()
imshow(a)
show()

Вывод кода печати:

размер: 42496 форма: (256, 166,3)

И эта цифра:

Затем я понял, что могу добавить третий параметр без расширения_расширения и просто с помощью функции Skimage.transform изменить размер сразу после получения slice1.

Вот вопрос: является ли это правильным способом изменить форму этого файла, чтобы иметь возможность использовать его в качестве входных данных для некоторых реализаций глубокого обучения, которые ожидают ввода с предварительно определенной формой?

Кстати, я не мог понять, почему у последней фигуры зеленый цвет в мозгу. Это может быть вторым и может быть глупым вопросом.

0 ответов

Другие вопросы по тегам