【发布时间】:2017-08-11 00:44:39
【问题描述】:
我正在处理 3D MR 图像数据。为了计算直方图,我将 sitk.Image 转换为维度为 3 的 numpy 数组。虽然我能够使用 matplotlib 显示每个轴向切片,但 numpy 数组在所有三个维度上都是完全空的。 有人可以解释发生了什么吗?
import numpy as np
import SimpleITK as sitk
from myshow import myshow
img = sitk.ReadImage("mri.hdr")
nda = sitk.GetArrayFromImage(img)
myshow(img)
print nda
输出:
[[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
...,
[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]]
注意事项:
myshow.py (https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/master/Python/myshow.py)
myshow.py 使用 matplotlib 可视化 img 切片
MR 图像数据为 hdr/img(分析)格式。
【问题讨论】:
-
能否请您发布您的代码示例,以便我们遵循您的逻辑
-
已编辑!我对编码和stackoverflow相当陌生。如果我没有清楚地提出我的问题,请原谅。
标签: python numpy matplotlib simpleitk