1

我想从 dicomdir 读取 dicom 标签。如何检查文件是否为 dicomdir?现在,我正在尝试这样,但我知道有些文件的名称没有 dicomdir。

     if (fi_name.Contains("DICOMDIR"))
            {


                DicomDirectory fi_dicomdir = new DicomDirectory(fi);
                fi_dicomdir.Load(fi);
             }
4

2 回答 2

2

由于 DICOMDIR 是 DICOM Part 10 文件的专用实例,因此您最多可以读取文件的媒体存储 SOP 类 UID 标记(仅是文件的几百字节),然后确定文件是否为一个DICOMDIR。像这样的代码可以工作:


DicomFile file = new DicomFile(fi);
file.Load(DicomTags.MediaStorageSopClassUid, DicomReadOptions.Default);
if (file.MediaStorageSopClassUid.Equals(SopClass.MediaStorageDirectoryStorageUid))
{
    DicomDirectory fi_dicomdir = new DicomDirectory("AETITLE");
    fi_dicomdir.Load(fi);                
}

这应该执行得很快,并且是确定文件是否为 DICOMDIR 的一种万无一失的方法。

于 2010-10-12T21:45:04.620 回答
2

NEMA 出版物规定文件名必须是DICOMDIR。DICOM 文件类型也可以通过为这些文件类型保留的唯一 SOP 类 ID:1.2.840.10008.1.3.10 来识别。

可在此处找到该标准的软拷贝

于 2010-10-11T09:29:42.767 回答