Creating binary 3D mask from MR volume
Show older comments
Hello All,
I am trying to create a 3D binary mask for MR head volume. The image has 0 intensity for background and the tissue inside the image has integers. Morphological operations provide me very noisy output.

This is after bwconncomp, thresholding and imerode options.
Are there better ways to get volumetric masks?
8 Comments
darova
on 26 Apr 2020
What about imdilate?
banikr
on 26 Apr 2020
darova
on 26 Apr 2020
What about binarization? Did you try small threshold?
load clown
rgb = ind2rgb(X,map); % convert indexed image to RGB
I = im2bw(rgb,0.2); % binarize
imshowpair(rgb,I)
banikr
on 26 Apr 2020
Image Analyst
on 26 Apr 2020
It might not matter that it's "noisy". What do you plan on using the mask for?
Image Analyst
on 27 Apr 2020
I don't think the noise on the mask is the issue. Why did your classification routine quit classifying stuff below that line other than the blue stuff? For some reason, you have a mask that just quits below that line, and that has nothing to do with little noisy blips on it.
banikr
on 27 Apr 2020
Answers (2)
Mrutyunjaya Hiremath
on 27 Apr 2020
Hello banikr,
I think this is what you want ... if I am not wrong.
load mri;
% load mriVolume; %3D MRI data with data variable name 'mriVolume'
mriVolume = D;
% Assuming background pixels are 0
bwMask = false(size(mriVolume));
pixIndex = find(mriVolume > 0);
bwMask(pixIndex) = 1;
3 Comments
banikr
on 27 Apr 2020
Mrutyunjaya Hiremath
on 27 Apr 2020
@ banikr,
ok got it, if MRI data is possible to share, please share. love to work on it.
banikr
on 27 Apr 2020
banikr
on 29 Apr 2020
Categories
Find more on Image Segmentation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

