def geometric_mean(array, axis=0):
    non_zero = ma.masked_values(array, 0)
    log_a = ma.log(non_zero)
    return ma.exp(log_a.mean(axis=axis))
return the geometric mean of an array removing all zero-values but
dataset/ETHPy150Open CGATOxford/cgat/CGAT/Counts.py/geometric_mean