Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions schema/aind_behavior_dynamic_foraging.json
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,34 @@
"title": "AuditorySecondaryReinforcer",
"type": "object"
},
"AutoWaterParameters": {
"properties": {
"min_ignored_trials": {
"default": 3,
"description": "Minimum consecutive ignored trials before auto water is triggered.",
"minimum": 0,
"title": "Min Ignored Trials",
"type": "integer"
},
"min_unrewarded_trials": {
"default": 3,
"description": "Minimum consecutive unrewarded trials before auto water is triggered.",
"minimum": 0,
"title": "Min Unrewarded Trials",
"type": "integer"
},
"reward_fraction": {
"default": 0.8,
"description": "Fraction of full reward volume delivered during auto water (0=none, 1=full).",
"maximum": 1,
"minimum": 0,
"title": "Reward Fraction",
"type": "number"
}
},
"title": "AutoWaterParameters",
"type": "object"
},
"Axis": {
"description": "Motor axis available",
"enum": [
Expand Down Expand Up @@ -965,6 +993,22 @@
},
"description": "Parameters defining the reward probability structure."
},
"autowater_parameters": {
"default": {
"min_ignored_trials": 3,
"min_unrewarded_trials": 3,
"reward_fraction": 0.8
},
"description": "Auto water settings. If set, free water is delivered when the animal exceeds the ignored or unrewarded trial thresholds.",
"oneOf": [
{
"$ref": "#/$defs/AutoWaterParameters"
},
{
"type": "null"
}
]
},
"is_baiting": {
"default": false,
"description": "Whether uncollected rewards carry over to the next trial.",
Expand Down Expand Up @@ -3235,6 +3279,22 @@
},
"description": "Parameters defining the reward probability structure."
},
"autowater_parameters": {
"default": {
"min_ignored_trials": 3,
"min_unrewarded_trials": 3,
"reward_fraction": 0.8
},
"description": "Auto water settings. If set, free water is delivered when the animal exceeds the ignored or unrewarded trial thresholds.",
"oneOf": [
{
"$ref": "#/$defs/AutoWaterParameters"
},
{
"type": "null"
}
]
},
"is_baiting": {
"const": true,
"default": true,
Expand Down
164 changes: 164 additions & 0 deletions src/Extensions/AindBehaviorDynamicForaging.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,116 @@ public override string ToString()
}


