-2

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

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

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

谢谢

4

1 回答 1

0

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

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

默认情况下,简单的 ITK 库完全理解并使用完整的 3D 图像平面标签来识别和定位患者坐标中的任何图像- 无论具体像素间距、切片厚度等。


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

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

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

于 2019-11-15T06:51:50.193 回答