From 8c5251de0c33e9463c04cb2fe90df6aa007ae48e Mon Sep 17 00:00:00 2001
From: philippe piot <ppiot@anl.gov>
Date: Wed, 31 Jul 2024 23:33:10 -0500
Subject: [PATCH] update diagnstics for numpy 2.0

---
 AWAControl/diagnostics/screen.py              | 24 +++++++++----------
 .../diagnostics/utils/circle_detection.py     |  4 ++--
 .../diagnostics/utils/fitting_methods.py      |  2 +-
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/AWAControl/diagnostics/screen.py b/AWAControl/diagnostics/screen.py
index 88e5f31..0a9e6a1 100644
--- a/AWAControl/diagnostics/screen.py
+++ b/AWAControl/diagnostics/screen.py
@@ -340,11 +340,11 @@ class AWAImageDiagnostic(BaseModel):
             print(f"log10 image intensity {log10_total_intensity} below threshold")
 
             result = {
-                "Cx": np.NaN,
-                "Cy": np.NaN,
-                "Sx": np.NaN,
-                "Sy": np.NaN,
-                "bb_penalty": np.NaN,
+                "Cx": np.nan,
+                "Cy": np.nan,
+                "Sx": np.nan,
+                "Sy": np.nan,
+                "bb_penalty": np.nan,
                 "total_intensity": 10**log10_total_intensity,
                 "log10_total_intensity": log10_total_intensity,
             }
@@ -416,15 +416,15 @@ class AWAImageDiagnostic(BaseModel):
                 # bounding box constraint is active
                 if bb_penalty > 0 and self.apply_bounding_box_constraint:
                     for name in ["Cx", "Cy", "Sx", "Sy"]:
-                        result[name] = np.NaN
+                        result[name] = np.nan
 
             else:
                 result = {
-                    "Cx": np.NaN,
-                    "Cy": np.NaN,
-                    "Sx": np.NaN,
-                    "Sy": np.NaN,
-                    "bb_penalty": np.NaN,
+                    "Cx": np.nan,
+                    "Cy": np.nan,
+                    "Sx": np.nan,
+                    "Sy": np.nan,
+                    "bb_penalty": np.nan,
                     "total_intensity": fits["total_intensity"],
                     "log10_total_intensity": log10_total_intensity,
                 }
@@ -566,7 +566,7 @@ class AWAFrameGrabberDiagnostic(AWAImageDiagnostic):
             }
         else:
             # get pvs
-            results = caget_many(self.pv_names)
+            results = caget_many(self.pv_names, timeout=5.0)
             e_pvs = copy(self.extra_pvs)
             if self.target_charge_pv is not None:
                 e_pvs += [self.target_charge_pv]
diff --git a/AWAControl/diagnostics/utils/circle_detection.py b/AWAControl/diagnostics/utils/circle_detection.py
index 9bafa53..ae66754 100644
--- a/AWAControl/diagnostics/utils/circle_detection.py
+++ b/AWAControl/diagnostics/utils/circle_detection.py
@@ -30,7 +30,7 @@ class ScreenFinder:
             return
         self.points.append((event.xdata, event.ydata))
 
-        self.line.set_data(*np.asfarray(self.points).T)
+        self.line.set_data(*np.array(self.points).T)
 
         # draw a circle if the number of points is enough
         if len(self.points) > 3:
@@ -74,7 +74,7 @@ class ScreenFinder:
 
     def fit_circle(self, points):
         # https://scipy-cookbook.readthedocs.io/items/Least_Squares_Circle.html
-        npts = np.asfarray(points).T
+        npts = np.array(points).T
         x = npts[0]
         y = npts[1]
         x_m = np.mean(x)
diff --git a/AWAControl/diagnostics/utils/fitting_methods.py b/AWAControl/diagnostics/utils/fitting_methods.py
index 6c62510..04f88bd 100644
--- a/AWAControl/diagnostics/utils/fitting_methods.py
+++ b/AWAControl/diagnostics/utils/fitting_methods.py
@@ -157,7 +157,7 @@ def fit_gaussian_linear_background(y, inital_guess=None, visualize=True, n_resta
             fig, ax = plot_fit(x, normed_y, bad_candidate)
             ax.set_title("bad fit")
 
-        candidate = [np.NaN] * 4
+        candidate = [np.nan] * 4
 
     return candidate
 
-- 
GitLab