DICOM - SequenceDelimitationItem с определенной длиной
Можно ли использовать SequenceDelimitationItem вместе с определенной длиной в DICOM?
Это один из способов: если не определена длина, то должен присутствовать SequenceDelimitationItem?
Или это два пути: если и только если IDI присутствует, если и только если установлена Неопределенная длина?
Я думаю, что первый взгляд на это немного упрощает алгоритмы чтения. Плюс длины неизвестных последовательностей могут быть рассчитаны один раз и сохранены без анализа всей неизвестной подструктуры?
2 ответа
Стандарт DICOM позволяет смешивать элементы явной длины и неопределенной длины в одном наборе данных. Как, например, элемент данных SQ неопределенной длины, инкапсулирующий элементы явной длины (см. PS 3.5, таблица 7.5-2.). В этом случае вам понадобится элемент разграничения последовательности (FFFE, E0DD) без тега разграничения элементов (FFFE, E00D).
Другой пример, предоставленный стандартом, показывает элемент данных SQ неопределенной длины, инкапсулирующий элементы как явной, так и неопределенной длины (см. Таблицу 7.5-3). Для этого потребуется тег разграничения элементов (FFFE, E00D) для элемента с неопределенной длиной, а также элемент разделения последовательностей (FFFE, E0DD).
Также обратите внимание, что явная последовательность длины не очень распространена.
См. Dicom часть 5, 7.5.2.
Если у вас неопределенная длина, вам обязательно нужно использовать элементы разделения последовательности (теги) и теги разделения элементов
Если вы определили длину (n), вы можете поместить все в эти n байтов (включая любой тег и элемент, который вы хотите). Но это не будет в рамках определения Dicom. Это будут просто данные. и то, что там, зависит от значения этих данных.