clearcanvas检查文件是否是dicomdir

时间:2010-10-01 16:24:14

标签: c# dicom clearcanvas

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

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


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

2 个答案:

答案 0 :(得分:2)

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

可以找到标准的软拷贝here

答案 1 :(得分:2)

由于DICOMDIR是DICOM Part 10文件的专用实例,因此您只能读取文件的Media Storage SOP Class 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的简单方法。