Использование gdcm (Grassroots DICOM) для распаковки данных изображения DICOM
Можно ли использовать обертки Python для GDCM для декодирования данных изображения в файле DICOM?
у меня есть byte array
/ string
с bytes
данных изображения в файле DICOM (т.е. содержимое тега 7fe0,0010
("Пиксельные данные")), и я хочу декодировать изображение в нечто необработанное RGB или в оттенках серого.
Я думаю о чем-то вроде этого, но работаю только с данными изображения, а не путем к самому файлу DICOM.
1 ответ
Вы можете прочитать примеры, есть пример, который показывает, как можно взять входной сжатый DICOM и преобразовать его в несжатый. Смотрите код онлайн здесь:
Если вы большой поклонник NumPy, проверьте:
Это своего рода пример низкого уровня, который показывает, как извлечь этот фактический необработанный буфер изображения.
Гораздо лучше класс для обработки Transfer Syntax
преобразование будет использовать gdcm.ImageChangeTransferSyntax
класс (разрешить распаковку иконки)
Если вы не возражаете читать немного C++, вы можете тривиально преобразовать следующий код из C++ в Python:
Обратите внимание, что этот пример на самом деле сжимает изображение, а не распаковывает его.
Наконец, если у вас действительно есть доступ только к значениям данных, содержащимся в атрибуте Pixel Data, то вам стоит взглянуть на него (синтаксис C# должен быть близок к синтаксису Python):
В этом примере показано, как можно распаковать файл JPEG без потерь, неиерархический, прогнозирования первого порядка. Данные JPEG считываются из файла, но они должны работать, если данные уже находятся в памяти для вашего случая.