2011-08-10 5 views
0

저는 DICOM 세계뿐만 아니라 CC에 새로운 환자 이름을 읽고 DICOMDIR 파일의 세부 정보를 읽고 데이터베이스에 저장하려고합니다. 여기에 내 코드가 있습니다. 따라서,이 루프를 이용하지 않고, 내가 그것이 에러가없는 실행하지만 DirectoryRecordSequenceItem "녹음"값은 라인 (3)에 널 복귀 할 때 C 번호CIC에서 clearcanvas를 사용하여 DICOMDIR의 환자 이름 태그 읽기

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();} 

콘솔 애플리케이션에서 일을하고있다.

누군가가 null 값을 반환하는 이유를 도울 수 있습니다. 심지어 중단 점 n 디버그를 넣어도 찾을 수 없습니다. 사전

선일

에서

덕분에

답변

0

이는 DICOMDIR에서 환자 레벨 디렉토리 기록에 액세스 할 수있는 올바른 방법입니다. 코드가 작동해야합니다. DICOMDIR 자체가 올바르게 인코딩 되었습니까?

reader.Dump()를 호출하고 디렉토리 레코드 시퀀스를 조사하여 거기에 적절한 디렉토리 레코드가 있고 파싱되었는지 확인할 수 있어야합니다. 디렉터리 레코드의 실제 지점이 정확한지 확인하기는 어려울 지 모르지만 최소한 레코드가 있는지 확인할 수 있어야합니다.