如何使用fo-dicom正确创建DICOMDIR?

时间:2018-11-08 02:41:36

标签: c# dicom fo-dicom

我一直在尝试找到一种使用fo-dicom创建DICOMDIR文件的方法,并使其引用多个包含图像系列的文件,但到目前为止我还不能。

我已经成功阅读了DICOMDIR,系列甚至渲染图像。由此,我了解到DicomDirectory为患者提供了RootDirectoryRecordCollection,从那里您可以获得LowerLevelDirectoryRecordCollection用于研究,然后是Series,然后是Image。但是,当要构建该结构时(例如,为新研究创建DICOMDIR和Series文件),我找不到找到设置那些LowerLeverDirectoryRecords的方法。 RootDirectoryRecordCollection有一个Add方法,但是它需要一个DicomItem,所以我认为它是针对DicomDataset或DicomTag / Value的,其属性LowerLevelDirectoryRecordCollection是一个IEnumerable,因此那里没有Add。我也看到过AddFile方法,但是那里没有层次结构,所以我认为这是针对系列文件的。

有人成功创建了DICOMDIR并用fo-dicom引用了几个系列文件吗?怎么样?谢谢

1 个答案:

答案 0 :(得分:1)

它应该像这样简单:

var dicomDir = new DicomDirectory();
foreach (var file in dirInfo.GetFiles("*.*", SearchOption.AllDirectories))
{
    var dicomFile = Dicom.DicomFile.Open(file.FullName);
    dicomDir.AddFile(dicomFile, String.Format(@"000001\{0}", file.Name));
}
dicomDir.Save(dicomDirPath);

所有内部层级结构都会自动添加。 我从fo-dicom-samples存储库中获取了以下示例: https://github.com/fo-dicom/fo-dicom-samples/blob/master/Desktop/DICOM%20Media/Program.cs

相关问题