3D визуализация Dicom в Python - PullRequest
0 голосов
/ 08 мая 2019

Я новичок в обработке трехмерных изображений.Я хотел бы знать, как просмотреть серии DICOM в Python.Я попробовал использовать matplotlib и VTK.В Matplot я не могу просмотреть объем, как я смотрю в Matlab с помощью volViewer.Что касается ВТК, я не могу импортировать VTKRAyCASt для просмотра 3D.Я использую версию 8.2.0.

Я делаю обработку с использованием scipy.ndimages

Пожалуйста, предложите мне некоторые ресурсы для моих файлов тома dicom тома

Ответы [ 2 ]

1 голос
/ 13 мая 2019

С vtkplotter вы сможете легко это сделать:

from vtkplotter import *

img = loadDICOM(dicomdir) #returns a vtkImageData object
vol = Volume(img) # create a vtkVolume
show(vol, bg='white')

Для установки: pip install vtkplotter

0 голосов
/ 20 мая 2019

Вы можете попробовать ipyvolume https://github.com/maartenbreddels/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()

Порог -300 HU хорош для визуализации компьютерной томографии грудной клетки, но измените его, еслиВы собираетесь использовать МРТ (проверьте распределение значений интенсивности) или двоичные объемы (порог = 0).

Существует несколько примеров визуализации:

Chest CT example

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