Documentation ¶
Index ¶
- Constants
- Variables
- func ContextIndex(ctx string) int
- func ContextYX(ctidx int) []int
- func SetContext(tsr *tensor.Float32, nyrep int, ctx string) int
- func SetStim(tsr *tensor.Float32, nyrep int, stm string) int
- func SetTime(tsr *tensor.Float32, nyrep int, tick int)
- func SetUS(tsr *tensor.Float32, nyrep int, pv int, mag float32)
- func SetUSTime(tsr *tensor.Float32, nyrep, stidx, tick, start, end int) bool
- func StimIndex(stm string) int
- func StimYX(stidx int) []int
- func USTimeIndex(stidx, tick, start, end int) []int
- type Block
- type CondEnv
- func (ev *CondEnv) Action(_ string, _ tensor.Tensor)
- func (ev *CondEnv) Config(rmax int, rnm string)
- func (ev *CondEnv) Counter(scale env.TimeScales) (cur, prv int, chg bool)
- func (ev *CondEnv) Desc() string
- func (ev *CondEnv) Init(ridx int)
- func (ev *CondEnv) InitCond()
- func (ev *CondEnv) Name() string
- func (ev *CondEnv) RenderSequence(trli, tick int)
- func (ev *CondEnv) State(element string) tensor.Tensor
- func (ev *CondEnv) Step() bool
- func (ev *CondEnv) Validate() error
- type Condition
- type Run
- type Sequence
- type TickTypes
- func (i TickTypes) Desc() string
- func (i TickTypes) Int64() int64
- func (i TickTypes) MarshalText() ([]byte, error)
- func (i *TickTypes) SetInt64(in int64)
- func (i *TickTypes) SetString(s string) error
- func (i TickTypes) String() string
- func (i *TickTypes) UnmarshalText(text []byte) error
- func (i TickTypes) Values() []enums.Enum
- type Valence
- func (i Valence) Desc() string
- func (i Valence) Int64() int64
- func (i Valence) MarshalText() ([]byte, error)
- func (i *Valence) SetInt64(in int64)
- func (i *Valence) SetString(s string) error
- func (i Valence) String() string
- func (i *Valence) UnmarshalText(text []byte) error
- func (i Valence) Values() []enums.Enum
Constants ¶
const ( // DefTicks is the default number of ticks per block DefTicks = 7 // DefCSTick is the default tick to present the CS DefCSTick = 1 // DefUSTick is the default tick to present the US DefUSTick = 4 )
const ( // DefBlocks is the default number of training blocks for standard cases DefBlocks = 25 // Default number of trials per condition type TrialsPerCond = 4 )
Variables ¶
var ( NUSs = 4 NStims = 12 MaxTime = DefTicks + 3 USShape = []int{1, NUSs} StimShape = []int{3, 4} ContextShape = []int{6, 5} // USTimeShape is overall shape of USTime USTimeShape = []int{StimShape[0], StimShape[1], 1, MaxTime} // USTimeOff is activated when the US goes off USTimeOff = []int{StimShape[0] - 1, StimShape[1] - 1, 0, 5} // Stims maps stimuli to indexes for input layer Stims = map[string]int{ "A": 0, "B": 1, "C": 2, "D": 3, "E": 4, "F": 5, "U": 6, "V": 7, "W": 8, "X": 9, "Y": 10, "Z": 11, } // Contexts maps contexts to indexes for input layer Contexts = map[string]int{ "A": 0, "B": 1, "C": 2, "D": 3, "E": 4, "F": 5, "U": 6, "V": 7, "W": 8, "X": 9, "Y": 10, "Z": 11, "AB": 12, "AC": 13, "AX": 14, "AY": 15, "AZ": 16, "BX": 17, "BY": 18, "BZ": 19, "CX": 20, "CY": 21, "CZ": 22, "DU": 23, "ED": 24, "EU": 25, "EV": 26, "FV": 27, "A_B": 28, } )
var AllBlocks = map[string]Block{ "PosAcq_A100": { { Name: "A_R", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosReAcq_A100": { { Name: "A_R_re", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosAcq_A100B50": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 0.5, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 1, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcq_A100B0": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_NR", Pct: 0.5, Valence: Pos, USProb: 0.0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcq_A50": { { Name: "A_R", Pct: 1.0, Valence: Pos, USProb: 0.5, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "US0": { { Name: "A_R", Pct: 1.0, Valence: Pos, USProb: 0.01, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosReAcq_A100B50": { { Name: "A_R_re", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R_re", Pct: 0, Valence: Pos, USProb: 0.5, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcqPreSecondOrder": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks + 2, CS: "A", CSStart: 3, CSEnd: 5, CS2Start: -1, CS2End: -1, US: 0, USStart: 5, USEnd: 5, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 0.5, MixedUS: false, USMag: 1, NTicks: DefTicks + 2, CS: "B", CSStart: 3, CSEnd: 5, CS2Start: -1, CS2End: -1, US: 0, USStart: 5, USEnd: 5, Context: "B", }, }, "PosAcq_A100B100": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcq_A100B25": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 0.250, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcqOmit": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "A_NR", Pct: 0.5, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosNeg": { { Name: "Z_R", Pct: 0.167, Valence: Neg, USProb: 0.250, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "Z", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Z", }, { Name: "Z_R", Pct: 0.167, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "Z", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Z", }, { Name: "Z_R_tst", Pct: 0.167, Valence: Neg, USProb: 1, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "Z", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Z", }, { Name: "W_R", Pct: 0.167, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "W", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "W", }, { Name: "W_R", Pct: 0.167, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "W", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "W", }, { Name: "W_R_test", Test: true, Pct: 0.167, Valence: Neg, USProb: 1, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "W", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "W", }, }, "PosOrNegAcq": { { Name: "Z_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: true, USMag: 1, NTicks: DefTicks, CS: "Z", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Z", }, { Name: "Z_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: true, USMag: 1, NTicks: DefTicks, CS: "Z", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Z", }, }, "Overexpectation_train": { { Name: "A_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, { Name: "C_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "X_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, { Name: "Y_NR", Pct: 0.200, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "Y", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Y", }, }, "OverexpectationCompound": { { Name: "AX_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, { Name: "BY_NR", Pct: 0.200, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "BY", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "BY", }, { Name: "CY_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "CY", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "CY", }, { Name: "X_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, { Name: "Y_NR", Pct: 0.200, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "Y", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Y", }, }, "Overexpectation_test": { { Name: "A_NR_test", Test: true, Pct: 0.250, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_NR_test", Test: true, Pct: 0.250, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, { Name: "C_NR_test", Test: true, Pct: 0.250, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "X_R_test", Test: true, Pct: 0.250, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, }, "PosAcqEarlyUS_test": { { Name: "A_R_late", Test: true, Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: 4, USEnd: 4, Context: "A", }, { Name: "A_R_early", Test: true, Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: 2, USEnd: 2, Context: "A", }, }, "PosOrienting": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcqMagnitude": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosAcqMagnitudeChange": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "NegAcqMagnitude": { { Name: "D_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "E_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, }, "NegAcqMagnitudeChange": { { Name: "D_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "E_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, }, "PosExt_A0": { { Name: "A_NR", Pct: 1, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosExt_A0B0": { { Name: "A_NR", Pct: 0.5, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_NR", Pct: 0.5, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosCondInhib": { { Name: "A_R", Pct: 0.650, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "AX_NR", Pct: 0.350, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, }, "PosCondInhib_test": { { Name: "A_NR_test", Test: true, Pct: 0.330, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "AX_NR_test", Test: true, Pct: 0.330, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, { Name: "X_NR_test", Test: true, Pct: 0.330, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, }, "PosSecondOrderCond": { { Name: "A_R", Pct: 0.950, Valence: Pos, USProb: 1, MixedUS: true, USMag: 1, NTicks: DefTicks + 2, CS: "A", CSStart: 3, CSEnd: 5, CS2Start: -1, CS2End: -1, US: 0, USStart: 5, USEnd: 5, Context: "A", }, { Name: "AC_NR", Pct: 0.050, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks + 2, CS: "AC", CSStart: 3, CSEnd: 5, CS2Start: 1, CS2End: 2, US: 0, USStart: 5, USEnd: 5, Context: "AC", }, }, "NegAcq_D100": { { Name: "D_R", Pct: 1, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, }, "NegExt_D0": { { Name: "D_NR", Pct: 1, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, }, "NegAcq_D100E25": { { Name: "D_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "E_R", Pct: 0.5, Valence: Neg, USProb: 0.250, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, }, "NegExt_D0E0": { { Name: "D_NR", Pct: 0.5, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "E_R", Pct: 0.5, Valence: Neg, USProb: 0.5, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, }, "NegCondInhib": { { Name: "D_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "DU_NR", Pct: 0.5, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "DU", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "DU", }, }, "NegCondInhib_test": { { Name: "D_NR_test", Test: true, Pct: 0.333, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "DU_NR_test", Test: true, Pct: 0.333, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "DU", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "DU", }, { Name: "U_NR_test", Test: true, Pct: 0.333, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "U", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "U", }, }, "PosAcq_cxA": { { Name: "A_R_cxA", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosExtinct_cxB": { { Name: "A_NR_cxB", Pct: 1, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A_B", }, }, "PosRenewal_cxA": { { Name: "A_NR_cxA", Pct: 0.5, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "A_NR_cxB", Pct: 0.5, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A_B", }, }, "PosBlocking_A_train": { { Name: "A_R", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosBlocking": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "AB_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AB", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AB", }, }, "PosBlocking_test": { { Name: "B_R_test", Test: true, Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "PosBlocking2_test": { { Name: "A_R_test", Test: true, Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R_test", Test: true, Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "NegBlocking_E_train": { { Name: "E_R", Pct: 1, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, }, "NegBlocking": { { Name: "E_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, { Name: "ED_R", Pct: 0.5, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "ED", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "ED", }, }, "NegBlocking_test": { { Name: "D_R", Test: true, Pct: 1, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, }, "PosSumAcq": { { Name: "A_R", Pct: 0.333, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "C_R", Pct: 0.333, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "B_NR", Pct: 0.333, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "NegSumAcq": { { Name: "D_R", Pct: 0.333, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "E_R", Pct: 0.333, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, { Name: "F_NR", Pct: 0.333, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "F", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "F", }, }, "PosCondInhib_BY": { { Name: "A_R", Pct: 0.333, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "AX_NR", Pct: 0.333, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, { Name: "BY_NR", Pct: 0.333, Valence: Pos, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "BY", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "BY", }, }, "NegCondInhib_FV": { { Name: "D_R", Pct: 0.333, Valence: Neg, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "DU_NR", Pct: 0.333, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "DU", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "DU", }, { Name: "FV_NR", Pct: 0.333, Valence: Neg, USProb: 0, MixedUS: false, USMag: 0, NTicks: DefTicks, CS: "FV", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "FV", }, }, "NegSumCondInhib_test": { { Name: "D_NR_test", Test: true, Pct: 0.171, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "D", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "D", }, { Name: "E_NR_test", Test: true, Pct: 0.166, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "E", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "E", }, { Name: "U_NR_test", Test: true, Pct: 0.166, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "U", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "U", }, { Name: "DU_NR_test", Test: true, Pct: 0.166, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "DU", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "DU", }, { Name: "EU_NR_test", Test: true, Pct: 0.166, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "EU", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "EU", }, { Name: "EV_NR_test", Test: true, Pct: 0.166, Valence: Neg, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "EV", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "EV", }, }, "PosSumCondInhib_test": { { Name: "A_NR_test", Test: true, Pct: 0.171, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "C_NR_test", Test: true, Pct: 0.166, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "X_NR_test", Test: true, Pct: 0.166, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, { Name: "AX_NR_test", Test: true, Pct: 0.166, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, { Name: "CX_NR_test", Test: true, Pct: 0.166, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "CX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "CX", }, { Name: "CY_NR_test", Test: true, Pct: 0.166, Valence: Pos, USProb: 0, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "CY", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "CY", }, }, "Unblocking_train": { { Name: "A_R", Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "C_R", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "B_R", Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "UnblockingValue": { { Name: "AX_R", Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, { Name: "CZ_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "CZ", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "CZ", }, { Name: "A_R", Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "C_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "B_R", Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "UnblockingValue_test": { { Name: "A_R_test", Test: true, Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "C_R_test", Test: true, Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "X_R_test", Test: true, Pct: 0, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, { Name: "Z_R_test", Test: true, Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "Z", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Z", }, }, "Unblocking_trainUS": { { Name: "A_R", Pct: 0.333, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "C_R", Pct: 0.333, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.100, NTicks: DefTicks, CS: "C", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "C", }, { Name: "B_R", Pct: 0.333, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 1, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "UnblockingIdentity": { { Name: "AX_R", Pct: 0.300, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AX", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AX", }, { Name: "BY_R", Pct: 0.300, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "BY", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "BY", }, { Name: "A_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R", Pct: 0.200, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 1, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "UnblockingIdentity_test": { { Name: "A_R_test", Test: true, Pct: 0.251, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "B_R_test", Test: true, Pct: 0.251, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 1, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, { Name: "X_R_test", Test: true, Pct: 0.251, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "X", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "X", }, { Name: "Y_R_test", Test: true, Pct: 0.248, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "Y", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "Y", }, }, "PosUpUnblocking_A_train": { { Name: "A_R", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, "PosUpUnblocking": { { Name: "A_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 0.5, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, { Name: "AB_R", Pct: 0.5, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "AB", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: 1, CS2End: 3, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "AB", }, }, "PosUpUnblocking_test": { { Name: "B_R", Test: true, Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "B", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "B", }, }, "BlankTemplate": { { Name: "", Pct: 1, Valence: Pos, USProb: 1, MixedUS: false, USMag: 1, NTicks: DefTicks, CS: "A", CSStart: DefCSTick, CSEnd: DefUSTick, CS2Start: -1, CS2End: -1, US: 0, USStart: DefUSTick, USEnd: DefUSTick, Context: "A", }, }, }
var AllConditions = map[string]*Condition{ "PosAcq_A100": { Desc: "Standard positive valence acquisition: A = 100%", Block: "PosAcq_A100", FixedProb: true, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: true, }, "PosAcq_A100_Blk10": { Desc: "Standard positive valence acquisition: A = 100% -- 10 blocks", Block: "PosAcq_A100", FixedProb: true, NBlocks: 10, NSequences: TrialsPerCond, Permute: true, }, "PosAcq_A100_Blk20": { Desc: "Standard positive valence acquisition: A = 100% -- 20 blocks", Block: "PosAcq_A100", FixedProb: true, NBlocks: 20, NSequences: TrialsPerCond, Permute: true, }, "PosAcq_A100B50": { Desc: "Standard positive valence acquisition: A = 100%, B = 50%", Block: "PosAcq_A100B50", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosAcq_A50": { Desc: "Positive valence acquisition: A = 50%", Block: "PosAcq_A50", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosAcq_A50_Blk10": { Desc: "Positive valence acquisition: A = 50% -- 10 blocks", Block: "PosAcq_A50", FixedProb: true, NBlocks: 10, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosAcq_A50_Blk20": { Desc: "Positive valence acquisition: A = 50% -- 20 blocks", Block: "PosAcq_A50", FixedProb: true, NBlocks: 20, NSequences: 2 * TrialsPerCond, Permute: true, }, "US0": { Desc: "No US at all", Block: "US0", FixedProb: true, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: true, }, "PosAcq_A100B100": { Desc: "Positive valence acquisition: A_R_Pos, B at 100%", Block: "PosAcq_A100B100", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosAcqEarlyUS_test": { Desc: "Testing session: after pos_acq trng, deliver US early or late", Block: "PosAcqEarlyUS_test", FixedProb: true, NBlocks: 5, NSequences: 2, Permute: false, }, "PosAcq_A100B25": { Desc: "Positive valence acquisition: A_R_Pos 100%, B at 25%", Block: "PosAcq_A100B25", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosAcq_A100B0": { Desc: "Positive valence acquisition: A_R_Pos 100%, B at 0%", Block: "PosAcq_A100B0", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosExt_A0": { Desc: "Pavlovian extinction: A_NR_Pos, A = 0%", Block: "PosExt_A0", FixedProb: false, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: true, }, "PosExt_A0_Blk10": { Desc: "Pavlovian extinction: A_NR_Pos, A = 0% -- 10 blocks", Block: "PosExt_A0", FixedProb: false, NBlocks: 10, NSequences: TrialsPerCond, Permute: true, }, "PosExt_A0_Blk20": { Desc: "Pavlovian extinction: A_NR_Pos, A = 0% -- 20 blocks", Block: "PosExt_A0", FixedProb: false, NBlocks: 20, NSequences: TrialsPerCond, Permute: true, }, "PosExt_A0B0": { Desc: "Pavlovian extinction: A_NR_Pos, B_NR_Pos", Block: "PosExt_A0B0", FixedProb: false, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "NegAcq_D100": { Desc: "Pavlovian conditioning w/ negatively valenced US: D_R_NEG", Block: "NegAcq_D100", FixedProb: false, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: true, }, "NegAcq_D100E25": { Desc: "Pavlovian conditioning w/ negatively valenced US: D_R_NEG, E 25%", Block: "NegAcq_D100E25", FixedProb: false, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "NegExt_D0": { Desc: "Pavlovian conditioning w/ negatively valenced US: A_R_NEG", Block: "NegExt_D0", FixedProb: false, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "NegExt_D0E0": { Desc: "Pavlovian conditioning w/ negatively valenced US: A_R_NEG", Block: "NegExt_D0E0", FixedProb: false, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosAcqPreSecondOrder": { Desc: "Positive valence acquisition: A_R_Pos, B at 50%", Block: "PosAcqPreSecondOrder", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosReAcq_A100B50": { Desc: "Positive valence acquisition: A_R_Pos, B at 50% reinf, tags further learning as reacq", Block: "PosReAcq_A100B50", FixedProb: true, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosReAcq_A100": { Desc: "Positive valence acquisition: A_R_Pos, tags further learning as reacq", Block: "PosReAcq_A100", FixedProb: true, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: true, }, "PosAcq_cxA": { Desc: "Positive valence acquisition: A_R_Pos, A_R_Pos_omit trials, interleaved", Block: "PosAcq_cxA", FixedProb: false, NBlocks: 10, NSequences: 10, Permute: false, }, "PosExtinct_cxB": { Desc: "Positive valence acquisition: A_R_Pos, A_R_Pos_omit trials, interleaved", Block: "PosExtinct_cxB", FixedProb: false, NBlocks: 25, NSequences: 10, Permute: false, }, "PosAcqOmit": { Desc: "Positive valence acquisition: A_R_Pos, A_NR_Pos trials, interleaved", Block: "PosAcqOmit", FixedProb: false, NBlocks: 10, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosRenewal_cxA": { Desc: "Positive valence acquisition: A_R_Pos, A_R_Pos_omit trials, interleaved", Block: "PosRenewal_cxA", FixedProb: false, NBlocks: 1, NSequences: 2, Permute: false, }, "PosBlocking_A_train": { Desc: "Blocking experiment", Block: "PosBlocking_A_train", FixedProb: false, NBlocks: 20, NSequences: 1, Permute: false, }, "PosBlocking": { Desc: "Blocking experiment", Block: "PosBlocking", FixedProb: false, NBlocks: 20, NSequences: 2, Permute: false, }, "PosBlocking_test": { Desc: "Blocking experiment", Block: "PosBlocking_test", FixedProb: false, NBlocks: 25, NSequences: 1, Permute: false, }, "PosBlocking2_test": { Desc: "Blocking experiment", Block: "PosBlocking2_test", FixedProb: false, NBlocks: 25, NSequences: 2, Permute: false, }, "NegBlocking_E_train": { Desc: "Blocking experiment", Block: "NegBlocking_E_train", FixedProb: false, NBlocks: 300, NSequences: 1, Permute: false, }, "NegBlocking": { Desc: "Blocking experiment", Block: "NegBlocking", FixedProb: false, NBlocks: 200, NSequences: 2, Permute: false, }, "NegBlocking_test": { Desc: "Blocking experiment", Block: "NegBlocking_test", FixedProb: false, NBlocks: 25, NSequences: 1, Permute: false, }, "PosAcqMag": { Desc: "Magnitude experiment", Block: "PosAcqMagnitude", FixedProb: false, NBlocks: DefBlocks, NSequences: 2 * TrialsPerCond, Permute: false, }, "PosSumAcq": { Desc: "Conditioned Inhibition - A+, C+", Block: "PosSumAcq", FixedProb: false, NBlocks: 450, NSequences: 3, Permute: false, }, "PosSumCondInhib": { Desc: "Conditioned Inhibition - AX-, A+", Block: "PosCondInhib_BY", FixedProb: false, NBlocks: 300, NSequences: 3, Permute: false, }, "PosSum_test": { Desc: "Conditioned Inhibition Summation Test", Block: "PosSumCondInhib_test", FixedProb: false, NBlocks: 5, NSequences: 6, Permute: false, }, "NegSumAcq": { Desc: "Conditioned Inhibition - D-, E-", Block: "NegSumAcq", FixedProb: false, NBlocks: DefBlocks, NSequences: 3, Permute: false, }, "NegSumCondInhib": { Desc: "Conditioned Inhibition - DU, D-", Block: "NegCondInhib_FV", FixedProb: false, NBlocks: 100, NSequences: 3, Permute: false, }, "NegSum_test": { Desc: "Conditioned Inhibition Summation Test", Block: "NegSumCondInhib_test", FixedProb: false, NBlocks: 5, NSequences: 6, Permute: false, }, "Unblocking_train": { Desc: "A+++,B+++,C+", Block: "Unblocking_train", FixedProb: false, NBlocks: DefBlocks, NSequences: 2, Permute: false, }, "UnblockingValue": { Desc: "AX+++,CZ+++", Block: "UnblockingValue", FixedProb: false, NBlocks: 25, NSequences: 1, Permute: false, }, "UnblockingValue_test": { Desc: "A,X,C,Z", Block: "UnblockingValue_test", FixedProb: false, NBlocks: 5, NSequences: 1, Permute: false, }, "Unblocking_trainUS": { Desc: "A+++ (water) ,B+++ (food)", Block: "Unblocking_trainUS", FixedProb: false, NBlocks: DefBlocks, NSequences: 15, Permute: false, }, "UnblockingIdentity": { Desc: "AX+++(water),BY+++(water)", Block: "UnblockingIdentity", FixedProb: false, NBlocks: DefBlocks / 2, NSequences: 20, Permute: false, }, "UnblockingIdentity_test": { Desc: "A,X,B,Y", Block: "UnblockingIdentity_test", FixedProb: false, NBlocks: 5, NSequences: TrialsPerCond, Permute: false, }, "PosAcqMagChange": { Desc: "Magnitude experiment", Block: "PosAcqMagnitudeChange", FixedProb: false, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: false, }, "NegAcqMag": { Desc: "Magnitude experiment", Block: "NegAcqMagnitude", FixedProb: false, NBlocks: 51, NSequences: 2 * TrialsPerCond, Permute: false, }, "NegAcqMagChange": { Desc: "Magnitude experiment", Block: "NegAcqMagnitudeChange", FixedProb: false, NBlocks: DefBlocks, NSequences: TrialsPerCond, Permute: false, }, "Overexpect_train": { Desc: "Overexpectation training (A+, B+, C+, X+, Y-)", Block: "Overexpectation_train", FixedProb: false, NBlocks: 150, NSequences: 5, Permute: false, }, "OverexpectCompound": { Desc: "Overexpectation compound training (AX+, BY-, CX+, X+, Y-)", Block: "OverexpectationCompound", FixedProb: false, NBlocks: 150, NSequences: 5, Permute: false, }, "Overexpect_test": { Desc: "Overexpectation test ( A-, B-, C-, X-)", Block: "Overexpectation_test", FixedProb: false, NBlocks: 5, NSequences: 5, Permute: false, }, "PosNeg": { Desc: "Positive negative test - W equally reinforced with reward + punishment", Block: "PosNeg", FixedProb: false, NBlocks: 150, NSequences: 6, Permute: false, }, "PosOrNegAcq": { Desc: "Positive negative acquisition - with reward or punishment on interleaved trials according to user-set probabilities", Block: "PosOrNegAcq", FixedProb: false, NBlocks: 150, NSequences: 6, Permute: true, }, "NegCondInh": { Desc: "condition inhibition w/ negatively valenced US: CZ_NR_NEG, C_R_NEG interleaved; i.e., Z = security signal", Block: "NegCondInhib", FixedProb: false, NBlocks: 75, NSequences: 10, Permute: true, }, "NegCondInh_test": { Desc: "condition inhibition w/ negatively valenced US: CZ_NR_NEG, C_R_NEG interleaved; i.e., Z = security signal", Block: "NegCondInhib_test", FixedProb: false, NBlocks: 5, NSequences: 6, Permute: false, }, "PosCondInhib": { Desc: "conditioned inhibition training: AX_NR_Pos, A_R_Pos interleaved", Block: "PosCondInhib", FixedProb: false, NBlocks: 10, NSequences: 2 * TrialsPerCond, Permute: true, }, "PosSecondOrderCond": { Desc: "second order conditioning training: AB_NR_Pos, A_R_Pos interleaved; A = 1st order, F = 2nd order CS", Block: "PosSecondOrderCond", FixedProb: false, NBlocks: 10, NSequences: 20, Permute: true, }, "PosCondInhib_test": { Desc: "Testing session: A_NR_Pos, AX_NR_Pos, and X_NR_Pos cases", Block: "PosCondInhib_test", FixedProb: false, NBlocks: 5, NSequences: 6, Permute: false, }, }
var AllRuns = map[string]*Run{
"PosAcq_A100": {
Desc: "Standard positive valence acquisition: A = 100%",
Cond1: "PosAcq_A100",
},
"PosExt_A0": {
Desc: "extinguish positive valence: A_NR_Pos -- typically use after some amount of PosAcq_A100",
Cond1: "PosExt_A0",
},
"PosAcqExt_A100Wts": {
Desc: "Load weights of acquisition A 100%, go directly to extinguish -- must save weights from PosAcq_A100 first",
Weights: "PosAcq_A100",
Cond1: "PosExt_A0",
},
"PosAcqExt_A100_A0": {
Desc: "Standard positive valence acquisition: A = 100%, then extinction A0",
Cond1: "PosAcq_A100",
Cond2: "PosExt_A0",
},
"PosAcq_A100B50": {
Desc: "Standard positive valence acquisition: A = 100%, B = 50%",
Cond1: "PosAcq_A100B50",
},
"PosAcq_A100B0": {
Desc: "Standard positive valence acquisition: A = 100%, B = 0%",
Cond1: "PosAcq_A100B0",
},
"PosExt_A0B0": {
Desc: "extinguish positive valence: A_NR_Pos, B_NR_Pos",
Cond1: "PosExt_A0B0",
},
"PosAcq_A50": {
Desc: "A = 50%",
Cond1: "PosAcq_A50",
},
"PosAcq_ACycle100_50_0_Blk10": {
Desc: "A transitions: 100%, 50%, 0%, 50%, 100% for 10 blocks each",
Cond1: "PosAcq_A100",
Cond2: "PosAcq_A50_Blk10",
Cond3: "PosExt_A0_Blk10",
Cond4: "PosAcq_A50_Blk10",
Cond5: "PosAcq_A100_Blk10",
},
"PosAcq_ACycle100_50_0_Blk20": {
Desc: "A transitions: 100%, 50%, 0%, 50%, 100% for 20 blocks each",
Cond1: "PosAcq_A100",
Cond2: "PosAcq_A50_Blk20",
Cond3: "PosExt_A0_Blk20",
Cond4: "PosAcq_A50_Blk20",
Cond5: "PosAcq_A100_Blk20",
},
"PosAcqExt_A100B50_A0B0": {
Desc: "positive valence acquisition A=100%, B=50%, then extinguish A, B = 0%",
Cond1: "PosAcq_A100B50",
Cond2: "PosExt_A0B0",
},
"PosAcqExt_A100B50_Wts": {
Desc: "Load weights of acquisition A = 100%, B = 50%, go directly to extinguish -- must save weights from PosAcq_A100B50",
Weights: "PosAcq_A100B50",
Cond1: "PosExt_A0B0",
},
"PosAcqExtAcq_A100B50_A0B0_A100B50": {
Desc: "Full cycle: acq, ext, acq, A=100%, B=50%, then extinguish, then acq again, marked as ReAcq",
Cond1: "PosAcq_A100B50",
Cond2: "PosExt_A0B0",
Cond3: "PosReAcq_A100B50",
},
"PosAcqExtAcq_A100_A0_A100": {
Desc: "Full cycle: acq, ext, acq, A=100%, then extinguish, then acq again, marked as ReAcq",
Cond1: "PosAcq_A100",
Cond2: "PosExt_A0",
Cond3: "PosReAcq_A100",
},
"PosAcqExt_A100B100": {
Desc: "",
Cond1: "PosAcq_A100B100",
Cond2: "PosExt_A0B0",
},
"PosAcq_A100B25": {
Desc: "",
Cond1: "PosAcq_A100B25",
},
"NegAcq_D100": {
Desc: "",
Cond1: "NegAcq_D100",
},
"NegAcq_D100E25": {
Desc: "",
Cond1: "NegAcq_D100E25",
},
"NegAcqMag": {
Desc: "",
Cond1: "NegAcqMag",
},
"PosAcqMag": {
Desc: "",
Cond1: "PosAcqMag",
},
"NegAcqExt_D100": {
Desc: "",
Cond1: "NegAcq_D100",
Cond2: "NegExt_D0",
},
"NegExt_D0": {
Desc: "",
Cond1: "NegExt_D0",
},
"NegExt_D100Wts": {
Desc: "Load weights of negative acquisition D 100%, go directly to extinguish -- must save weights from NegAcq_D100 first",
Weights: "NegAcq_D100",
Cond1: "NegExt_D0",
},
"NegAcqExt_D100E25": {
Desc: "",
Cond1: "NegAcq_D100E25",
Cond2: "NegExt_D0E0",
},
"NegExt_D0E0": {
Desc: "",
Cond1: "NegExt_D0E0",
},
"PosCondInhib": {
Desc: "",
Cond1: "PosAcq_cxA",
Cond2: "PosCondInhib",
Cond3: "PosCondInhib_test",
},
"PosSecondOrderCond": {
Desc: "",
Cond1: "PosAcqPreSecondOrder",
Cond2: "PosSecondOrderCond",
},
"PosBlocking": {
Desc: "",
Cond1: "PosBlocking_A_train",
Cond2: "PosBlocking",
Cond3: "PosBlocking_test",
},
"PosBlocking2": {
Desc: "",
Cond1: "PosBlocking_A_train",
Cond2: "PosBlocking",
Cond3: "PosBlocking2_test",
},
"NegCondInhib": {
Desc: "",
Cond1: "NegAcq_D100E25",
Cond2: "NegCondInh",
Cond3: "NegCondInh_test",
},
"AbaRenewal": {
Desc: "",
Cond1: "PosAcq_cxA",
Cond2: "PosExtinct_cxB",
Cond3: "PosRenewal_cxA",
},
"NegBlocking": {
Desc: "",
Cond1: "NegBlocking_E_train",
Cond2: "NegBlocking",
Cond3: "NegBlocking_test",
},
"PosSum_test": {
Desc: "",
Cond1: "PosSumAcq",
Cond2: "PosSumCondInhib",
Cond3: "PosSum_test",
},
"NegSum_test": {
Desc: "",
Cond1: "NegSumAcq",
Cond2: "NegSumCondInhib",
Cond3: "NegSum_test",
},
"UnblockingValue": {
Desc: "",
Cond1: "Unblocking_train",
Cond2: "UnblockingValue",
Cond3: "UnblockingValue_test",
},
"UnblockingIdentity": {
Desc: "",
Cond1: "Unblocking_trainUS",
Cond2: "UnblockingIdentity",
Cond3: "UnblockingIdentity_test",
},
"Overexpect": {
Desc: "",
Cond1: "Overexpect_train",
Cond2: "OverexpectCompound",
Cond3: "Overexpect_test",
},
"PosMagChange": {
Desc: "",
Cond1: "PosAcqMag",
Cond2: "PosAcqMagChange",
Cond3: "Overexpect_test",
},
"NegMagChange": {
Desc: "",
Cond1: "NegAcqMag",
Cond2: "NegAcqMagChange",
},
"PosNeg": {
Desc: "",
Cond1: "PosOrNegAcq",
},
"PosAcqEarlyUSTest": {
Desc: "",
Cond1: "PosAcq_A100B50",
Cond2: "PosAcqEarlyUS_test",
},
"PosOrNegAcq": {
Desc: "",
Cond1: "PosOrNegAcq",
},
"PosCondInhib_test": {
Desc: "For debugging",
Cond1: "PosCondInhib_test",
},
"US0": {
Desc: "",
Cond1: "US0",
},
}
var RunNames []string
Functions ¶
func SetContext ¶
SetContext sets context for given input
func USTimeIndex ¶
USTimeIndex returns index for US time based on stimulus, tick, start and end returns nil if not active.
Types ¶
type CondEnv ¶
type CondEnv struct { // name of this environment Nm string // description of this environment Dsc string // number of Y repetitions for localist reps NYReps int // current run name RunName string // description of current run RunDesc string // name of current condition CondName string // description of current condition CondDesc string // counter over runs Run env.Ctr `edit:"-" display:"inline"` // counter over Condition within a run -- Max depends on number of conditions specified in given Run Condition env.Ctr `edit:"-" display:"inline"` // counter over full blocks of all sequence types within a Condition -- like an Epoch Block env.Ctr `edit:"-" display:"inline"` // counter of behavioral sequences within a Block Sequence env.Ctr `edit:"-" display:"inline"` // counter of discrete steps within a sequence -- typically maps onto Alpha / Theta cycle in network Tick env.Ctr `edit:"-" display:"inline"` // name of current sequence step SequenceName string `edit:"-"` // type of current sequence step SequenceType string `edit:"-"` // decoded value of USTimeIn USTimeInStr string `edit:"-"` // current generated set of sequences per Block Sequences []*Sequence // copy of current run parameters CurRun Run // the current rendered tick CurTick Sequence // current rendered state tensors -- extensible map CurStates map[string]*tensor.Float32 }
CondEnv provides a flexible implementation of standard Pavlovian conditioning experiments involving CS -> US sequences. Has a large database of standard conditioning paradigms parameterized in a controlled manner.
Time hierarchy: * Run = sequence of 1 or more Conditions * Condition = specific mix of sequence types, generated at start of Condition * Block = one full pass through all sequence types generated for condition (like Epoch) * Sequence = one behavioral trial consisting of CS -> US presentation over time steps (Ticks) * Tick = discrete time steps within behavioral Sequence, typically one Network update (Alpha / Theta cycle)
func (*CondEnv) InitCond ¶
func (ev *CondEnv) InitCond()
InitCond initializes for current condition index
func (*CondEnv) RenderSequence ¶
type Condition ¶
type Condition struct { // identifier for this type of configuration Name string // description of this configuration Desc string // mix of trial types per block to run -- must be listed in AllBlocks Block string // use a permuted list to ensure an exact number of trials have US -- else random draw each time FixedProb bool // number of full blocks of different trial types to run (like Epochs) NBlocks int // number of sequences (behavioral trials) per block, with the different types of Sequences allocated across these sequences. More different sequence types and greater stochasticity (lower probability) of US presentation requires more sequences. NSequences int // permute list of generated trials in random order after generation -- otherwise presented in order specified in the Block type Permute bool }
Condition defines parameters for running a specific type of conditioning expt
type Run ¶
type Run struct { // Name of the run Name string // Description Desc string // name of condition for weights file to load prior to starting -- allows faster testing but weights may be out of date Weights string // name of condition 1 Cond1 string // name of condition 2 Cond2 string // name of condition 3 Cond3 string // name of condition 4 Cond4 string // name of condition 5 Cond5 string }
Run is a sequence of Conditions to run in order
type Sequence ¶
type Sequence struct { // conventional suffixes: _R = reward, _NR = non-reward; _test = test trial (no learning) Name string // true if testing only -- no learning Test bool // Percent of all trials for this type Pct float32 // Positive or negative reward valence Valence Valence // Probability of US USProb float32 // Mixed US set? MixedUS bool // US magnitude USMag float32 // Number of ticks for a sequence NTicks int // Conditioned stimulus CS string // Tick of CS start CSStart int // Tick of CS end CSEnd int // Tick of CS2 start: -1 for none CS2Start int // Tick of CS2 end: -1 for none CS2End int // Unconditioned stimulus US int // Tick for start of US presentation USStart int // Tick for end of US presentation USEnd int // Context -- typically same as CS -- if blank CS will be copied -- different in certain extinguishing contexts Context string // for rendered sequence, true if US active USOn bool // for rendered sequence, true if CS active CSOn bool // for rendered sequence, the tick type Type TickTypes }
Sequence represents a sequence of ticks for one behavioral trial, unfolding over NTicks individual time steps, with one or more CS's (conditioned stimuli) and a US (unconditioned stimulus -- outcome).
func SequenceReps ¶
SequenceReps generates repetitions of specific sequence types for given condition name, based on Pct of total blocks, and sets the USOn flag for proportion of sequences based on USProb probability. If Condition.Permute is true, order of all sequences are permuted. Gets the block name from the condition name.
type TickTypes ¶
type TickTypes int32 //enums:enum
TickTypes
const TickTypesN TickTypes = 5
TickTypesN is the highest valid value for type TickTypes, plus one.
func TickTypesValues ¶
func TickTypesValues() []TickTypes
TickTypesValues returns all possible values for the type TickTypes.
func (TickTypes) MarshalText ¶
MarshalText implements the encoding.TextMarshaler interface.
func (*TickTypes) SetString ¶
SetString sets the TickTypes value from its string representation, and returns an error if the string is invalid.
func (*TickTypes) UnmarshalText ¶
UnmarshalText implements the encoding.TextUnmarshaler interface.
type Valence ¶
type Valence int32 //enums:enum
Valence
const ValenceN Valence = 2
ValenceN is the highest valid value for type Valence, plus one.
func ValenceValues ¶
func ValenceValues() []Valence
ValenceValues returns all possible values for the type Valence.
func (Valence) MarshalText ¶
MarshalText implements the encoding.TextMarshaler interface.
func (*Valence) SetString ¶
SetString sets the Valence value from its string representation, and returns an error if the string is invalid.
func (*Valence) UnmarshalText ¶
UnmarshalText implements the encoding.TextUnmarshaler interface.