Правильное отображение изображений DICOM ITK-VTK (изображения слишком темные)

Я читаю изображения dicom с помощью ITK, используя itk :: ImageSeriesReader и itk :: GDCMImageIO, после чтения я переворачиваю изображения с помощью itk :: FlipImageFilter (чтобы получить правильную ориентацию изображений) и преобразую itkImageData в vtkImageData, используя itk :: ImageToVTKImageFilter. Я визуализирую изображения с помощью VTK, используя vtkResliceImageViewer в QVTKWidget2.
Я установил:

 (vtkResliceImageViewer)m_imageViewer[i]->SetColorWindow(windowWidthTAGvalue[0028|1051]);
(vtkResliceImageViewer)m_imageViewer[i]->SetColorLevel(windowCenterTAGvalue[0028|1050]);

и я установил следующий Blac&белый LookUpTable:

   vtkLookupTable* lutbw = vtkLookupTable::New();
lutbw->SetTableRange(0,1000);
lutbw->SetSaturationRange(0,0);
lutbw->SetHueRange(0,0);
lutbw->SetValueRange(0,1);
lutbw->Build();

И изображения, показанные в моем программном обеспечении по сравнению с теми же изображениями, показанными в другом программном обеспечении, намного темнее, я не могу получить тот же эффект, что и другие зрители DICOM

Мои программные образы правильны, другой программный образ также остается, когда я использую какую-то другую LookUpTable в этом примере. Flow. Я не могу получить тот же эффект (изображения 2-й строки), мое изображение справа намного темнее, чем другое.

ImageCompare

Что мне не хватает, почему мои изображения темнее, что я могу сделать? Я много исследовал DICOM, и IKT / VTC не может найти хорошее решение, любая помощь ценится.

4

Решение

Проверьте значения для Rescale Slope (0028,1053) и Rescale Intercept (0028,1052) и примените преобразование Modality LUT перед применением уровня окна.
Ваш набор данных может иметь значение атрибута VOI LUT Function (0028,1056) «SIGMOID» вместо «LINEAR».

2

Другие решения

Я извлек данные изображения из одного из ваших файлов DICOM (brain_009.dcm) и посмотрел гистограмму данных изображения. Похоже, что минимальное значение, хранящееся на изображении, равно 0, а максимальное значение равно 960, независимо от того, интерпретируются ли данные как подписанные или без знака. Кроме того, ширина окна (0028: 1051) имеет недопустимое значение «0», и вы не можете использовать его для отображения изображения.
Таким образом, ваш дисплей по умолчанию может установить для ширины окна значение 960, а для центра окна — половину ширины окна плюс минимальное значение.

2

По вопросам рекламы [email protected]