nii.gz 文件
.nii.gz 文件通常是医学影像数据的一种常见格式,比如神经影像(如脑部MRI)。这种文件格式通常是经过gzip压缩的NIfTI格式(Neuroimaging Informatics Technology Initiative)。
要在Python中查看.nii.gz文件,你可以使用一些专门的库,如Nibabel(NiBabel是用于读取和写入神经影像数据的Python库)和SimpleITK(SimpleITK是一个用于医学影像处理的库)。
Nibabel
安装
$ pip install nibabel
使用
import nibabel as nib
import matplotlib.pyplot as plt
import seaborn as sns
import os
sns.set_style('darkgrid')
img1_path = './testData/test.nii.gz'
img = nib.load(img1_path)
# 获取图像数据
data = img.get_fdata()
# 可视化每一层切片
num_slices = data.shape[-1]
# 设置子图的行数和列数
num_rows = num_slices // 10 + 1 # 每行显示10个切片
num_cols = min(num_slices, 10)
# 设置子图的大小
fig, axes = plt.subplots(num_rows, num_cols, figsize=(15, 15))
# 遍历每一层切片并可视化
for i in range(num_slices):
row_idx = i // 10
col_idx = i % 10
# 在子图中显示每一层切片
axes[row_idx, col_idx].imshow(data[:, :, i], cmap='gray')
axes[row_idx, col_idx].axis('off') # 关闭坐标轴
# 如果切片数量不是10的倍数,隐藏多余的子图
for i in range(num_slices, num_rows * num_cols):
row_idx = i // 10
col_idx = i % 10
fig.delaxes(axes[row_idx, col_idx])
plt.show()
运行结果