【问题标题】:Unable to plot 3D medical images in Python using Numpy and Matplotlib无法使用 Numpy 和 Matplotlib 在 Python 中绘制 3D 医学图像
【发布时间】:2019-08-09 22:56:57
【问题描述】:

我想使用 Python、Numpy 和 Matplotlib 绘制 3D 医学图像。我一直在尝试使用以下 sn-p 来显示它们,但图像本身不会呈现。

import os
import imageio
import matplotlib.pyplot as plt, numpy as np
from mpl_toolkits.mplot3d import Axes3D

def make_ax(grid=False):
    fig = plt.figure()
    ax = fig.gca(projection='3d')
    ax.set_xlabel("x")
    ax.set_ylabel("y")
    ax.set_zlabel("z")
    ax.grid(grid)
    return ax

x=os.listdir('Path to .dcm images')
print(x)
vol = imageio.volread('Path to .dcm images') 
print(vol.shape)

ax = make_ax(True)
ax.voxels(vol, edgecolors='gray')
plt.show()


Link for data

【问题讨论】:

  • 您是否考虑过查看数据的子集?提供样本数据集将有助于获得您需要的答案。
  • 发布的数据链接

标签: python numpy matplotlib image-processing


【解决方案1】:

voxel 需要布尔值 - 或者根据docs 可以被视为布尔值的东西。您正在传递整数数据,任何非零都被视为真。您的大部分数据都是非零的,因此您得到了显示的大灰色立方体。它的呈现方式没有任何问题 - 您只是选择了错误的方式来可视化您拥有的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 2020-06-12
    • 2016-02-15
    • 2023-03-09
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多