Как правильно создать DICOMDIR с помощью fo-dicom? - PullRequest
0 голосов
/ 08 ноября 2018

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

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

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

1 Ответ

0 голосов
/ 08 ноября 2018

Это должно быть так же просто, как:

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

...