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