how to proceed to find specific pixel value range (suppose 1000 to 1500) in a 512x512 16 uint DICOM image and color this range with yellow or any color ?

2 commentaires

KALYAN ACHARJYA
KALYAN ACHARJYA le 8 Jan 2020
Have you tried with dicom read?
Rik
Rik le 8 Jan 2020
Note that in the case of CT you need to account for the RescaleSlope and RescaleIntercept DICOM attributes to scale the data to HU. If you want to do that, you will need to use either the double data type, or int16 to account for negative values.

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 8 Jan 2020

0 votes

img = dicomread(FileName);
mask = 1000 <= img & img <= 1500;
R = img; R(mask) = 0; %yellow is 0, max, max
G = img; G(mask) = intmax(class(img));
B = img; B(mask) = intmax(class(img));
RGB = cat(3, R, G, B);
image(RGB)

Plus de réponses (1)

Selva Karna
Selva Karna le 8 Jan 2020

1 vote

clc
clear all;
close all;
your_dcm=dcmread('dcm/root');
ms=your_dcm>=a&your_dcm>=b;
rl=your_dcm;
fhol=find(ms==1);
rl(fhol)=0;
RGB_IMAGE(:,:,1)=rl;
RGB(:,:,2)=your_dcm;
RGB(:,:,3)=your_dcm;

Catégories

En savoir plus sur DICOM Format dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by