Я работаю с файлами DICOM с нескольких дней, используя FO-DICOM.Понимание BPP внутри изображений DICOM
Я использую набор файлов dicom для своих тестов, и я печатал значения «Фотометрическая интерпретация» и «Пример на пиксель», чтобы лучше понять, какие изображения я работать с.
Результат был «MONOCHROME2» для фотометрической интерпретации и «1» для образца на пиксель.
То, что я понял, прочитав часть 3 стандарта, состоит в том, что MONOCHROME2 представляет собой шкалу серого, начиная с черного для ее минимальных значений.
Но какой именно пример на пиксель? Я думал, что это было, представляющим число байт (а не бит) на пиксель (что было бы логично, чтобы иметь 8 битого на пиксель для шкалы серого права?)
Но моя проблема в том, что на самом деле , у моих изображений, похоже, 32 бит/с. Я работаю с 512 * 512 пикселями изображений, и я преобразовал их в массивы байтов. Поэтому я ожидал массивы 512 * 512 = 262144 байт. Но я получаю массивы 1048630 байт (что немного больше 4 * 262144)
У кого-нибудь есть объяснение?
EDIT:
Вот некоторые из моих DATAS:
PhotometricInterpretation=MONOCHROME2
SamplePerPixel=1
BitsAllocated=16
BitsStored=12
HighBit=11
PixelRepresentation=0
NumberOfFrames=0
О образцах данных: Беззнаковые 12-разрядные данные, закодированные с 16-битным выравниванием, нижние 12-байтовые значения пикселя. 0 - черный, 4096 - белый. Если это CT, я ожидаю, что у него будет атрибут RescaleSlope около -1000, который отображает значения пикселей в единицы hounsfield. Когда Rows = Cols = 512, pixeldata должен быть 0,5 МБ (512 * 512 * 2 байта), иначе набор данных неправильно кодируется. NumberOfFrames = 0 - это ошибка кодирования. –
... предположил, что набор данных несжатый –
Спасибо, я буду манипулировать этими данными, чтобы тренироваться и, возможно, вернуться позже, если еще что-то неясно :) – Charrette