【发布时间】:2020-08-17 12:49:02
【问题描述】:
我有一个包含 DICOM 文件的文件夹(例如 CT 扫描),我需要提取体积的仿射信息,因为我将生成一个遮罩,稍后需要它来对齐体积和遮罩。
但是我现在的解决方案根本不是最优的。我使用 dicom2nifti 包首先从包含 DICOM 文件的文件夹创建一个 nifti 文件,然后我使用 nibabel 打开创建的 nifti 文件。然后我得到仿射信息
nii.affine(其中 nii 是加载的 nifti 文件 python 对象)。
这就是为什么创建 nifti 文件需要很多时间。
如何使用python获取仿射矩阵?
【问题讨论】:
-
我认为问题在于将文件读取为“本机 DICOM”,而不像当前那样将其转换为 NIFTI。
-
我建议查看 nibabel 源代码 - 它应该是 ImagePositionPatient、ImageOrientationPatient、GridFrameOffsetVector 或其他的某种组合。如果有人可以为 pydicom 编写 Dataset.affine() 函数,我很乐意将其合并。
-
我使用 pydicom 基于nipy.org/nibabel/dicom/… 创建了仿射代码。如果问题被重新打开,我可以发布它。
-
我投票重新提出这个问题,因为在 DICOM 的上下文中,OP 的要求非常清楚(尤其是在@darcymason 的编辑获得批准之后)。
-
@darcymason - 问题重新打开,你可以继续 :)
标签: python pydicom nifti medical-imaging