Рендеринг и представление пиксельных данных DICOM без потерь

Я цитирую :

DICOM поддерживает до 65 536 (16 бит) оттенков серого для отображения монохромных изображений, улавливая малейшие нюансы медицинской визуализации. Для сравнения, преобразование изображений DICOM в JPEG или растровые изображения (с ограничением до 256 оттенков серого) часто делает изображения неприемлемыми для диагностического чтения. - Цифровая визуализация и коммуникация в медицине (DICOM): практическое введение и руководство по выживанию, Олег С. Пяных

Поскольку я новичок в обработке изображений, я использую для обработки цветных и монохромных изображений с 256 уровнями, поэтому для изображений Dicom, в каком представлении я должен обрабатывать пиксели, не отображая их до 256 уровней?, Из-за потери информации.

примечание: если вы можете поставить лучший ответ на этот вопрос, пожалуйста, не стесняйтесь, я с трудом это делаю, и я не нашел хорошего.


person ZSmain    schedule 22.09.2018    source источник
comment
Стандартный метод - использовать управление окнами и выравнивание, при котором вы выбираете подмножество 16-битного диапазона (управление окнами) и устанавливаете окно на определенную точку в данных (выравнивание). Посмотрите примеры с открытым исходным кодом, например GDCM.   -  person john elemans    schedule 23.09.2018
comment
@johnelemans, на данный момент я не очень разбираюсь в окнах и выравнивании, поэтому я провожу небольшое исследование, спасибо, вы дали эту ссылку для примеров, я люблю учиться на примерах.   -  person ZSmain    schedule 25.09.2018


Ответы (1)


Сначала вы должны поместить пиксели изображения через преобразование Modality VOI / LUT, чтобы преобразовать зависящие от модальности значения в известные единицы (например, Хаунсфилд или оптическая плотность).

Затем вся ваша обработка должна выполняться для всего диапазона значений (не конвертируйте 16-битные значения в 8-битные).

Представление (визуализация) может выполняться с использованием масштабированных значений (с использованием 8-битных значений), обычно передавая данные через VOI / LUT представления (ширина окна или LUT).

См. Это для преобразования модальности: изменение масштаба и пересечение масштабирования

См. Это для окна / ширины: Ширина и центр окна расчет изображения DICOM

person Paolo Brandoli    schedule 24.09.2018
comment
Спасибо, сэр, я подойду к этому ответу (чтобы он был принят) позже, увидев ссылки и проведя небольшое исследование, еще раз спасибо. - person ZSmain; 25.09.2018
comment
Я использую библиотеку Dcmtk, и я использовал getVoiLutFunction(), и эта функция возвращает три разных enum выхода (EFV_Linear, EFV_Sigmoid, EFV_Default), а для моего текущего изображения CT я получаю значение EFV_Default, вопрос в том, как я могу сделать преобразование имея это возвращаемое значение функции? - person ZSmain; 30.09.2018
comment
Я просмотрел стандартную документацию и обнаружил, что функция VOI LUT может иметь одно из трех значений (LINEAR, LINEAR_EXACT, SIGMOID), и они упоминают, что LINEAR по умолчанию, когда атрибут (VOI LUT Function) отсутствует, я не понимаю, что подходит для DCMTK EFV_Default enum - person ZSmain; 30.09.2018