Extract 3D cells with nonzero elements, from a 3D cell array.
Show older comments
Hi guys! I have binary masks saved in 3D arrays (e.g. Mask(:,:,40), see attached Matlab file) and I want to extract only the 3D cell arrays which contain nonzero elements in a sequential order (e.g. if these are 20, then NMask(:,:,20)). Any ideas would be much appreciated.
1 Comment
Stephen23
on 12 Sep 2016
See Guillaume's answer for a much simpler solution.
Accepted Answer
More Answers (1)
Guillaume
on 12 Sep 2016
Well, if you want nice and concise:
filteredmask = Combinedmask(:, :, any(any(Combinedmask, 1), 2))
No need for cell arrays, loops, ifs, etc., just one line.
1 Comment
George Papas
on 12 Sep 2016
Categories
Find more on Multidimensional Arrays 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!