def check_blank_slices(volume, slice_dim='z'):
idx_dim = 'zyx'.find(slice_dim)
axes_other = tuple(i for i in range(3) if (i != idx_dim))
assert idx_dim >= 0
means = np.mean(volume, axis=axes_other)
assert means.ndim == 1
threshold = 10
median_of_means = np.median(means)
mask_bads = np.logical_or(means < threshold, means < 0.5*median_of_means)
if np.count_nonzero(mask_bads):
idx_bads = np.flatnonzero(mask_bads)
msg = 'bad {:s}: {:s}'.format(slice_dim, str(tuple(idx_bads)))
return False, msg
return True, 'okay'
评论列表
文章目录