You need to enable JavaScript to run this app. 咨询BRATS2013脑肿瘤MHA文件经medpy读取后的shape维度含义
优惠活动
大模型
产品
解决方案
定价
更多

咨询BRATS2013脑肿瘤MHA文件经medpy读取后的shape维度含义

BRATS2013 Flair序列MHA影像维度含义说明

各维度空间对应关系

medpy.io.load读取MHA影像时会完全保留文件内部的体素存储顺序,不会自动对numpy数组做轴序重排。结合你使用的BRATS2013数据集的内置解剖坐标系,代码输出的shape元组(160, 216, 176)各维度的空间含义如下:

  • 第一维度(数组索引0,长度160):上下方向的切面层数维度,对应平行于人体横断面(轴位)的切片堆叠方向——从颅底位置的第一层,逐层向上堆叠到头顶位置的最后一层。
  • 第二维度(数组索引1,长度216):前后方向的体素跨度,对应单张横断面切片上,从颅前窝(额头侧)到颅后窝(枕部侧)的像素总长度。
  • 第三维度(数组索引2,长度176):左右方向的体素跨度,对应单张横断面切片上,从大脑右半球到左半球的像素总长度。

交互代码适配校验

你编写的滑块交互的切片显示逻辑基本匹配当前数组轴序,但有一处边界问题需要修正:

  • 目前滑块的取值范围绑定了image_data.shape[2](也就是0到175),但代码中取切片用的是image_data[x],这个操作的合法索引范围是第一维度的长度边界(0到159)。当滑块拖动到160以上的位置时,会触发数组越界报错。把滑块范围改成绑定image_data.shape[0],同时补上灰度图的色映射,交互效果就完全正常了。
  • 切片的方向修正逻辑是正确的:取出单张轴位切片后做矩阵转置调整纵横比,再沿垂直方向翻转像素,刚好匹配放射科的常规读片视角(患者右侧对应观察者左侧、颅底方向对应图像下方),不会出现影像方向颠倒的问题。

修正后的可直接运行的交互代码参考:

@interact(x=(0, image_data.shape[0]-1))
def update(x):
    plt.imshow(np.flip(image_data[x].T, 0), cmap='gray')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 12:36:10