dicom, subplot, code rectify

I have 381 dicom images and trying to subplot each image as original and after masking but my code is plotting the last read image only. can somebody help with the code to plot all image.
Folder = '';
file = fullfile(Folder, '*.dcm');
image = dir(file);
for k = 1:length(image)
FileName = image(k).name;
fullFileName = fullfile(Folder, FileName);
I= dicomread(fullFileName);
mask = a > I & I> b; %a=2000, b=1500
R = I; R(mask) = 0;
G = I; G(mask) = intmax(class(I));
B = I; B(mask) = intmax(class(I));
RGB = cat(3, R, G, B); %final masked image
subplot(1,2,1),imshow(RGB) % masked image
subplot(1,2,2),imshow(I,[ ]) %original image
end

3 件のコメント

Walter Roberson
Walter Roberson 2020 年 1 月 10 日
Perhaps montage()
Unless your images are quite small you would have a lot of difficulty displaying 381*2 at the same time.
You could put a
figure()
call before the subplot, but that would create 381 figures which is not workable.
Deepa S
Deepa S 2020 年 1 月 10 日
no, i dont want to show all image in montage. i want each image like attached picture but my code is reading o nly the last image not all.
Walter Roberson
Walter Roberson 2020 年 1 月 10 日
Put in a call to
figure()
right before the first call to subplot()

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDICOM Format についてさらに検索

タグ

質問済み:

2020 年 1 月 10 日

コメント済み:

2020 年 1 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by