Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
31 changes: 31 additions & 0 deletions schema/aind_behavior_dynamic_foraging.json
Original file line number Diff line number Diff line change
Expand Up @@ -2355,6 +2355,27 @@
],
"x-sgen-typename": "AllenNeuralDynamics.AindManipulator.MicrostepResolution"
},
"MinimumProbabilityPerseverationConditions": {
"description": "Defines the conditions under which a block is extended due to perseveration on minimum probability side.",
"properties": {
"choice_streak": {
"default": 4,
"description": "Number of consecutive choices on the minimum-probability side required to extend both block lengths.",
"minimum": 1,
"title": "Choice Streak",
"type": "integer"
},
"block_extension": {
"default": 4,
"description": "Number of trials to extend both block lengths when the choice streak condition is met.",
"minimum": 1,
"title": "Block Extension",
"type": "integer"
}
},
"title": "MinimumProbabilityPerseverationConditions",
"type": "object"
},
"MotorOperationMode": {
"description": "Motor operation mode",
"enum": [
Expand Down Expand Up @@ -3876,6 +3897,16 @@
"description": "Maximum number of consecutive blocks a side can have the higher probability.",
"title": "Maximum Dominance Streak",
"type": "integer"
},
"minimum_probability_perseveration_conditions": {
"oneOf": [
{
"$ref": "#/$defs/MinimumProbabilityPerseverationConditions"
},
{
"type": "null"
}
]
}
},
"title": "UncoupledTrialGeneratorSpec",
Expand Down
18 changes: 15 additions & 3 deletions schema/uncoupled.json
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,11 @@
0.4,
0.7
],
"maximum_dominance_streak": 3
"maximum_dominance_streak": 3,
"minimum_probability_perseveration_conditions": {
"choice_streak": 4,
"block_extension": 4
}
}
},
"version": "0.0.2",
Expand Down Expand Up @@ -554,7 +558,11 @@
0.4,
0.7
],
"maximum_dominance_streak": 3
"maximum_dominance_streak": 3,
"minimum_probability_perseveration_conditions": {
"choice_streak": 4,
"block_extension": 4
}
}
},
"version": "0.0.2",
Expand Down Expand Up @@ -640,7 +648,11 @@
0.4,
0.7
],
"maximum_dominance_streak": 3
"maximum_dominance_streak": 3,
"minimum_probability_perseveration_conditions": {
"choice_streak": 4,
"block_extension": 4
}
}
},
"version": "0.0.2",
Expand Down
18 changes: 15 additions & 3 deletions schema/uncoupled_baiting.json
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,11 @@
0.4,
0.7
],
"maximum_dominance_streak": 3
"maximum_dominance_streak": 3,
"minimum_probability_perseveration_conditions": {
"choice_streak": 4,
"block_extension": 4
}
}
},
"version": "0.0.2",
Expand Down Expand Up @@ -554,7 +558,11 @@
0.4,
0.7
],
"maximum_dominance_streak": 3
"maximum_dominance_streak": 3,
"minimum_probability_perseveration_conditions": {
"choice_streak": 4,
"block_extension": 4
}
}
},
"version": "0.0.2",
Expand Down Expand Up @@ -640,7 +648,11 @@
0.4,
0.7
],
"maximum_dominance_streak": 3
"maximum_dominance_streak": 3,
"minimum_probability_perseveration_conditions": {
"choice_streak": 4,
"block_extension": 4
}
}
},
"version": "0.0.2",
Expand Down
121 changes: 120 additions & 1 deletion src/Extensions/AindBehaviorDynamicForaging.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4442,6 +4442,101 @@ public override string ToString()
}


