def normalize(x, sf, logtrans=True, sfnorm=True, zeromean=True):
if sfnorm:
assert len(sf.shape) == 1
x = x / (sf[:, None]+1e-8) # colwise div
if logtrans:
x = np.log1p(x)
if zeromean:
x = scale(x)
return x