[System.CodeDom.Compiler.GeneratedCodeAttribute("Bonsai.Sgen", "0.9.0.0 (Newtonsoft.Json v13.0.0.0)")]
[Bonsai.WorkflowElementCategoryAttribute(Bonsai.ElementCategory.Source)]
[Bonsai.CombinatorAttribute(MethodName="Generate")]
public partial class AutoWaterParameters
{

private int _minIgnoredTrials;

private int _minUnrewardedTrials;

private double _rewardFraction;

public AutoWaterParameters()
{
_minIgnoredTrials = 3;
_minUnrewardedTrials = 3;
_rewardFraction = 0.8D;
}

protected AutoWaterParameters(AutoWaterParameters other)
{
_minIgnoredTrials = other._minIgnoredTrials;
_minUnrewardedTrials = other._minUnrewardedTrials;
_rewardFraction = other._rewardFraction;
}

/// <summary>
/// Minimum consecutive ignored trials before auto water is triggered.
/// </summary>
[Newtonsoft.Json.JsonPropertyAttribute("min_ignored_trials")]
[System.ComponentModel.DescriptionAttribute("Minimum consecutive ignored trials before auto water is triggered.")]
public int MinIgnoredTrials
{
get
{
return _minIgnoredTrials;
}
set
{
_minIgnoredTrials = value;
}
}

/// <summary>
/// Minimum consecutive unrewarded trials before auto water is triggered.
/// </summary>
[Newtonsoft.Json.JsonPropertyAttribute("min_unrewarded_trials")]
[System.ComponentModel.DescriptionAttribute("Minimum consecutive unrewarded trials before auto water is triggered.")]
public int MinUnrewardedTrials
{
get
{
return _minUnrewardedTrials;
}
set
{
_minUnrewardedTrials = value;
}
}

/// <summary>
/// Fraction of full reward volume delivered during auto water (0=none, 1=full).
/// </summary>
[Newtonsoft.Json.JsonPropertyAttribute("reward_fraction")]
[System.ComponentModel.DescriptionAttribute("Fraction of full reward volume delivered during auto water (0=none, 1=full).")]
public double RewardFraction
{
get
{
return _rewardFraction;
}
set
{
_rewardFraction = value;
}
}

public System.IObservable<AutoWaterParameters> Generate()
{
return System.Reactive.Linq.Observable.Defer(() => System.Reactive.Linq.Observable.Return(new AutoWaterParameters(this)));
}

public System.IObservable<AutoWaterParameters> Generate<TSource>(System.IObservable<TSource> source)
{
return System.Reactive.Linq.Observable.Select(source, _ => new AutoWaterParameters(this));
}

protected virtual bool PrintMembers(System.Text.StringBuilder stringBuilder)
{
stringBuilder.Append("MinIgnoredTrials = " + _minIgnoredTrials + ", ");
stringBuilder.Append("MinUnrewardedTrials = " + _minUnrewardedTrials + ", ");
stringBuilder.Append("RewardFraction = " + _rewardFraction);
return true;
}

public override string ToString()
{
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
stringBuilder.Append(GetType().Name);
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
{
stringBuilder.Append(" ");
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
}


[System.CodeDom.Compiler.GeneratedCodeAttribute("Bonsai.Sgen", "0.9.0.0 (Newtonsoft.Json v13.0.0.0)")]
[Bonsai.WorkflowElementCategoryAttribute(Bonsai.ElementCategory.Source)]
[Bonsai.CombinatorAttribute(MethodName="Generate")]
Expand Down Expand Up @@ -1455,6 +1565,8 @@ public partial class CoupledTrialGeneratorSpec : TrialGeneratorSpec

private RewardProbabilityParameters _rewardProbabilityParameters;

private AutoWaterParameters _autowaterParameters;

private bool _isBaiting;

private CoupledTrialGenerationEndConditions _trialGenerationEndParameters;
Expand All @@ -1473,6 +1585,7 @@ public CoupledTrialGeneratorSpec()
_minBlockReward = 1;
_kernelSize = 2;
_rewardProbabilityParameters = new RewardProbabilityParameters();
_autowaterParameters = new AutoWaterParameters();
_isBaiting = false;
_trialGenerationEndParameters = new CoupledTrialGenerationEndConditions();
_behaviorStabilityParameters = new BehaviorStabilityParameters();
Expand All @@ -1490,6 +1603,7 @@ protected CoupledTrialGeneratorSpec(CoupledTrialGeneratorSpec other) :
_minBlockReward = other._minBlockReward;
_kernelSize = other._kernelSize;
_rewardProbabilityParameters = other._rewardProbabilityParameters;
_autowaterParameters = other._autowaterParameters;
_isBaiting = other._isBaiting;
_trialGenerationEndParameters = other._trialGenerationEndParameters;
_behaviorStabilityParameters = other._behaviorStabilityParameters;
Expand Down Expand Up @@ -1633,6 +1747,25 @@ public RewardProbabilityParameters RewardProbabilityParameters
}
}

/// <summary>
/// Auto water settings. If set, free water is delivered when the animal exceeds the ignored or unrewarded trial thresholds.
/// </summary>
[System.Xml.Serialization.XmlIgnoreAttribute()]
[Newtonsoft.Json.JsonPropertyAttribute("autowater_parameters")]
[System.ComponentModel.DescriptionAttribute("Auto water settings. If set, free water is delivered when the animal exceeds the " +
"ignored or unrewarded trial thresholds.")]
public AutoWaterParameters AutowaterParameters
{
get
{
return _autowaterParameters;
}
set
{
_autowaterParameters = value;
}
}

