How to generate skull striped image for all slices ?

1 view (last 30 days)
Hello
I'm working on masking out the skull from original gray scale MR image for just one slice using the following code :
outputImage = grayImage; % Initialize
outputImage(binaryImage) = 0; % Mask out.
Now, I want to calculate it for all slices(slice 1 to slice 14 ), I've maked a loop for that but this doesn't work:
for j=1:14
outputImage(:,:,j) = grayImage(:,:,j); % Initialize
outputImage(binaryImage(:,:,j)) = 0; % Mask out
end
Could anyone help me please ?

Accepted Answer

Image Analyst
Image Analyst on 13 Feb 2018
You need to do something like
[rows, columns, numSlices] = size(grayImage);
for k = 1 : numSlices
thisSlice = grayImage(:, :, k); % Extract one slice
skullStrippedImage = StripSkull(thisSlice); % Call function that strips skull off just one slice.
outputImage(:,:,k) = skullStrippedImage ;
end
  2 Comments
MMSAAH
MMSAAH on 13 Feb 2018
Edited: MMSAAH on 13 Feb 2018
Thank You for your response.
Actually, I've tried your code posted in this question.
This code works well for just one slice, now I want to run it for all MR slices using a loop. So I've not a function to call it that strips skull. Hope that you understand me ?
Image Analyst
Image Analyst on 13 Feb 2018
Then turn that code into a function called StripSkull
function skullStrippedImage = StripSkull(thisSlice)
% Code goes here....

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!