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を返しているため、ループに入っていません。

null値を返す理由を誰でも助けることができますか?ブレークポイントを置いてもそれをデバッグできません。

前もって感謝します

スニール

4

1 に答える 1

0

これは、DICOMDIR 内の患者レベルのディレクトリ レコードにアクセスする正しい方法です。コードは機能するはずです。DICOMDIR 自体は正しくエンコードされていますか?

reader.Dump() を呼び出し、ディレクトリ レコード シーケンスを調査して、そこに適切なディレクトリ レコードがあり、それらが解析されているかどうかを確認できるはずです。ディレクトリ レコードの実際のポイントが正しいことを確認するのは困難ですが、少なくともレコードが存在するかどうかは確認できるはずです。

于 2012-02-03T17:44:18.143 に答える