How to calculate the mean excluding zero voxels
2 views (last 30 days)
Show older comments
Hi,
I have a mask with different regions marked with values 1,2,3 and 4. The background is zero.
My data have some NaNs so I set those to 0. I then calculated the mean of my regions but in some cases there were NaNs and now are zero. I want to exclude these voxels from my calculation. My code is the following:
blood(isnan(blood))=0;
bloodmean = accumarray(double(mask(:))+1, blood(:), [], @mean)
Can someone help me to exclude the zero voxels from my calculation?
0 Comments
Answers (1)
Walter Roberson
on 29 Apr 2020
Leave the nans as nan, and then
bloodmean = accumarray(double(mask(:))+1, blood(:), [], @nanmean, 0);
0 Comments
See Also
Categories
Find more on Image Segmentation and Analysis 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!