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?

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?

(Answers Dev) Restored edit

Sign in to comment.

 Accepted Answer

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)

Categories

Asked:

on 18 Nov 2018

Edited:

on 15 Jan 2021

Community Treasure Hunt

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

Start Hunting!