【问题标题】:How to overlay the RTDOSE and Image data in the correct position?如何在正确的位置叠加 RTDOSE 和 Image 数据?
【发布时间】:2019-10-30 14:58:00
【问题描述】:

我目前是医学物理专业的 MS 学生,我非常需要能够将 RTDOSE 文件中的等剂量分布叠加到 .dcm 文件集中的 CT 图像上。

我已经成功地使用 pydicom 和 dicom_numpy 自己提取了图像和剂量像素数组,但是这两个数组的大小不同!因此,如果我将两者叠加在一起,则根据 Elekta Gamma Plan 软件导出的内容,剂量将不会处于正确的位置。

我玩过 dicompyler 和 3DSlicer,即使数组大小不同,它们显然也能做到这一点。但是,我想我在使用这些软件时无法导出数值数据。我只能滚动浏览并以图像的形式查看。如何将 RTDOSE 叠加到 CT 图像上?

谢谢

【问题讨论】:

  • 我不确定,因为我没有使用 RTDose 的经验,但是:在 dicom 中,您不仅拥有像素阵列,还拥有 PixelSpacing 标签。这个非常重要。因为 CT 可能有 512x512 像素,像素间距为 1.0x1.0mm。这意味着图像是 512 毫米乘以 512 毫米。 RTDose 只有 100x100 像素,但像素间距为 5.12x5.12mm。那么剂量中的每个像素都更大,但整个图像又是512mm乘以512mm。这只是一个假设,但请看一下。
  • 我们能否假设 RTDose 数据与您要显示的系列处于同一参考系中? (即省略注册步骤)。
  • @bastijn 我猜是的,因为它看起来像 3DSlicer“能够做到这一点”并且可能为该 CT 生成了 RT 数据。 ...如果 FOR 不一样,我也不想让(下面)进入一个关于必须进行注册的复杂性的整个下一个层次,哈哈!

标签: image-processing dicom pydicom image-registration


【解决方案1】:

对于您想要的,听起来您应该使用 Simple ITK(或等效的 - 我的经验是使用 sitk)来进行 dicom 处理,而不是 pydicom。

Dicom 为所有像素数据在患者坐标中构建了一个完整的 3D 点和位置规范系统。这使用了 Image Plane Module 标记集中的 dicom 文件中的一堆属性。请参阅 here 以获得良好的概述。

简单的 ITK 库完全理解并使用完整的 3D 图像平面标签来默认识别和定位患者坐标中的任何图像 - 与特定像素间距、切片厚度等无关.


所以 - 在你的情况下 - 如果你使用 SITK 打开你的研究,那么你应该能够“开箱即用”正确地覆盖它们,因为 SITK 将完成所有工作来解析图像平面模块标签并定位患者坐标中的数据 - 就像使用 3DSlicer 获得的一样。

相比之下,Pydicom 本身根本不尝试使用任何这些信息。它只为您提供原始像素数组(用于图像)。

注意我同时使用 pydicom 和 SITK。这对 pydicom 来说并不是什么坏事,但更多的是一个适合这项工作的工具的问题。事实上,我使用 pydicom 处理很多(大多数?)的事情,但对于任何真正的 3D 类型的工作,SITK 是更容易使用的工具包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2013-07-19
    相关资源
    最近更新 更多