0

我是 CC 和 DICOM 世界的新手,正在尝试读取 DICOMDIR 文件中的患者姓名和研究详细信息并将其保存在数据库中,这是我的代码,我在 C# 的控制台应用程序中执行此操作

enter code here
{

        DicomDirectory reader = new DicomDirectory("DICOMDIR");
        reader.Load(@"D:\Sunil\Dataset\Metapex\pix\DICOMDIR");
        DirectoryRecordSequenceItem record = reader.RootDirectoryRecord;
        while (record != null)
        {
            String PatientId = record[DicomTags.PatientId];
            String PatientName = record[DicomTags.PatientsName];
            Console.WriteLine("Id - {0}\n Name - {1}", PatientId, PatientName);
            record = record.NextDirectoryRecord;
        }
        Console.ReadLine();}

当我执行它时没有错误,但 DirectoryRecordSequenceItem“记录”值在第 3 行返回 null,因此它没有进入循环。

任何人都可以帮助它为什么返回空值,即使我放断点调试它也无法找到。

提前致谢

苏尼尔

4

1 回答 1

0

这是在 DICOMDIR 中访问患者级别目录记录的正确方法。代码应该可以工作。您确定 DICOMDIR 本身已正确编码吗?

您应该能够调用 reader.Dump() 并调查目录记录序列以查看那里是否有正确的目录记录并且它们已被解析。很难确认目录记录中的实际点是否正确,但您至少应该能够查看是否存在记录。

于 2012-02-03T17:44:18.143 回答