首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mha脑肿瘤文件中的图像数据

mha脑肿瘤文件中的图像数据
EN

Stack Overflow用户
提问于 2021-02-15 19:29:55
回答 2查看 312关注 0票数 2

我有一个MHA文件,当我写

代码语言:javascript
复制
from medpy.io import load
image_data, image_header = load("HG/0001/VSD.Brain.XX.O.MR_Flair/VSD.Brain.XX.O.MR_Flair.684.mha")
print(image_data.shape)

我得到一个元组(160,216,176)。这些维度代表什么(作为参考,这些是2013年儿童脑瘤图像)?谢谢你的帮助。

编辑:在木星上为滑块工作,我做了

代码语言:javascript
复制
import matplotlib.pyplot as plt
from ipywidgets import interact
import numpy as np
%matplotlib inline

@interact(x=(0, image_data.shape[2]))
def update(x):
    plt.imshow(np.flip(image_data[x].T, 0))

但是当然,您的代码可能适用于其他编辑器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-15 19:54:15

根据文档,load(图像)“加载图像并返回包含图像像素内容和标头对象的ndarray”。

medpy.io.load中,它说image_data是“具有x、y、z、c顺序的numpy数组的图像数据”。

编辑:因为我对这个文件中的实际内容很好奇,所以我收集了一个快速脚本(主要基于滑块演示)来查看。我把它留在这里以防对某人有用。(单击“层”滑块以选择要绘制的z坐标。)

代码语言:javascript
复制
from medpy.io import load

image_data, image_header = load("/tmp/VSD.Brain.XX.O.MR_Flair.684.mha")

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider, Button, RadioButtons

fig, ax = plt.subplots()
plt.subplots_adjust(bottom=0.25)

axlayer = plt.axes([0.25, 0.1, 0.65, 0.03])
slider_layer = Slider(axlayer, 'Layer', 1, image_data.shape[2], valinit=1, valstep=1)

def update(val):
  layer = slider_layer.val
  ax.imshow(image_data[:,:,layer])
  fig.canvas.draw_idle()

slider_layer.on_changed(update)

ax.imshow(image_data[:,:,0])

plt.show()

(这间接证实了image_data持有三维体素图像。)

票数 3
EN

Stack Overflow用户

发布于 2022-03-20 00:12:16

仅为了在已接受的答案之上添加,我们也可以使用subplotsanimation可视化切片:

代码语言:javascript
复制
from medpy.io import load
image_data, image_header = load("VSD.Brain.XX.O.MR_Flair.684.mha")
image_data = image_data / image_data.max()

plt.figure(figsize=(20,32))
plt.gray()
plt.subplots_adjust(0,0,1,0.95,0.01,0.01)
for i in range(ct.shape[0]):
    plt.subplot(16,10,i+1), plt.imshow(image_data[i]), plt.axis('off')
plt.suptitle('Brain-Tumor CT-scan mha (raw) files', size=15)
plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66214255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档