2011-08-10 40 views
0

我是新來的CC以及DICOM世界,我試着讀DICOMDIR文件中的患者姓名和學習細節並將其保存在數據庫中,這裏是我的代碼,我這樣做的控制檯應用程序在C#在DICOMDIR中使用clearcanvas讀取患者姓名標籤在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,因此它不進入循環。

任何人都可以幫助它爲什麼返回空值,我無法找到,即使我把斷點n調試它。

在此先感謝

SUNIL

回答

0

這是一個DICOMDIR中訪問病人的一級目錄記錄的正確方法。代碼應該工作。你確定DICOMDIR本身編碼正確嗎?

您應該能夠調用reader.Dump()並調查目錄記錄序列,以查看是否存在正確的目錄記錄,並且它們已被解析。很難確認目錄記錄中的實際點是否正確,但您至少應該能夠查看是否存在記錄。