显示标准nii.gz或nii文件

import numpy as np
import nibabel as nib
from ipywidgets import interact, interactive, IntSlider, ToggleButtons
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set_style('darkgrid')

查看文件类型

image_path1 = "case0001_img.nii"
image_obj1 = nib.load(image_path1)
print(f'Type of the image {type(image_obj1)}')

Type of the image <class ‘nibabel.nifti1.Nifti1Image’>

将nii.gz文件转换为array

image_data1 = image_obj1.get_fdata()
type(image_data1)

numpy.ndarray

显示文件的维度

height1, width1, depth1 = image_data1.shape
print(f"The image object height: {height1}, width:{width1}, depth:{depth1}")

The image object height: 512, width:512, depth:24

查看文件的信息以及图像像素的最大值以及最小值

print(f'image value range: [{image_data1.min()}, {image_data1.max()}]')

print(image_obj1.header.keys())
pixdim1 =  image_obj1.header['pixdim'] print(f'z轴分辨率:
       {pixdim1[3]}') print(f'in plane 分辨率: {pixdim1[1]} *
       {pixdim1[2]}')

显示某一层的图像

这里的12指的就是第三维度为12 的

plt.imshow(image_data1[:, :, 12], cmap='gray')
plt.axis('off');

更多推荐

python读取nii文件、nii.gz文件