How to display specified slice as an image?

7 views (last 30 days)
Matlab has some data from an MRI scan built-in.
I can load it in 3 lines:
load mri; %load the sample data from Mathworks
D = double(squeeze(D));
D=D/max(D(:)); %Normalize to 0-1 range
So what I find that D has size 128 128 27
How can I write a function showslice(MRIdata, slice) that displays the specified slice as an image?
  2 Comments
Stephen23
Stephen23 on 20 Nov 2020
Edited: John Kelly on 15 Jan 2021
Original question on 18 Nov 2018:
How to display specified slice as an image?
Matlab has some data from an MRI scan built-in.
I can load it in 3 lines:
load mri; %load the sample data from Mathworks
D = double(squeeze(D));
D=D/max(D(:)); %Normalize to 0-1 range
So what I find that D has size 128 128 27
How can I write a function showslice(MRIdata, slice) that displays the specified slice as an image?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 18 Nov 2018
Edited: Image Analyst on 18 Nov 2018
Try this
fontSize = 16;
load mri; %load the sample data from Mathworks
D = double(squeeze(D));
D=D/max(D(:)); %Normalize to 0-1 range
maxValue = max(D(:))
for k = 1 : size(D, 3)
thisSlice = D(:, :, k);
subplot(5, 6, k);
imshow(thisSlice, [0, maxValue]);
caption = sprintf('Slice #%d', k);
title(caption, 'FontSize', fontSize);
drawnow;
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!