/// <summary>
/// Whether uncollected rewards carry over to the next trial.
/// </summary>
Expand Down Expand Up @@ -1729,6 +1862,7 @@ protected override bool PrintMembers(System.Text.StringBuilder stringBuilder)
stringBuilder.Append("MinBlockReward = " + _minBlockReward + ", ");
stringBuilder.Append("KernelSize = " + _kernelSize + ", ");
stringBuilder.Append("RewardProbabilityParameters = " + _rewardProbabilityParameters + ", ");
stringBuilder.Append("AutowaterParameters = " + _autowaterParameters + ", ");
stringBuilder.Append("IsBaiting = " + _isBaiting + ", ");
stringBuilder.Append("TrialGenerationEndParameters = " + _trialGenerationEndParameters + ", ");
stringBuilder.Append("BehaviorStabilityParameters = " + _behaviorStabilityParameters + ", ");
Expand Down Expand Up @@ -5369,6 +5503,8 @@ public partial class WarmupTrialGeneratorSpec : TrialGeneratorSpec

private RewardProbabilityParameters _rewardProbabilityParameters;

private AutoWaterParameters _autowaterParameters;

private bool _isBaiting;

private WarmupTrialGenerationEndConditions _trialGenerationEndParameters;
Expand All @@ -5383,6 +5519,7 @@ public WarmupTrialGeneratorSpec()
_minBlockReward = 1;
_kernelSize = 2;
_rewardProbabilityParameters = new RewardProbabilityParameters();
_autowaterParameters = new AutoWaterParameters();
_isBaiting = true;
_trialGenerationEndParameters = new WarmupTrialGenerationEndConditions();
}
Expand All @@ -5398,6 +5535,7 @@ protected WarmupTrialGeneratorSpec(WarmupTrialGeneratorSpec other) :
_minBlockReward = other._minBlockReward;
_kernelSize = other._kernelSize;
_rewardProbabilityParameters = other._rewardProbabilityParameters;
_autowaterParameters = other._autowaterParameters;
_isBaiting = other._isBaiting;
_trialGenerationEndParameters = other._trialGenerationEndParameters;
}
Expand Down Expand Up @@ -5539,6 +5677,25 @@ public RewardProbabilityParameters RewardProbabilityParameters
}
}

/// <summary>
/// Auto water settings. If set, free water is delivered when the animal exceeds the ignored or unrewarded trial thresholds.
/// </summary>
[System.Xml.Serialization.XmlIgnoreAttribute()]
[Newtonsoft.Json.JsonPropertyAttribute("autowater_parameters")]
[System.ComponentModel.DescriptionAttribute("Auto water settings. If set, free water is delivered when the animal exceeds the " +
"ignored or unrewarded trial thresholds.")]
public AutoWaterParameters AutowaterParameters
{
get
{
return _autowaterParameters;
}
set
{
_autowaterParameters = value;
}
}

/// <summary>
/// Whether uncollected rewards carry over to the next trial.
/// </summary>
Expand Down Expand Up @@ -5598,6 +5755,7 @@ protected override bool PrintMembers(System.Text.StringBuilder stringBuilder)
stringBuilder.Append("MinBlockReward = " + _minBlockReward + ", ");
stringBuilder.Append("KernelSize = " + _kernelSize + ", ");
stringBuilder.Append("RewardProbabilityParameters = " + _rewardProbabilityParameters + ", ");
stringBuilder.Append("AutowaterParameters = " + _autowaterParameters + ", ");
stringBuilder.Append("IsBaiting = " + _isBaiting + ", ");
stringBuilder.Append("TrialGenerationEndParameters = " + _trialGenerationEndParameters);
return true;
Expand Down Expand Up @@ -6453,6 +6611,11 @@ public System.IObservable<string> Process(System.IObservable<AuditorySecondaryRe
return Process<AuditorySecondaryReinforcer>(source);
}

public System.IObservable<string> Process(System.IObservable<AutoWaterParameters> source)
{
return Process<AutoWaterParameters>(source);
}

public System.IObservable<string> Process(System.IObservable<BaseModel> source)
{
return Process<BaseModel>(source);
Expand Down Expand Up @@ -6641,6 +6804,7 @@ public System.IObservable<string> Process(System.IObservable<Anonymous> source)
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<AindDynamicForagingTaskLogic>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<AindDynamicForagingTaskParameters>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<AuditorySecondaryReinforcer>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<AutoWaterParameters>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<BaseModel>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<BehaviorStabilityParameters>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<CameraControllerSpinnakerCamera>))]
Expand Down
Loading
Loading