You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中处理.img/.hdr格式MRI扫描数据并查看切片

嘿,刚上手MRI文件的话,先给你捋清楚这些格式和操作步骤——你用nibabel加载的思路完全没问题,先从你已经得到的输出说起:

先搞懂你加载的SPM Analyze格式文件

你手里的.img/.hdr是SPM Analyze格式的MRI文件,这俩是成对出现的:.hdr存图像的元数据(比如尺寸、空间分辨率、数据类型),.img存实际的像素数值。你打印的输出已经说明加载成功了:Spm2AnalyzeImage就是nibabel对这种格式的封装,data shape (176,208,176,1)表示这是一个三维空间+1个单通道的图像,后面的affine矩阵是空间坐标转换用的,看切片暂时不用管它。

第一步:提取图像的数值数组

要查看切片,得先把nibabel对象里的像素数据转成numpy数组,用get_fdata()方法就行,还可以把最后那个没用的单通道维度去掉:

import nibabel as nib
import numpy as np

# 加载文件(注意:nibabel会自动关联同目录下的同名.hdr文件)
img = nib.load('./OAS1_0001_MR1_mpr_n4_anon_111_t88_masked_gfc_fseg.img')
# 提取数据为numpy数组
data = img.get_fdata()
# 移除单通道维度(从(176,208,176,1)变成(176,208,176))
data = np.squeeze(data)
print(data.shape)  # 输出应该是(176, 208, 176)
第二步:查看不同方向的MRI切片

MRI是三维数据,我们可以从三个正交方向(轴位、冠状、矢状)查看切片,用matplotlib就能轻松显示:

轴位面(Axial,从上往下切,最常用的视角)

轴位面对应三维数组的第三个维度(索引为2),取中间位置的切片示例:

import matplotlib.pyplot as plt

# 取轴位面的中间切片
axial_middle = data[:, :, data.shape[2] // 2]
# 用灰度色图显示(MRI图像适合灰度)
plt.imshow(axial_middle, cmap='gray')
plt.title('Axial Slice (Middle)')
plt.axis('off')  # 关掉坐标轴更清晰
plt.show()

冠状面(Coronal,从前往后切)

冠状面对应第一个维度(索引为0):

coronal_middle = data[data.shape[0] // 2, :, :]
plt.imshow(coronal_middle, cmap='gray')
plt.title('Coronal Slice (Middle)')
plt.axis('off')
plt.show()

矢状面(Sagittal,从左往右切)

矢状面对应第二个维度(索引为1):

sagittal_middle = data[:, data.shape[1] // 2, :]
plt.imshow(sagittal_middle, cmap='gray')
plt.title('Sagittal Slice (Middle)')
plt.axis('off')
plt.show()
关于.gif格式的MRI文件

如果是MRI相关的.gif,通常是把多个切片做成了动画,直接用系统自带的图片查看器就能打开;要是想提取单帧切片,可以用PIL库处理:

from PIL import Image

# 打开gif文件
mri_gif = Image.open('your_mri_gif_file.gif')
# 遍历所有帧并保存/显示
for frame_idx in range(mri_gif.n_frames):
    mri_gif.seek(frame_idx)
    # 保存单帧为png
    mri_gif.save(f'mri_slice_{frame_idx}.png')
    # 或者直接显示
    plt.imshow(mri_gif, cmap='gray')
    plt.show()
小技巧:调整切片视角

如果显示的切片是颠倒的,用np.flip()翻转就行,比如axial_middle = np.flip(axial_middle, axis=0),试几次就能调到你习惯的视角啦。

内容的提问来源于stack exchange,提问作者user7040867

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:23:46