diff --git a/src/geomtools/powder/misc.py b/src/geomtools/powder/misc.py index 76a7e9ef3f02509a8ee31adb2cebe37e3f97c494..8427bae43a9983cd92f2d0c0e7b29121e7763573 100644 --- a/src/geomtools/powder/misc.py +++ b/src/geomtools/powder/misc.py @@ -2,13 +2,14 @@ import numpy as np def azint_fast(ri, img, mask=None, nan=np.nan): + max_ri = np.max(ri) if mask is None: r, v = ri, img else: r = ri[~mask] v = img[~mask] - n = np.bincount(r) - rdf = np.bincount(r, weights=v) + n = np.bincount(r, minlength=max_ri + 1) + rdf = np.bincount(r, weights=v, minlength=max_ri + 1) np.divide(rdf, n, where=n > 0, out=rdf) rdf[n == 0] = nan return rdf