Вы пытаетесь получить доступ к IconImageSequence (0088,0200), который явно отсутствует.DicomDir содержит только некоторые основные данные изображения.При добавлении изображения в dicomdir вы можете добавить дополнительную информацию.Одна из тех необязательных сведений, которые fo-dicom не добавляет автоматически, - это Icon.DicomDir позволяет содержать небольшую иконку для отображения, если вы хотите быстро отобразить некоторые предварительные просмотры.
На самом деле imageRecord
должен содержать всю информацию, которая может вам понадобиться, например, instanceuid или имя файла и т. Д.
Я не знаюНе знаю, почему строка кода работала хорошо, прежде чем вы сохранили файл с fo-dicom.Я предполагаю, что уже был DICOMDIR, созданный с другим приложением, которое включало Icon?затем происходит сбой foreach при достижении новой добавленной записи.
Вы можете либо добавить Icon самостоятельно при добавлении нового экземпляра в DICOMDIR, либо добавить проверку типа «if imageRecord.TryGetSequece (iconImageSequence, outseq) .. "для обработки случаев, когда нет значков.
Я рекомендую добавить проверку в любом случае, потому что вы можете прочитать DICOMDIR со ссылкой на какой-то структурированный отчет, а эти структурированные отчеты неиметь данные пикселей и поэтому не будет иметь включенного значка.