From f49e0175172532c15ca1ded72d5a792865d86733 Mon Sep 17 00:00:00 2001
From: Cammille Carinan <cammille.carinan@xfel.eu>
Date: Wed, 19 Oct 2022 17:00:26 +0200
Subject: [PATCH] hRIXS: Use xarray.values instead of .to_numpy()

---
 doc/changelog.rst                  | 1 +
 src/toolbox_scs/detectors/hrixs.py | 6 +++---
 src/toolbox_scs/routines/boz.py    | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/doc/changelog.rst b/doc/changelog.rst
index 7e249af..930cba6 100644
--- a/doc/changelog.rst
+++ b/doc/changelog.rst
@@ -7,6 +7,7 @@ unreleased
 - **Bug fixes**
 
     - fix :issue:`61` regarding sign of XAS in some cases :mr:`207`
+    - Use xarray.values instead of .to_numpy() for backward-compatibility :mr:`214`
 
 - **Improvements**
 
diff --git a/src/toolbox_scs/detectors/hrixs.py b/src/toolbox_scs/detectors/hrixs.py
index 6282d85..8296652 100644
--- a/src/toolbox_scs/detectors/hrixs.py
+++ b/src/toolbox_scs/detectors/hrixs.py
@@ -331,7 +331,7 @@ class hRIXS:
         data = self.from_run(runNB, proposal)
 
         image = data['hRIXS_det'].sum(dim='trainId') \
-                .to_numpy()[self.X_RANGE, self.Y_RANGE].T
+                .values[self.X_RANGE, self.Y_RANGE].T
         if args is None:
             spec = (image - image[:10, :].mean()).mean(axis=1)
             mean = np.average(np.arange(len(spec)), weights=spec)
@@ -347,7 +347,7 @@ class hRIXS:
         ret = np.zeros((len(data["hRIXS_det"]), bins))
         for image, r in zip(data["hRIXS_det"], ret):
             c = centroid(
-                image.to_numpy()[self.X_RANGE, self.Y_RANGE].T,
+                image.values[self.X_RANGE, self.Y_RANGE].T,
                 threshold=self.THRESHOLD,
                 std_threshold=self.STD_THRESHOLD,
                 curvature=(self.CURVE_A, self.CURVE_B))
@@ -370,7 +370,7 @@ class hRIXS:
         for image, r in zip(data["hRIXS_det"], ret):
             if self.USE_DARK:
                 image = image - self.dark_image
-            r[:] = integrate(image.to_numpy()[self.X_RANGE, self.Y_RANGE].T, factor=1,
+            r[:] = integrate(image.values[self.X_RANGE, self.Y_RANGE].T, factor=1,
                              range=(10, bins - 10),
                              curvature=(self.CURVE_A, self.CURVE_B))
         data = data.assign_coords(
diff --git a/src/toolbox_scs/routines/boz.py b/src/toolbox_scs/routines/boz.py
index 3ba0b73..25ac0a2 100644
--- a/src/toolbox_scs/routines/boz.py
+++ b/src/toolbox_scs/routines/boz.py
@@ -1569,7 +1569,7 @@ def load_dssc_module(proposalNB, runNB, moduleNB=15,
     ppt = run[source, key][subset].data_counts()
     # ignore train with no pulses, can happen in burst mode acquisition
     ppt = ppt[ppt > 0]
-    tid = ppt.index.to_numpy()
+    tid = ppt.index.values
 
     ppt = np.unique(ppt)
     assert ppt.shape[0] == 1, "number of pulses changed during the run"
-- 
GitLab