Невозможно построить 3D медицинские изображения в Python, используя Numpy и Matplotlib - PullRequest
0 голосов
/ 19 марта 2019

Я хотел бы построить трехмерные медицинские изображения, используя Python, Numpy и Matplotlib. Я пытался использовать следующий фрагмент для их отображения, но само изображение не отображается.

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()

This is the image that i am getting as output.


Ссылка для данных

1 Ответ

1 голос
/ 19 марта 2019

voxel ожидает логические значения - или что-то, что может рассматриваться как логическое значение, согласно документам .Вы передаете целочисленные данные, все ненулевое значение рассматривается как истина.Большинство ваших данных отличны от нуля, поэтому вы получаете большой серый куб, который вы показали.Нет ничего плохого в том, как он отображается - вы просто выбрали неверный способ визуализации имеющихся у вас данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...