1

DICOMDIR を解析して DICOM ファイルパスを見つけようとしています。

しかし、それらを見つける方法を理解できないようです。次のように DICOMDIR を解析します。

DicomDirectory dir = new DicomDirectory("AE_TITLE");
dir.Load(dirPath);
foreach(DirectoryRecordSequenceItem elem in dir.RootDirectoryRecordCollection){//study
    foreach(DirectoryRecordSequenceItem innerElem in elem.LowerLevelDirectoryRecordCollection){//sequence
        foreach(DirectoryRecordSequenceItem inner2Elem in innerElem.LowerLevelDirectoryRecordCollection){//series
            foreach (DirectoryRecordSequenceItem inner3Elem in lastElem.LowerLevelDirectoryRecordCollection) // img
            {

            } 
        }
    }
}

これはそれぞれをループしますstudy/sequence/series/imageが、これらにはファイルへのファイルパスが含まれているようには見えません.dcm

PS私はClearCanvasライブラリを使用してDicomDirectoryオブジェクトを作成します

4

1 に答える 1

1

最下位レベル (画像レベル) に移動すると、dicomfile には相対パスを保持する属性ReferencedFileIdがあるように見えるので、必要なのは次のとおりです。

Console.inner3Elem.GetAttribute(DicomTags.ReferencedFileId).ToString();

これは、DICOMDIR が配置されている場所に相対的な dicom ファイルへのパスを返します。

于 2015-08-21T18:32:58.057 に答える