Как читать частные теги DICOM без чтения / загрузки данных пикселей? - PullRequest
2 голосов
/ 19 февраля 2020

Я хотел бы прочитать частные теги DICOM. Эти закрытые теги находятся под шестнадцатеричным тегом x7fe11001.
Мне известна одна из конфигураций pydicom, которая считывает до тех пор, пока не начнутся пиксельные данные (поэтому память не загружается).

pydicom.dcmread(raw, defer_size="2 MB", stop_before_pixels=True)

Но частные теги Я пытаюсь прочитать после данных пикселей. Поэтому я заканчиваю загрузку полного файла в память, что не является оптимальным. Каковы другие способы его оптимального чтения?
Я знаю, что для вышеуказанного метода есть параметр конфигурации, называемый specific_tags. Но я не смог найти примеров того, как его использовать.

Любые предложения по чтению метаданных DICOM без загрузки пиксельных данных в память были бы замечательными.

1 Ответ

3 голосов
/ 19 февраля 2020

Вы правы, specific_tags является правильным способом сделать это:

ds = pydicom.dcmread(raw, specific_tags=[Tag(0x7fe1, 0x1001)]

В этом случае ds должен содержать только ваш личный тег и тег Specific Character Set (который всегда читать).
Поскольку DICOM является последовательным форматом, другие теги по-прежнему необходимо пропускать один за другим, но их значение не читается.
Обратите внимание, что в specific_tags можно поместить любое количество тегов. аргумент.

...