Как правильно создать DICOMDIR с помощью fo-dicom?

Я пытался найти способ использовать fo-dicom для создания файла DICOMDIR и сделать так, чтобы он ссылался на несколько файлов, содержащих серии изображений, но пока не могу.

Я успешно прочитал DICOMDIR, сериалы и даже отрендеренные изображения. Из этого я смог понять, что DicomDirectory имеет RootDirectoryRecordCollection для пациентов, и оттуда у вас есть LowerLevelDirectoryRecordCollection для исследований, затем серии, а затем изображения. Но когда дело доходит до построения этой структуры (например, для создания файлов DICOMDIR и Series для новых исследований), я не могу найти способ установить эти LowerLeverDirectoryRecords; RootDirectoryRecordCollection имеет Add метод, но он требует DicomItemтак что я беру это для DicomDataset или DicomTag/Value, и его свойство LowerLevelDirectoryRecordCollection является IEnumerableтак что нет Add там. Я также видел AddFile метод, но там нет иерархии, поэтому я предположил, что это для файлов серии.

Кто-нибудь успешно создал DICOMDIR и сделал ссылку на несколько файлов серии с помощью fo-dicom? Как? Спасибо

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

Другие вопросы по тегам