【问题标题】:DICOM Image segmentation and 3d construction using VTKDICOM 使用 VTK 进行图像分割和 3d 构建
【发布时间】:2019-11-15 07:02:31
【问题描述】:

我正在处理 .dcm 图像(dicom 图像)

在我的例子中,有 152 个 2D 图像切片。

我使用https://www.raddq.com/dicom-processin... 链接进行分段。分割后,我在该分割区域上使用了感兴趣区域(ROI)。

现在我有参数 x、y、w、h 和从 ROI 获取的裁剪图像。

我想使用带有 python 的 VTK 库以 3D 形式可视化这些分段数据。

有没有办法可视化这些数据。我很困惑vtk的功能和参数是什么。

【问题讨论】:

    标签: python-3.x image-processing vtk pydicom


    【解决方案1】:

    查看该工具,分割的输出存储为一个 numpy 数组。为了使用常见的图像可视化工具,您需要将该数组存储为更通用的 3D 格式。

    您可以使用SimpleITKitk-python 将numpy 数组导入ITK 图像。您可以在此处找到具体的操作方法并将结果存储到文件中:https://itkpythonpackage.readthedocs.io/en/latest/Quick_start_guide.html#mixing-itk-and-numpy

    您保存的文件中将缺少的一件事是有关图像的几何信息。解决此问题的最简单方法可能是首先将输入的 DICOM 图像系列转换为 3D 格式(您可以使用 dcm2niix 执行此操作,将结果卷存储为 NIfTI),使用上述 SimpleITK 或 itk 将该卷加载到 Python 中- python,它还将为您提供将加载的图像导出到 numpy 数组的选项。如果您从该数组开始进行分割任务,则分割 numpy 数组中的体素排列将与图像 numpy 数组中的相同。因此,当您将 numpy 数组导出到 SimpleITK 或 itk-python 图像时,您可以复制图像几何体以初始化分割几何体(您将需要使用 Get/SetDirectionGet/SetSpacingGet/SetOrigin)。

    存入文件后,可以使用3D Slicer等工具加载原始DICOM图像系列,叠加分割结果。

    不幸的是,这是很多步骤,我知道这会造成混乱。但希望它能帮助您入门!

    【讨论】:

    • 跟进@Dave Chen 的回复,自从 Jupyter notebook 诞生以来——3D Slicer 可以用作 Jupyter 内核,它的整个界面或单个组件(例如 2d 切片、3d 表面或体积)渲染)可以填充并嵌入到笔记本中。在此处查看详细信息和示例:discourse.slicer.org/t/…
    【解决方案2】:

    除了@user3216191 的建议,你还可以看看itkwidgets

    https://github.com/InsightSoftwareConsortium/itkwidgets

    它是一个 Python 包,可让您在 Jupyter 笔记本中体积渲染 3d 图像。它可以将 ITK 图像、numpy 数组或其他一些 3d 图像格式作为输入。它还会以 VTK 或 ITK 网格格式渲染 3d 网格。

    我不知道它是否会体积渲染您的原始图像和分割。因此,您可以提取分割的等值面并将其与原始图像的体积渲染一起显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多