Поддержка библиотеки pydicom при просмотре файлов DICOM на потерянном содержимом python

Я использую библиотеку pydicom, чтобы увидеть файл DICOM, как показано на рисунке 2, но я хочу вычислить число 3. Я не знаю, как это сделать. Вы помогаете мне направлять. Я благодарю тебя

import matplotlib.pyplot as plt
from matplotlib import pylab
import pydicom

filename = 'newfilename.dcm'
dataset = pydicom.dcmread(filename)
plt.imshow(dataset.pixel_array, cmap=pylab.cm.bone)
plt.show()

Ошибка изображения ссылки


person Trần Phan An Trường    schedule 26.04.2018    source источник


Ответы (1)


Ваша проблема связана с тем, что называется «Окно». Поскольку диапазон оттенков серого (обычно: -1000 ... + 4000) в файле DICOM выше, чем диапазон оттенков серого, который может отображать стандартная система отображения (0..255), диапазон оттенков серого будет извлечен из изображения. . Значения серого ниже этого диапазона отображаются на черный; значения серого выше этого диапазона отображаются на белый.

pylab.cm.bone

говорит, что окно было настроено, чтобы выделить кости, как в опубликованном вами изображении. Я просмотрел документацию по цветным картам, но никакое другое значение мне не кажется подходящим (может быть, это помогает поиграться с разными цветными картами). Я бы рекомендовал вам рассчитать собственную цветовую карту, основанную либо на гистограмме изображения, либо на настройках окон в заголовке DICOM изображения (атрибуты (0028,1050) и (0028,1051). Стандарт DICOM, часть 3, C.11.2 объясняет, как рассчитать LUT из значений окон.

person kritzel_sw    schedule 26.04.2018
comment
Могу ли я использовать этот исходный код? Решает ли это упомянутую вами проблему? github.com/pydicom/contrib-pydicom/blob/master/ зрители / - person Trần Phan An Trường; 26.04.2018
comment
Что ж, я не совсем уверен, но это выглядит очень многообещающе. - person kritzel_sw; 26.04.2018
comment
Большое тебе спасибо - person Trần Phan An Trường; 01.05.2018