2013-05-08 3 views
0

Я использую dcmtk для извлечения данных изображения из данных dicom. Теперь я следующую информацию для образца изображения:Почему значение моего пикселя DICOM превышает атрибут «Максимальное значение пикселя изображения»?

  • (0028,0002) сэмплов на пиксель: 1
  • (0028,0004) Фотометрический Интерпретация: MONOCHROME2
  • (0028,0010) Ряды: 256
  • (0028,0011) Колонки: 256
  • (0028,0030) Пиксел интервал: 1.5625 \ 1.5625
  • (0028,0100) Биты Выделено: 16
  • (0028,0101) Биты Stored: 12
  • (0028,0102) Высокая Бит: 11
  • (0028,0103) Пиксел Представление: 0
  • (0028,0106) Наименьший изображения значение пикселя: 1
  • (0028,0107) самого большого изображения значение пикселя: 1060
  • (0028,1050) окно Центр: 474
  • (0028,1051) окно Ширина: 1000
  • (0028,1055) окно Центр & Ширина Объяснение: Algo1

Когда я применил значение окна/центра к реальному значению пикселя данных, многие из них являются белыми. Я повторяю значения пикселей, а затем обнаружил, что много значений пикселей (больше 80%) превышает . Максимальное значение пикселя изображения. Многие из них находятся за пределами 5x крупнейших! Это привело к тому, что в результате получилось изображение белого цвета. Странно, я не понимаю, почему, когда я разделяю значения пикселей на 256, то результирующее изображение находится рядом с изображением, которое я ожидаю. Я не понимаю, почему это правда.

Может быть, это хорошо, чтобы увидеть другой неизвестный атрибут:

  • (0019,1009) Неизвестный: 1,0
  • (0019,100b) Неизвестный: 245
  • (0019,1016) Неизвестный: 25,53

Почему это случилось с моим изображением?

+0

У вас есть содержимое для элементов перемасштабирования?Я имею в виду, перемасштабировать перехват (0028, 1052) и наклон масштабирования (0028, 1053). Также может быть полезно прикрепить изображение, показывающее вывод изображения. В любом случае, эта страница может быть очень полезной для вас: http://dicomiseasy.blogspot.com.es/2012/08/chapter-12-pixel-data.html – jap1968

+0

В заголовке моего образца ничего подобного нет. Все вещи для группы 0028, которую я перечислил. Многие из значений (80 процентов) выходят из окна, все идет в белый цвет, но другие зрители показывают это изображение, как я ожидаю. –

+0

Вы читаете необработанные значения как unsigned или как подписанные значения? Значение пиксельного представления элемента данных (0028,0103) 'равно 0 (вы должны прочитать их как целые числа без знака) – jap1968

ответ

1

Вы можете проверить, что вы читаете только 12 бит каждого пикселя? т.е. вы применили что-то в этих строках

int value = ((byte [0] & < < 8) | байты [1];

и не

INT значение = (байт [0] < < 8) | байты [1];

+0

Отличная догадка! Спасибо. –

0

Я не видел данные вашего изображения, но из того, что вы говорите, я думаю, что это проблема с энтианностью. Теперь я не работал с gdcmtk экстенсивно, но в gdcm у нас есть возможность установить достоверность данных. Попробуйте установить континент немного, а не большой. Если бы вы могли предоставить мне файл dicom, я могу попробовать прочитать его с помощью gdcm.