dicomwrite creates a black and white image, why?
Show older comments
Hi there,
I have a problem in writing and reading a dicom CT image , I explained in the code below, I think I miss something, would you please let me know what I miss. Thanks a lot.
x=dicomread('t3.dcm'); % a grayscale image
metadata=dicominfo('t3.dcm');
... process x data
imshow(x,[]); % a correct grayscale image
dicomwrite (x,'t1.dcm',metadata);
x1=dicomread('t1.dcm');
imshow(x1,[]); % it is a black and white image, why?
Answers (2)
venkat vasu
on 1 Aug 2012
2 votes
info = dicominfo('CT-MONO2-16-ankle.dcm'); I = dicomread(info); dicomwrite(I,'ankle.dcm',info);
this code will help you...
Sean de Wolski
on 1 Aug 2012
What is the class of x after you read it in?
class(x) %?
And after this:
max(x(:))
min(x(:))
I would guess you are writing the file out and not accounting for the class of the data, causing it to scale wierdly or saturate at the edges.
Categories
Find more on Read and Write Image Data from Files in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!