From c272c6047f7343dbf377a0bafb193edeedda1b62 Mon Sep 17 00:00:00 2001 From: Micah Woodard Date: Mon, 17 Aug 2026 10:17:05 -0700 Subject: [PATCH 1/4] adds offset to iti distribution --- .../block_based_trial_generator.py | 4 +++- .../coupled_baiting/stages.py | 22 +++++++++++++------ .../uncoupled/stages.py | 22 +++++++++++++------ .../uncoupled_baiting/stages.py | 22 +++++++++++++------ 4 files changed, 48 insertions(+), 22 deletions(-) diff --git a/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py b/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py index 934d90a..4d74a1a 100644 --- a/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py +++ b/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py @@ -9,6 +9,7 @@ ExponentialDistribution, ExponentialDistributionParameters, TruncationParameters, + ScalingParameters, ) from aind_behavior_services.task.distributions_utils import draw_sample from pydantic import BaseModel, Field @@ -99,7 +100,8 @@ class BlockBasedTrialGeneratorSpec(BaseTrialGeneratorSpecModel): inter_trial_interval_duration: Distribution = Field( default=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1 / 2), - truncation_parameters=TruncationParameters(min=1, max=8), + truncation_parameters=TruncationParameters(max=8), + scaling_parameters=ScalingParameters(scale=1), ), description="Distribution describing the inter-trial interval (in seconds).", ) diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py index 0f28006..fbccb70 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py @@ -29,6 +29,7 @@ Scalar, ScalarDistributionParameter, TruncationParameters, + ScalingParameters, ) from ..metrics import metrics_from_dataset @@ -54,7 +55,8 @@ def make_s_stage_1_warmup(): block_length=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -95,7 +97,8 @@ def make_s_stage_1_warmup(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -152,7 +155,8 @@ def make_s_stage_1(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -207,7 +211,8 @@ def make_s_stage_2(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=0.2), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=10), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=10), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.3)), is_baiting=True, @@ -262,7 +267,8 @@ def make_s_stage_3(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=15), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=15), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.5)), is_baiting=True, @@ -313,7 +319,8 @@ def make_s_stage_final(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=30), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=30), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), is_baiting=True, @@ -362,7 +369,8 @@ def make_s_stage_graduated(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=30), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=30), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), is_baiting=True, diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py index 5ecd928..837685c 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py @@ -33,6 +33,7 @@ from aind_behavior_services.task.distributions import ( ExponentialDistribution, ExponentialDistributionParameters, + ScalingParameters, Scalar, ScalarDistributionParameter, TruncationParameters, @@ -72,7 +73,8 @@ def make_s_stage_1_warmup(): block_length=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -113,7 +115,8 @@ def make_s_stage_1_warmup(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -178,7 +181,8 @@ def make_s_stage_1(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -233,7 +237,8 @@ def make_s_stage_2(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=0.2), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=10), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=10), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.3)), is_baiting=False, @@ -280,7 +285,8 @@ def make_s_stage_3(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=15), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=15), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.5)), is_baiting=False, @@ -314,7 +320,8 @@ def make_s_stage_final(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=30), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=30), + scaling_parameters=ScalingParameters(offset=1), ), autowater_parameters=None, quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), @@ -366,7 +373,8 @@ def make_s_stage_graduated(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=30), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=30), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), is_baiting=False, diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py index d40bb8d..77672d7 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py @@ -33,6 +33,7 @@ from aind_behavior_services.task.distributions import ( ExponentialDistribution, ExponentialDistributionParameters, + ScalingParameters, Scalar, ScalarDistributionParameter, TruncationParameters, @@ -69,7 +70,8 @@ def make_s_stage_1_warmup(): block_length=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -110,7 +112,8 @@ def make_s_stage_1_warmup(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -167,7 +170,8 @@ def make_s_stage_1(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=7), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=7), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.1)), is_baiting=True, @@ -222,7 +226,8 @@ def make_s_stage_2(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=0.2), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=10), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=10), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.3)), is_baiting=True, @@ -269,7 +274,8 @@ def make_s_stage_3(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=15), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=15), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=0.5)), is_baiting=True, @@ -314,7 +320,8 @@ def make_s_stage_final(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=30), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=30), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), is_baiting=True, @@ -357,7 +364,8 @@ def make_s_stage_graduated(): ), inter_trial_interval_duration=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1.0 / 3), - truncation_parameters=TruncationParameters(truncation_mode="clamp", min=1, max=30), + truncation_parameters=TruncationParameters(truncation_mode="clamp", min=0, max=30), + scaling_parameters=ScalingParameters(offset=1), ), quiescent_duration=Scalar(distribution_parameters=ScalarDistributionParameter(value=1)), is_baiting=True, From 2f8cfb6f7b2ff67049b55b164761e38f8462c441 Mon Sep 17 00:00:00 2001 From: Micah Woodard Date: Mon, 17 Aug 2026 10:18:25 -0700 Subject: [PATCH 2/4] regenerates schemas --- schema/coupled_baiting.json | 49 +++++++++++++------ schema/uncoupled.json | 49 +++++++++++++------ schema/uncoupled_baiting.json | 49 +++++++++++++------ .../block_based_trial_generator.py | 2 +- .../coupled_baiting/stages.py | 2 +- .../uncoupled/stages.py | 2 +- .../uncoupled_baiting/stages.py | 2 +- 7 files changed, 109 insertions(+), 46 deletions(-) diff --git a/schema/coupled_baiting.json b/schema/coupled_baiting.json index ce6bf96..93ba3ac 100644 --- a/schema/coupled_baiting.json +++ b/schema/coupled_baiting.json @@ -40,10 +40,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Scalar", @@ -113,10 +116,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -218,10 +224,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -321,10 +330,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 10.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -424,10 +436,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 15.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -527,10 +542,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 30.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -634,10 +652,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 30.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", diff --git a/schema/uncoupled.json b/schema/uncoupled.json index 6e231b8..c233ce8 100644 --- a/schema/uncoupled.json +++ b/schema/uncoupled.json @@ -40,10 +40,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Scalar", @@ -113,10 +116,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -218,10 +224,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -321,10 +330,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 10.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -424,10 +436,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 15.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Uniform", @@ -514,10 +529,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 30.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Uniform", @@ -600,10 +618,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 30.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Uniform", diff --git a/schema/uncoupled_baiting.json b/schema/uncoupled_baiting.json index 61cd533..6157504 100644 --- a/schema/uncoupled_baiting.json +++ b/schema/uncoupled_baiting.json @@ -40,10 +40,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Scalar", @@ -113,10 +116,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -218,10 +224,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 7.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -321,10 +330,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 10.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Exponential", @@ -424,10 +436,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 15.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Uniform", @@ -514,10 +529,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 30.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Uniform", @@ -600,10 +618,13 @@ }, "truncation_parameters": { "truncation_mode": "clamp", - "min": 1.0, + "min": 0.0, "max": 30.0 }, - "scaling_parameters": null + "scaling_parameters": { + "scale": 1.0, + "offset": 1.0 + } }, "block_length": { "family": "Uniform", diff --git a/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py b/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py index 4d74a1a..213f261 100644 --- a/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py +++ b/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py @@ -8,8 +8,8 @@ Distribution, ExponentialDistribution, ExponentialDistributionParameters, - TruncationParameters, ScalingParameters, + TruncationParameters, ) from aind_behavior_services.task.distributions_utils import draw_sample from pydantic import BaseModel, Field diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py index fbccb70..603dd48 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/coupled_baiting/stages.py @@ -28,8 +28,8 @@ ExponentialDistributionParameters, Scalar, ScalarDistributionParameter, - TruncationParameters, ScalingParameters, + TruncationParameters, ) from ..metrics import metrics_from_dataset diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py index 837685c..01225b3 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled/stages.py @@ -33,9 +33,9 @@ from aind_behavior_services.task.distributions import ( ExponentialDistribution, ExponentialDistributionParameters, - ScalingParameters, Scalar, ScalarDistributionParameter, + ScalingParameters, TruncationParameters, UniformDistribution, UniformDistributionParameters, diff --git a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py index 77672d7..b42636c 100644 --- a/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py +++ b/workspace/aind_behavior_dynamic_foraging_curricula/src/aind_behavior_dynamic_foraging_curricula/uncoupled_baiting/stages.py @@ -33,9 +33,9 @@ from aind_behavior_services.task.distributions import ( ExponentialDistribution, ExponentialDistributionParameters, - ScalingParameters, Scalar, ScalarDistributionParameter, + ScalingParameters, TruncationParameters, UniformDistribution, UniformDistributionParameters, From b3d9b4df5d6c2f6e36bad21ec02286b00e710a38 Mon Sep 17 00:00:00 2001 From: Micah Woodard Date: Mon, 17 Aug 2026 10:52:09 -0700 Subject: [PATCH 3/4] fixes scale in iti default --- .../task_logic/trial_generators/block_based_trial_generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py b/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py index 213f261..f4f6736 100644 --- a/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py +++ b/src/aind_behavior_dynamic_foraging/task_logic/trial_generators/block_based_trial_generator.py @@ -101,7 +101,7 @@ class BlockBasedTrialGeneratorSpec(BaseTrialGeneratorSpecModel): default=ExponentialDistribution( distribution_parameters=ExponentialDistributionParameters(rate=1 / 2), truncation_parameters=TruncationParameters(max=8), - scaling_parameters=ScalingParameters(scale=1), + scaling_parameters=ScalingParameters(offset=1), ), description="Distribution describing the inter-trial interval (in seconds).", ) From f2b3b1821aea65fa02d1db068b834a866b4b5c5e Mon Sep 17 00:00:00 2001 From: Micah Woodard Date: Mon, 17 Aug 2026 11:37:48 -0700 Subject: [PATCH 4/4] regenerates --- schema/aind_behavior_dynamic_foraging.json | 35 +++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/schema/aind_behavior_dynamic_foraging.json b/schema/aind_behavior_dynamic_foraging.json index 72e759d..633f428 100644 --- a/schema/aind_behavior_dynamic_foraging.json +++ b/schema/aind_behavior_dynamic_foraging.json @@ -481,10 +481,13 @@ }, "truncation_parameters": { "max": 8.0, - "min": 1.0, + "min": 0.0, "truncation_mode": "exclude" }, - "scaling_parameters": null + "scaling_parameters": { + "offset": 1.0, + "scale": 1.0 + } }, "description": "Distribution describing the inter-trial interval (in seconds)." }, @@ -883,10 +886,13 @@ }, "truncation_parameters": { "max": 8.0, - "min": 1.0, + "min": 0.0, "truncation_mode": "exclude" }, - "scaling_parameters": null + "scaling_parameters": { + "offset": 1.0, + "scale": 1.0 + } }, "description": "Distribution describing the inter-trial interval (in seconds)." }, @@ -1179,10 +1185,13 @@ }, "truncation_parameters": { "max": 8.0, - "min": 1.0, + "min": 0.0, "truncation_mode": "exclude" }, - "scaling_parameters": null + "scaling_parameters": { + "offset": 1.0, + "scale": 1.0 + } }, "description": "Distribution describing the inter-trial interval (in seconds)." }, @@ -1396,10 +1405,13 @@ }, "truncation_parameters": { "max": 8.0, - "min": 1.0, + "min": 0.0, "truncation_mode": "exclude" }, - "scaling_parameters": null + "scaling_parameters": { + "offset": 1.0, + "scale": 1.0 + } }, "description": "Distribution describing the inter-trial interval (in seconds)." }, @@ -3781,10 +3793,13 @@ }, "truncation_parameters": { "max": 8.0, - "min": 1.0, + "min": 0.0, "truncation_mode": "exclude" }, - "scaling_parameters": null + "scaling_parameters": { + "offset": 1.0, + "scale": 1.0 + } }, "description": "Distribution describing the inter-trial interval (in seconds)." },