Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python中的三维Dicom可视化_Python 3.x_Image Processing_3d_Visualization_Volume - Fatal编程技术网

Python 3.x Python中的三维Dicom可视化

Python 3.x Python中的三维Dicom可视化,python-3.x,image-processing,3d,visualization,volume,Python 3.x,Image Processing,3d,Visualization,Volume,我是3D图像处理新手。我想知道如何在python中查看dicom系列。我尝试使用matplotlib和VTK。在matplot中,我无法像在matlab中使用volViewer那样查看体积。关于VTK,我无法导入VTKRAyCASt以查看3D。我使用的版本是8.2.0 我正在使用scipy.ndimages进行处理 请向我推荐一些有关我的卷dicom文件的资源,您应该能够轻松做到这一点: 从vtkplotter导入* volume=load(mydicomdir)#返回一个vtkVolume对象

我是3D图像处理新手。我想知道如何在python中查看dicom系列。我尝试使用matplotlib和VTK。在matplot中,我无法像在matlab中使用volViewer那样查看体积。关于VTK,我无法导入VTKRAyCASt以查看3D。我使用的版本是8.2.0

我正在使用scipy.ndimages进行处理

请向我推荐一些有关我的卷dicom文件的资源,您应该能够轻松做到这一点:

从vtkplotter导入*
volume=load(mydicomdir)#返回一个vtkVolume对象
显示(音量,背景为白色)
要安装:
pip安装vtkplotter

您可以尝试ipyvolume进行交互式绘图,我发现它非常有用。 此外,您还可以使用matplotlib打印它们,方法是使用移动立方体获得曲面网格,但速度非常慢:

from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import numpy as np
from skimage import measure

def plot_3d(image, threshold=-300): 
    p = image.transpose(2,1,0)
    verts, faces, normals, values = measure.marching_cubes_lewiner(p, threshold)
    fig = plt.figure(figsize=(10, 10))
    ax = fig.add_subplot(111, projection='3d')
    mesh = Poly3DCollection(verts[faces], alpha=0.1)
    face_color = [0.5, 0.5, 1]
    mesh.set_facecolor(face_color)
    ax.add_collection3d(mesh)
    ax.set_xlim(0, p.shape[0])
    ax.set_ylim(0, p.shape[1])
    ax.set_zlim(0, p.shape[2])

    plt.show()
对于胸部CT扫描的可视化来说,-300 HU的阈值是可以的,但是如果你要使用MRI(检查你的强度值分布)或二元容积(阈值=0),就要改变它

这里有一些可视化的例子:


vtkplotter
看起来很有希望,但花了半个小时的时间,无法让它在
上不崩溃。加载
过程结束,退出代码139(被信号11:SIGSEGV中断)
uhmm它对某些测试数据集有效吗?例如,
从vtkplotter导入数据目录,加载
然后
加载(datadir+'embrage.tif').show()
在我的两台机器上,它在尝试加载DICOM数据时崩溃,而且-我的安装没有测试数据集(通过pip)。此外-这是一个错误报告的糟糕论坛-很高兴访问邮件列表或git问题。请随时提交到