Назначьте центр окна и ширину окна для изображения dicom

У меня есть файл изображения Dicom в формате dcm. В Matlab с помощью Dicomread я получил данные изображения, а с помощью dicominfo я получил центр окна и < strong>ширина окна этого файла dcm. Теперь я хочу отобразить изображение с помощью imshow на рисунке.

Мой код ниже,

ct = dicomread('E:\IM-0001-0001.dcm'); 
info = dicominfo('E:\IM-0001-0001.dcm');
figure
imshow(ct , [info.WindowCenter, info.WindowWidth]);

но выдает ошибку

 Error using checkDisplayRange (line 20)
HIGH must be greater than LOW.

Я знал, почему возникла эта ошибка. Она возникает из-за того, что значение центра окна больше, чем ширина окна.

Теперь мой вопрос

1. Является ли мой код правильным или неправильным для назначения уровня окна и ширины окна для изображения dcm?

2. Как назначить уровень окна и ширину окна для изображения dicom при возникновении вышеуказанного условия?


person Karthick Rajan    schedule 02.05.2015    source источник
comment
Можете ли вы предоставить изображение?   -  person Mark Setchell    schedule 02.05.2015
comment
используйте этот filedropper.com/im-0001-0001   -  person Karthick Rajan    schedule 02.05.2015


Ответы (2)


Просто рассчитайте самое высокое и самое низкое значение с помощью

low = center - width / 2
high = center + width / 2

и используйте эти значения для imshow

imshow(ct, [low, high])
person JohnnyQ    schedule 02.05.2015
comment
если я использую приведенный выше код, он дает неправильное изображение (например, полностью белое или полностью черное, или изображение нечеткое) @ JohnnyQ - person Karthick Rajan; 02.05.2015
comment
каковы ваши значения ширины / центра окна из dicominfo? - person JohnnyQ; 02.05.2015
comment
Центр окна — [-600, 50], а ширина окна — [1200 350]. - person Karthick Rajan; 02.05.2015
comment
Ну, в этом случае вы должны использовать (Центр, Ширина) (-600,1200) или (50,350) - person JohnnyQ; 02.05.2015
comment
я использую как [-600,1200]. - person Karthick Rajan; 02.05.2015
comment
При использовании вашего кода некоторые изображения отображаются правильно. но некоторые изображения отображаются неправильно (например, полностью белые или полностью черные). - person Karthick Rajan; 02.05.2015
comment
вам, возможно, придется рассмотреть пересечение и наклон при изменении масштаба. проверьте это [stackoverflow.com/questions/8756096/ (stackoverflow.com/questions/8756096/) - person JohnnyQ; 02.05.2015

Если я проверю это изображение с помощью команды ImageMagick identify, подобной этой, я получу следующее...

identify -verbose IM-0001-0001.dcm | grep -i window

dcm:WindowCenter: 2856.4189453125
dcm:WindowWidth: 2475.0

Я склонен верить этим значениям, поскольку ImageMagick отлично извлекает изображение, как показано ниже:

введите здесь описание изображения

Я бы посоветовал вам проверить значения окна с помощью другого программного обеспечения.

person Mark Setchell    schedule 02.05.2015
comment
Я не говорю о получении стоимости Windows. Я задал вопрос о том, как установить значения окна в функции imshow () в Matlab - person Karthick Rajan; 04.05.2015