/// <summary>
/// Defines the conditions under which a block is extended due to perseveration on minimum probability side.
/// </summary>
[System.CodeDom.Compiler.GeneratedCodeAttribute("Bonsai.Sgen", "0.9.0.0 (Newtonsoft.Json v13.0.0.0)")]
[System.ComponentModel.DescriptionAttribute("Defines the conditions under which a block is extended due to perseveration on mi" +
"nimum probability side.")]
[Bonsai.WorkflowElementCategoryAttribute(Bonsai.ElementCategory.Source)]
[Bonsai.CombinatorAttribute(MethodName="Generate")]
public partial class MinimumProbabilityPerseverationConditions
{

private int _choiceStreak;

private int _blockExtension;

public MinimumProbabilityPerseverationConditions()
{
_choiceStreak = 4;
_blockExtension = 4;
}

protected MinimumProbabilityPerseverationConditions(MinimumProbabilityPerseverationConditions other)
{
_choiceStreak = other._choiceStreak;
_blockExtension = other._blockExtension;
}

/// <summary>
/// Number of consecutive choices on the minimum-probability side required to extend both block lengths.
/// </summary>
[Newtonsoft.Json.JsonPropertyAttribute("choice_streak")]
[System.ComponentModel.DescriptionAttribute("Number of consecutive choices on the minimum-probability side required to extend " +
"both block lengths.")]
public int ChoiceStreak
{
get
{
return _choiceStreak;
}
set
{
_choiceStreak = value;
}
}

/// <summary>
/// Number of trials to extend both block lengths when the choice streak condition is met.
/// </summary>
[Newtonsoft.Json.JsonPropertyAttribute("block_extension")]
[System.ComponentModel.DescriptionAttribute("Number of trials to extend both block lengths when the choice streak condition is" +
" met.")]
public int BlockExtension
{
get
{
return _blockExtension;
}
set
{
_blockExtension = value;
}
}

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

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

protected virtual bool PrintMembers(System.Text.StringBuilder stringBuilder)
{
stringBuilder.Append("ChoiceStreak = " + _choiceStreak + ", ");
stringBuilder.Append("BlockExtension = " + _blockExtension);
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();
}
}


/// <summary>
/// Settings for the quick retract feature.
/// </summary>
Expand Down Expand Up @@ -7017,6 +7112,8 @@ public partial class UncoupledTrialGeneratorSpec : TrialGeneratorSpec

private int _maximumDominanceStreak;

private MinimumProbabilityPerseverationConditions _minimumProbabilityPerseverationConditions;

public UncoupledTrialGeneratorSpec()
{
_rewardSize = new RewardSize();
Expand Down Expand Up @@ -7048,6 +7145,7 @@ protected UncoupledTrialGeneratorSpec(UncoupledTrialGeneratorSpec other) :
_trialGenerationEndParameters = other._trialGenerationEndParameters;
_rewardProbabilities = other._rewardProbabilities;
_maximumDominanceStreak = other._maximumDominanceStreak;
_minimumProbabilityPerseverationConditions = other._minimumProbabilityPerseverationConditions;
}

/// <summary>
Expand Down Expand Up @@ -7266,6 +7364,20 @@ public int MaximumDominanceStreak
}
}

[System.Xml.Serialization.XmlIgnoreAttribute()]
[Newtonsoft.Json.JsonPropertyAttribute("minimum_probability_perseveration_conditions")]
public MinimumProbabilityPerseverationConditions MinimumProbabilityPerseverationConditions
{
get
{
return _minimumProbabilityPerseverationConditions;
}
set
{
_minimumProbabilityPerseverationConditions = value;
}
}

public System.IObservable<UncoupledTrialGeneratorSpec> Generate()
{
return System.Reactive.Linq.Observable.Defer(() => System.Reactive.Linq.Observable.Return(new UncoupledTrialGeneratorSpec(this)));
Expand Down Expand Up @@ -7293,7 +7405,8 @@ protected override bool PrintMembers(System.Text.StringBuilder stringBuilder)
stringBuilder.Append("IsBaiting = " + _isBaiting + ", ");
stringBuilder.Append("TrialGenerationEndParameters = " + _trialGenerationEndParameters + ", ");
stringBuilder.Append("RewardProbabilities = " + _rewardProbabilities + ", ");
stringBuilder.Append("MaximumDominanceStreak = " + _maximumDominanceStreak);
stringBuilder.Append("MaximumDominanceStreak = " + _maximumDominanceStreak + ", ");
stringBuilder.Append("MinimumProbabilityPerseverationConditions = " + _minimumProbabilityPerseverationConditions);
return true;
}
}
Expand Down Expand Up @@ -8555,6 +8668,11 @@ public System.IObservable<string> Process(System.IObservable<Metadata> source)
return Process<Metadata>(source);
}

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

public System.IObservable<string> Process(System.IObservable<QuickRetractSettings> source)
{
return Process<QuickRetractSettings>(source);
Expand Down Expand Up @@ -8702,6 +8820,7 @@ public System.IObservable<string> Process(System.IObservable<Anonymous> source)
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<IntegrationTestTrialGeneratorSpec>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<Measurement>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<Metadata>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<MinimumProbabilityPerseverationConditions>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<QuickRetractSettings>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<Rect>))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Bonsai.Expressions.TypeMapping<RewardProbabilityParameters>))]
Expand Down
Loading