Шаг 3 из 3

NIfTI-1 Data Format

Установим библиотеку nibabel.

pip install nibabel

Импортируем все необходимые для работы библиотеки

import nibabel # библиотека для работы с NIfTI-1 Data Format
import numpy as np # numpy для манипуляций с изображением

from matplotlib import cm # цветовые схемы для визуализации
from matplotlib import pyplot as plt # библиотека для визуализации 

Считаем файл, используя метод load , а для получение изображения нужно использовать функцию get_fdata. Будем работать с файлом volume_pt5/volume-44.nii

filepath = 'volume_pt5/volume-44.nii'
imagedata = nibabel.load(filepath)
array   = imagedata.get_fdata()

Дополнительно развернем изображение на 90 градусов и посмотрим на shape содержимого файла.

array   = np.rot90(np.array(array))
print(array.shape)

Результатом вывода будет Высота x Ширина x Глубина - (512, 512, 119). Глубина тут означает срезы КТ. Давайте визуализируем 50 и 118 срез КТ.

f = plt.figure(figsize=(12,12))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
ax.imshow(array[...,50].astype(np.float32), cmap=plt.cm.bone)
ax2.imshow(array[...,118].astype(np.float32), cmap=plt.cm.bone)
КТ брюшной полости
КТ брюшной полости

Самостоятельная работа: визуализируйте другие срезы КТ.

Комментарии