DICOM, pixel value

3 views (last 30 days)
Deepa S
Deepa S on 8 Jan 2020
Commented: Deepa S on 8 Jan 2020
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 Comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 8 Jan 2020
Have you tried with dicom read?
Rik
Rik on 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.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jan 2020
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)

More Answers (1)

Selva Karna
Selva Karna on 8 Jan 2020
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;

Categories

Find more on DICOM Format in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!