From d721b0f7b64fb5b399a36f907fda8bafbbaad9ae Mon Sep 17 00:00:00 2001 From: bruno-f-cruz <7049351+bruno-f-cruz@users.noreply.github.com> Date: Tue, 17 Mar 2026 00:59:30 -0700 Subject: [PATCH 1/2] Explicitly define Behavior Board event emission at startup --- src/workflows/foraging.bonsai | 46 +++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/src/workflows/foraging.bonsai b/src/workflows/foraging.bonsai index ce21209b8..77cac7884 100644 --- a/src/workflows/foraging.bonsai +++ b/src/workflows/foraging.bonsai @@ -2896,6 +2896,23 @@ BehaviorEvents + + + 1 + + + + Write + + PortDI PortDIO AnalogData Camera0 Camera1 + + + + BehaviorCommands + + + BehaviorEvents + @@ -3579,24 +3596,27 @@ - + - - - + + + - - - - + + + + - - - + + + - - + + + + + From f37f15cb0334ffa476ce0567c100cac24c35f82b Mon Sep 17 00:00:00 2001 From: Galen Lynch Date: Thu, 19 Mar 2026 17:26:59 -0700 Subject: [PATCH 2/2] Fix numpy crash when calling float() on 1D array --- pyproject.toml | 4 ++-- src/foraging_gui/MyFunctions.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5deac563e..f034a5e98 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ dependencies = [ "deepdiff >=8, <9", "aind-data-schema==1.1.0", "aind-data-schema-models==0.5.6", - "pydantic >=2.9.2, <3", + "pydantic==2.10.6", "stagewidget==1.0.5", "python-logging-loki >=0.3.1, <2", "pykeepass >=4.0.7, <5", @@ -103,4 +103,4 @@ profile = "black" [tool.interrogate] exclude = ["setup.py", "docs", "build", "tests"] -fail-under = 70 \ No newline at end of file +fail-under = 70 diff --git a/src/foraging_gui/MyFunctions.py b/src/foraging_gui/MyFunctions.py index 71f3289af..06dfc6809 100644 --- a/src/foraging_gui/MyFunctions.py +++ b/src/foraging_gui/MyFunctions.py @@ -500,7 +500,7 @@ def _generate_next_coupled_block(self): if self.TP_Randomness == "Exponential": self.BlockLen = np.array( int( - np.random.exponential(float(self.TP_BlockBeta), 1) + np.random.exponential(float(self.TP_BlockBeta)) + float(self.TP_BlockMin) ) ) @@ -520,7 +520,7 @@ def _generate_next_trial_other_paras(self): # get the ITI time and delay time if self.TP_Randomness == "Exponential": self.CurrentITI = float( - np.random.exponential(float(self.TP_ITIBeta), 1) + np.random.exponential(float(self.TP_ITIBeta)) + float(self.TP_ITIMin) ) elif self.TP_Randomness == "Even": @@ -531,7 +531,7 @@ def _generate_next_trial_other_paras(self): self.CurrentITI = float(self.TP_ITIMax) if self.TP_Randomness == "Exponential": self.CurrentDelay = float( - np.random.exponential(float(self.TP_DelayBeta), 1) + np.random.exponential(float(self.TP_DelayBeta)) + float(self.TP_DelayMin) ) elif self.TP_Randomness == "Even":