我试图通过解析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
文件的文件路径。
P.S。我使用ClearCanvas库来创建DicomDirectory对象
答案 0 :(得分:1)
如果你转到最低级别(图像级别),那么dicomfile会有一个属性 ReferencedFileId ,它保存相对路径,所以只需要:
Console.inner3Elem.GetAttribute(DicomTags.ReferencedFileId).ToString();
这将返回相对于DICOMDIR所在位置的dicom文件的路径