From b8a0223223c141cc82ea8703388fae3671ba1e48 Mon Sep 17 00:00:00 2001 From: Egor Sobolev <egor.sobolev@xfel.eu> Date: Thu, 22 Aug 2024 13:01:27 +0200 Subject: [PATCH] Fix minimum lenght in fast azimuthal integration (numpy.bincount) --- src/geomtools/powder/misc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/geomtools/powder/misc.py b/src/geomtools/powder/misc.py index 76a7e9e..8427bae 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 -- GitLab