从 .nii 格式转换后无法在 C++ ITK 中读取 DICOM 文件

Failed to read DICOM files in C++ ITK after conversion from .nii format

我使用来自 ImageJ 的插件 Tudor DICOM 将 NifTi (.nii) 数据集转换为 DICOM 数据集。 生成的文件与 ImageJ 一起工作正常,但不被 ITK 接受。

我变成了这些警告:

function gdcm::DataSet::GetMediaStorage
Media Storage Class UID: 2.25.11... is unknown

function gdcm::PixmapReader::Read Attempting to read this file as a DICOM file 
Desperate attempt

function gdcm::MediaStorage::SetFromDataSetOrHeader Does not know what: 2.25.11...is...

有人可以帮我吗?

DICOM - 作为一个容器 - 看起来很像 XML。这意味着你有一个二进制格式来存储你想要的几乎任何东西(甚至 PDF、文本、音频......)。

所以在 XML 之上我们有 DTD 或 XSD,在 DICOM 中它已经包含在内。因此,您拥有的是一个 DICOM 容器,其中包含 2.25.11... 的实例(下次请包括完整的 UID 以消除歧义)。

由于此 UID 不是 standard 中声明的 'well known' UID 的一部分,这意味着它只能通过私有供应商实现来处理。此文件使用 DICOM 格式编写,但与世界其他地区不兼容...

您的post中不清楚的是,由于ITK支持NifTi,因此无需先将.nii 转换为DICOM,只需直接加载.nii 文件即可。