// ta_Dump File v3.0 -- code v6.3.1.0 rev6406 LeabraProject .projects["BG_Gating_STARTHERE_632"] { taBase_Group @.templates = [0] { }; Doc_Group @.docs = [1] { taDoc @["ProjectDocs"] { }; }; Wizard_Group @.wizards = [2] { LeabraWizard @["LeabraWizard_2"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; LeabraWizard @["LeabraWizard_1"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; }; SelectEdit_Group @.edits = [2] { SelectEdit @["MasterControl"] { EditMbrItem_Group @.mbrs = [4] { EditMbrItem @[0] { }; EditMbrItem @[1] { }; EditMbrItem @[2] { }; EditMbrItem @[3] { }; }; EditMthItem_Group @.mths = [7] { EditMthItem @[0] { }; EditMthItem @[1] { }; EditMthItem @[2] { }; EditMthItem @[3] { }; EditMthItem @[4] { }; EditMthItem @[5] { }; EditMthItem @[6] { }; }; }; ClusterRun @["ClusterRun"] { EditMbrItem_Group @.mbrs = [0] { }; EditMthItem_Group @.mths = [0] { }; ParamSearchAlgo_List @.search_algos = [0] { }; }; }; DataTable_Group @.data = [0] { DataTable_Group @.gp["InputData"] = [3] { DataTable @["RF_Env"] { DataTableCols @.data = [2] { String_Data @["Name"] { }; float_Data @["Input"] { }; }; }; DataTable @["TestFreq"] { DataTableCols @.data = [5] { String_Data @["Name"] { }; float_Data @["Input"] { }; float_Data @["Output"] { }; float_Data @["SNc"] { }; float_Data @["Motor_Cortex"] { }; }; }; DataTable @["Train_Prob8070"] { DataTableCols @.data = [5] { String_Data @["Name"] { }; float_Data @["Input"] { }; float_Data @["Output"] { }; float_Data @["SNc"] { }; float_Data @["Motor_Cortex"] { }; }; }; }; DataTable_Group @.gp["OutputData"] = [3] { DataTable @["TrialOutputData"] { DataTableCols @.data = [10] { int_Data @["batch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["trial"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["trial_name"] { }; String_Data @["group_name"] { }; int_Data @["phase_no"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["minus_cycles"] { }; float_Data @["sse"] { }; float_Data @["ext_rew"] { }; float_Data @["Output_sse"] { }; }; }; DataTable @["EpochOutputData"] { DataTableCols @.data = [6] { int_Data @["batch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["avg_sse"] { }; float_Data @["cnt_err"] { }; float_Data @["avg_ext_rew"] { }; float_Data @["avg_cycles"] { }; }; }; DataTable @["CycleOutputData"] { DataTableCols @.data = [16] { int_Data @["batch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["trial"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["trial_name"] { }; String_Data @["group_name"] { }; int_Data @["phase_no"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["cycle"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["sse"] { }; float_Data @["ext_rew"] { }; float_Data @["Motor__acts_avg"] { }; float_Data @["Thalam_acts_avg"] { }; float_Data @["GP_Int_acts_avg"] { }; float_Data @["GP_Ext_acts_avg"] { }; float_Data @["Output_act"] { }; float_Data @["Striat_act"] { }; float_Data @["Output_units_0_act"] { }; }; }; }; DataTable_Group @.gp["AnalysisData"] = [4] { DataTable @["Go_NoGo"] { DataTableCols @.data = [4] { float_Data @["gn_pos"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_neg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_A_R1"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_B_R1"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; }; }; DataTable @["Go_NoGo_Group"] { DataTableCols @.data = [8] { float_Data @["gn_pos_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_pos_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_neg_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_neg_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_A_R1_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_A_R1_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_B_R1_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["gn_B_R1_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; }; }; DataTable @["EpochOutputData_Group"] { DataTableCols @.data = [5] { int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["cnt_err_mean"] { }; float_Data @["cnt_err_sem"] { }; float_Data @["avg_cycles_mean"] { }; float_Data @["avg_cycles_sem"] { }; }; }; DataTable @["TrialOutputData_Group"] { DataTableCols @.data = [6] { String_Data @["trial_name_group"] { }; int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["Output_sse_mean"] { }; float_Data @["Output_sse_sem"] { }; float_Data @["minus_cycles_mean"] { }; float_Data @["minus_cycles_sem"] { }; }; }; }; }; taBase_Group @.data_proc = [4] { taDataProc @["data_base"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; taDataAnal @["data_anal"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; taDataGen @["data_gen"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; taImageProc @["image_proc"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; }; Program_Group @.programs = [2] { Program @["ActBasedRField"] { ProgObjList @.objs = [2] { ActBasedRF @["ActBasedRF_0"] { }; DataTable @["ActRFData"] { DataTableCols @.data = [8] { float_Data @["Input"] { }; float_Data @["Striatum"] { }; float_Data @["SNc"] { }; float_Data @["GP_Int"] { }; float_Data @["GP_Ext"] { }; float_Data @["Thalamus"] { }; float_Data @["Motor_Cortex"] { }; float_Data @["Output"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [3] { ProgVar @["network"] { }; ProgVar @["final_rf"] { }; ProgVar @["init_rf"] { }; }; ProgVar_List @.vars = [4] { ProgVar @["ActBasedRF_0"] { }; ProgVar @["ActRFData"] { }; ProgVar @["trg_layer_name"] { }; ProgVar @["trg_layer"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; }; ProgEl_List @.prog_code = [1] { IfElse @[0] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; }; ProgEl_List @.false_code = [1] { IfElse @[0] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; }; }; }; }; Program @["LeabraStartup"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [8] { ProgVar @["network"] { }; ProgVar @["batches"] { }; ProgVar @["num_intact_snc_units"] { }; ProgVar @["DA_burst_val"] { }; ProgVar @["meds"] { }; ProgVar @["input_data"] { }; ProgVar @["TrainFreq"] { }; ProgVar @["TestFreq"] { }; }; ProgVar_List @.vars = [7] { ProgVar @["batch"] { }; ProgVar @["tag"] { }; ProgVar @["log_dir"] { }; ProgVar @["log_file_nm"] { }; ProgVar @["EpochOutputData"] { }; ProgVar @["TrialOutputData"] { }; ProgVar @["Go_NoGo"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { IfReturn @[0] { }; }; ProgEl_List @.prog_code = [27] { IfReturn @[0] { }; Comment @[1] { }; MiscCall @[2] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[3] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[4] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[5] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[6] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[7] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[8] { ProgArg_List @.meth_args = [0] { }; }; RegisterArgs @[9] { }; Comment @[10] { }; PrintExpr @[11] { }; ProgVarFmArg @[12] { }; MethodCall @[13] { ProgArg_List @.meth_args = [0] { }; }; MiscCall @[14] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MiscCall @[15] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; ProgVarFmArg @[16] { }; ProgVarFmArg @[17] { }; ProgVarFmArg @[18] { }; ProgVarFmArg @[19] { }; Comment @[20] { }; MethodCall @[21] { ProgArg_List @.meth_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; MethodCall @[22] { ProgArg_List @.meth_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; MethodCall @[23] { ProgArg_List @.meth_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; MethodCall @[24] { ProgArg_List @.meth_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; PrintExpr @[25] { }; ProgramCall @[26] { ProgArg_List @.prog_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; }; }; Program_Group @.gp["LeabraAll_Std"] = [18] { Program @["LeabraBatch"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [4] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; ProgVar @["TrainFreq"] { }; ProgVar @["TestFreq"] { }; }; ProgVar_List @.vars = [8] { ProgVar @["batch"] { }; ProgVar @["meds"] { }; ProgVar @["DA_dip_val"] { }; ProgVar @["max_batch"] { }; ProgVar @["tstcycle"] { }; ProgVar @["Go_NoGo"] { }; ProgVar @["TrialOutputData"] { }; ProgVar @["EpochOutputData"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [4] { NetCounterInit @[0] { }; AssignExpr @[1] { }; UserScript @[2] { }; IfElse @[3] { ProgEl_List @.true_code = [2] { AssignExpr @[0] { }; OtherProgramVar @[1] { }; }; ProgEl_List @.false_code = [2] { AssignExpr @[0] { }; OtherProgramVar @[1] { }; }; }; }; ProgEl_List @.prog_code = [5] { NetCounterInit @[0] { }; WhileLoop @[1] { ProgEl_List @.loop_code = [9] { AssignExpr @[0] { }; ProgramCall @[1] { ProgArg_List @.prog_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; AssignExpr @[2] { }; ProgramCall @[3] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; ProgramCall @[4] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; AssignExpr @[5] { }; ProgramCall @[6] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; ProgramCall @[7] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; NetCounterIncr @[8] { }; }; }; DataCalcLoop @[2] { DataOpList @.src_cols = [0] { }; DataOpList @.dest_cols = [0] { }; ProgEl_List @.loop_code = [1] { UserScript @[0] { }; }; ProgVar_List @.src_col_vars = [0] { }; ProgVar_List @.dest_col_vars = [0] { }; }; DataGroupProg @[3] { DataOpList @.ops = [6] { DataGroupEl @[0] { }; DataGroupEl @[1] { }; DataGroupEl @[2] { }; DataGroupEl @[3] { }; DataGroupEl @[4] { }; DataGroupEl @[5] { }; }; }; DataGroupProg @[4] { DataOpList @.ops = [5] { DataGroupEl @[0] { }; DataGroupEl @[1] { }; DataGroupEl @[2] { }; DataGroupEl @[3] { }; DataGroupEl @[4] { }; }; }; }; }; Program @["LeabraTrain"] { ProgObjList @.objs = [1] { RndSeed @["rnd_seed"] { }; }; ProgType_List @.types = [1] { DynEnumType @["RndInitType"] { DynEnumItem_List @.enums = [2] { DynEnumItem @["OLD_SEED"] { }; DynEnumItem @["NEW_SEED"] { }; }; }; }; ProgVar_List @.args = [3] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; ProgVar @["no_prompts"] { }; }; ProgVar_List @.vars = [17] { ProgVar @["max_epoch"] { }; ProgVar @["train_mode"] { }; ProgVar @["test_mode"] { }; ProgVar @["rnd_init"] { }; ProgVar @["epoch"] { }; ProgVar @["err_stopcrit"] { }; ProgVar @["rnd_seed"] { }; ProgVar @["TestFreq"] { }; ProgVar @["train_timer"] { }; ProgVar @["j"] { }; ProgVar @["i"] { }; ProgVar @["num_intact_snc_units"] { }; ProgVar @["snc_size"] { }; ProgVar @["SNc"] { }; ProgVar @["Striatum"] { }; ProgVar @["Train_Freq"] { }; ProgVar @["str_unit"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [6] { AssignExpr @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; AssignExpr @[2] { }; NetCounterInit @[3] { }; IfElse @[4] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; IfGuiPrompt @[5] { ProgEl_List @.yes_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; PrintExpr @[1] { }; }; }; }; ProgEl_List @.prog_code = [14] { AssignExpr @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; NetCounterInit @[2] { }; MemberAssign @[3] { }; MemberAssign @[4] { }; IfElse @[5] { ProgEl_List @.true_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; PrintExpr @[1] { }; }; ProgEl_List @.false_code = [0] { }; }; AssignExpr @[6] { }; ForLoop @[7] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { UserScript @[0] { }; }; }; }; }; OtherProgramVar @[8] { }; OtherProgramVar @[9] { }; MemberAssign @[10] { }; ProgramCall @[11] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; WhileLoop @[12] { ProgEl_List @.loop_code = [6] { MemberAssign @[0] { }; ProgramCall @[1] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; NetCounterIncr @[2] { }; MemberAssign @[3] { }; ProgramCall @[4] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; IfBreak @[5] { }; }; }; MethodCall @[13] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraEpoch"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [5] { ProgVar @["data_loop_order"] { }; ProgVar @["trial"] { }; ProgVar @["trial_mon_data"] { }; ProgVar @["epoch_timer"] { }; ProgVar @["data_loop_index"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [2] { NetCounterInit @[0] { }; AssignExpr @[1] { }; }; ProgEl_List @.prog_code = [9] { NetCounterInit @[0] { }; AssignExpr @[1] { }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; NetDataLoop @[4] { ProgEl_List @.loop_code = [2] { ProgramCall @[0] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; IfElse @[1] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; }; }; IfElse @[5] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; MethodCall @[6] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[7] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[8] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraTestEpoch"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["TestEnv"] { }; }; ProgVar_List @.vars = [15] { ProgVar @["data_loop_order"] { }; ProgVar @["trial"] { }; ProgVar @["trial_mon_data"] { }; ProgVar @["epoch_timer"] { }; ProgVar @["data_loop_index"] { }; ProgVar @["epoch"] { }; ProgVar @["max_epoch"] { }; ProgVar @["final_rf"] { }; ProgVar @["acc_rf"] { }; ProgVar @["init_rf"] { }; ProgVar @["str_unit"] { }; ProgVar @["num_intact_snc_units"] { }; ProgVar @["snc_size"] { }; ProgVar @["k"] { }; ProgVar @["SNc"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [4] { NetCounterInit @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; }; ProgEl_List @.prog_code = [15] { NetCounterInit @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; MemberAssign @[3] { }; AssignExpr @[4] { }; MethodCall @[5] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[6] { ProgArg_List @.meth_args = [0] { }; }; AssignExpr @[7] { }; ProgramCall @[8] { ProgArg_List @.prog_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; AssignExpr @[9] { }; NetDataLoop @[10] { ProgEl_List @.loop_code = [2] { ProgramCall @[0] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; IfElse @[1] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; }; }; IfElse @[11] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; MethodCall @[12] { ProgArg_List @.meth_args = [0] { }; }; IfElse @[13] { ProgEl_List @.true_code = [1] { ProgramCall @[0] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.false_code = [1] { ProgramCall @[0] { ProgArg_List @.prog_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; }; }; MethodCall @[14] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraTrial"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [2] { ProgVar @["phase_no"] { }; ProgVar @["update_net_view"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { NetCounterInit @[0] { }; }; ProgEl_List @.prog_code = [6] { NetCounterInit @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; WhileLoop @[2] { ProgEl_List @.loop_code = [4] { UserScript @[0] { }; ProgramCall @[1] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; NetCounterIncr @[2] { }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; }; }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[4] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; NetUpdateView @[5] { }; }; }; Program @["LeabraTestTrial"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["TestWP"] { }; }; ProgVar_List @.vars = [5] { ProgVar @["phase_no"] { }; ProgVar @["update_net_view"] { }; ProgVar @["acc_rf"] { }; ProgVar @["init_rf"] { }; ProgVar @["cycle_mon_data"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { NetCounterInit @[0] { }; }; ProgEl_List @.prog_code = [8] { NetCounterInit @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[2] { ProgArg_List @.meth_args = [0] { }; }; WhileLoop @[3] { ProgEl_List @.loop_code = [4] { UserScript @[0] { }; ProgramCall @[1] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; NetCounterIncr @[2] { }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; }; }; MethodCall @[4] { ProgArg_List @.meth_args = [0] { }; }; IfElse @[5] { ProgEl_List @.true_code = [1] { ProgramCall @[0] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.false_code = [0] { }; }; ProgramCall @[6] { ProgArg_List @.prog_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; NetUpdateView @[7] { }; }; }; Program @["LeabraSettle"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [5] { ProgVar @["cycle"] { }; ProgVar @["min_cycles"] { }; ProgVar @["update_net_view"] { }; ProgVar @["LayerWriter_0"] { }; ProgVar @["out"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { NetCounterInit @[0] { }; }; ProgEl_List @.prog_code = [12] { NetCounterInit @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[2] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; ProgramCall @[3] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; IfElse @[4] { ProgEl_List @.true_code = [1] { MemberAssign @[0] { }; }; ProgEl_List @.false_code = [1] { MemberAssign @[0] { }; }; }; MethodCall @[5] { ProgArg_List @.meth_args = [0] { }; }; IfElse @[6] { ProgEl_List @.true_code = [1] { AssignExpr @[0] { }; }; ProgEl_List @.false_code = [1] { AssignExpr @[0] { }; }; }; WhileLoop @[7] { ProgEl_List @.loop_code = [4] { ProgramCall @[0] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; NetCounterIncr @[1] { }; IfContinue @[2] { }; IfBreak @[3] { }; }; }; MethodCall @[8] { ProgArg_List @.meth_args = [0] { }; }; IfElse @[9] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; IfElse @[10] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; NetUpdateView @[11] { }; }; }; Program @["LeabraTestSettle"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["TestWP"] { }; }; ProgVar_List @.vars = [5] { ProgVar @["cycle"] { }; ProgVar @["tstcycle"] { }; ProgVar @["min_cycles"] { }; ProgVar @["update_net_view"] { }; ProgVar @["out"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { NetCounterInit @[0] { }; }; ProgEl_List @.prog_code = [12] { NetCounterInit @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[2] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; ProgramCall @[3] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; IfElse @[4] { ProgEl_List @.true_code = [1] { MemberAssign @[0] { }; }; ProgEl_List @.false_code = [1] { MemberAssign @[0] { }; }; }; MethodCall @[5] { ProgArg_List @.meth_args = [0] { }; }; IfElse @[6] { ProgEl_List @.true_code = [1] { AssignExpr @[0] { }; }; ProgEl_List @.false_code = [1] { AssignExpr @[0] { }; }; }; WhileLoop @[7] { ProgEl_List @.loop_code = [5] { ProgramCall @[0] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; NetCounterIncr @[1] { }; IfContinue @[2] { }; IfBreak @[3] { }; IfBreak @[4] { }; }; }; MethodCall @[8] { ProgArg_List @.meth_args = [0] { }; }; IfElse @[9] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; IfElse @[10] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; ProgEl_List @.false_code = [0] { }; }; NetUpdateView @[11] { }; }; }; Program @["LeabraCycle"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [1] { ProgVar @["update_net_view"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [3] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; NetUpdateView @[1] { }; ProgramCall @[2] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; }; }; Program @["LeabraTestCycle"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [1] { ProgVar @["update_net_view"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [3] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; NetUpdateView @[1] { }; ProgramCall @[2] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; }; }; Program @["ApplyInputs"] { ProgObjList @.objs = [1] { LayerWriter @["LayerWriter_0"] { LayerDataEl_List @.layer_data = [5] { LayerWriterEl @[0] { }; LayerWriterEl @[1] { }; LayerWriterEl @[2] { }; LayerWriterEl @[3] { }; LayerWriterEl @[4] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [1] { ProgVar @["LayerWriter_0"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["ApplyInputsTest"] { ProgObjList @.objs = [1] { LayerWriter @["LayerWriter_0"] { LayerDataEl_List @.layer_data = [5] { LayerWriterEl @[0] { }; LayerWriterEl @[1] { }; LayerWriterEl @[2] { }; LayerWriterEl @[3] { }; LayerWriterEl @[4] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["TestWP"] { }; }; ProgVar_List @.vars = [1] { ProgVar @["LayerWriter_0"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraTrialMonitor"] { ProgObjList @.objs = [1] { NetMonitor @["trial_netmon"] { NetMonItem_List @.items = [10] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["trial"] { }; NetMonItem @["trial_name"] { }; NetMonItem @["group_name"] { }; NetMonItem @["phase_no"] { }; NetMonItem @["minus_cycles"] { }; NetMonItem @["sse"] { }; NetMonItem @["ext_rew"] { }; NetMonItem @["Output_sse"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [2] { ProgVar @["trial_mon_data"] { }; ProgVar @["trial_netmon"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [3] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [4] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[2] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[3] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; }; }; Program @["Cycle_Monitor"] { ProgObjList @.objs = [1] { NetMonitor @["cycle_netmon"] { NetMonItem_List @.items = [16] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["trial"] { }; NetMonItem @["trial_name"] { }; NetMonItem @["group_name"] { }; NetMonItem @["phase_no"] { }; NetMonItem @["cycle"] { }; NetMonItem @["sse"] { }; NetMonItem @["ext_rew"] { }; NetMonItem @["Motor__acts_avg"] { }; NetMonItem @["Thalam_acts_avg"] { }; NetMonItem @["GP_Int_acts_avg"] { }; NetMonItem @["GP_Ext_acts_avg"] { }; NetMonItem @["Output_act"] { }; NetMonItem @["Striat_act"] { }; NetMonItem @["Output_units_0_act"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [2] { ProgVar @["cycle_mon_data"] { }; ProgVar @["cycle_netmon"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [3] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [5] { IfReturn @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[2] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[4] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; }; }; Program @["LeabraEpochMonitor"] { ProgObjList @.objs = [1] { NetMonitor @["epoch_netmon"] { NetMonItem_List @.items = [6] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["avg_sse"] { }; NetMonItem @["cnt_err"] { }; NetMonItem @["avg_ext_rew"] { }; NetMonItem @["avg_cycles"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [3] { ProgVar @["epoch_mon_data"] { }; ProgVar @["epoch_netmon"] { }; ProgVar @["epoch_timer"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [4] { AssignExpr @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[3] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [4] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; AssignExpr @[2] { }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["SaveWeights"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [6] { ProgVar @["tag"] { }; ProgVar @["wts_subdir"] { }; ProgVar @["fname"] { }; ProgVar @["epoch_str"] { }; ProgVar @["batch_str"] { }; ProgVar @["final_tag"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [6] { IfReturn @[0] { }; MiscCall @[1] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[2] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; AssignExpr @[3] { }; MethodCall @[4] { ProgArg_List @.meth_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; MethodCall @[5] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; }; }; Program @["DA_Rew_Punish"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [15] { ProgVar @["num_intact_snc_units"] { }; ProgVar @["snc_size"] { }; ProgVar @["k"] { }; ProgVar @["sse"] { }; ProgVar @["act0"] { }; ProgVar @["act1"] { }; ProgVar @["SNc"] { }; ProgVar @["Output"] { }; ProgVar @["Motor_Cortex"] { }; ProgVar @["matrisom_unitspec"] { }; ProgVar @["i"] { }; ProgVar @["tonic_DA"] { }; ProgVar @["op_sse"] { }; ProgVar @["DA_dip_val"] { }; ProgVar @["DA_burst_val"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [5] { AssignExpr @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; ForLoop @[3] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; IfElse @[4] { ProgEl_List @.true_code = [4] { IfElse @[0] { ProgEl_List @.true_code = [2] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; MemberAssign @[1] { }; }; ProgEl_List @.false_code = [2] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; MemberAssign @[1] { }; }; }; AssignExpr @[1] { }; AssignExpr @[2] { }; IfElse @[3] { ProgEl_List @.true_code = [6] { MemberAssign @[0] { }; MemberAssign @[1] { }; MemberAssign @[2] { }; MemberAssign @[3] { }; MemberAssign @[4] { }; MemberAssign @[5] { }; }; ProgEl_List @.false_code = [6] { MemberAssign @[0] { }; MemberAssign @[1] { }; MemberAssign @[2] { }; MemberAssign @[3] { }; MemberAssign @[4] { }; MemberAssign @[5] { }; }; }; }; ProgEl_List @.false_code = [5] { ForLoop @[0] { ProgEl_List @.loop_code = [2] { MemberAssign @[0] { }; MemberAssign @[1] { }; }; }; MemberAssign @[1] { }; MemberAssign @[2] { }; MemberAssign @[3] { }; MemberAssign @[4] { }; }; }; }; }; Program @["Calc_GoNoGo"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [15] { ProgVar @["i"] { }; ProgVar @["j"] { }; ProgVar @["B_NoGoR1"] { }; ProgVar @["B_NoGoR2"] { }; ProgVar @["B_GoR2"] { }; ProgVar @["B_GoR1"] { }; ProgVar @["A_NoGoR2"] { }; ProgVar @["A_GoR2"] { }; ProgVar @["A_NoGoR1"] { }; ProgVar @["A_GoR1"] { }; ProgVar @["gn_pos"] { }; ProgVar @["gn_neg"] { }; ProgVar @["gn_A_R1"] { }; ProgVar @["gn_B_R1"] { }; ProgVar @["out_data"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { ResetDataRows @[0] { }; }; ProgEl_List @.prog_code = [27] { AssignExpr @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; AssignExpr @[4] { }; AssignExpr @[5] { }; AssignExpr @[6] { }; AssignExpr @[7] { }; AssignExpr @[8] { }; AssignExpr @[9] { }; AssignExpr @[10] { }; AssignExpr @[11] { }; ForLoop @[12] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[13] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[14] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[15] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[16] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[17] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[18] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; ForLoop @[19] { ProgEl_List @.loop_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { VarIncr @[0] { }; }; }; }; }; AssignExpr @[20] { }; AssignExpr @[21] { }; AssignExpr @[22] { }; AssignExpr @[23] { }; AddNewDataRow @[24] { }; DataVarProg @[25] { }; DoneWritingDataRow @[26] { }; }; }; }; }; taViewer_List @.viewers = [1] { MainWindowViewer @["Browser"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_win_lft"] { }; UserDataItem @["view_win_top"] { }; UserDataItem @["view_win_wd"] { }; UserDataItem @["view_win_ht"] { }; UserDataItem @["view_win_iconified"] { }; UserDataItem @["view_splitter_state"] { }; }; ToolBar_List @.toolbars = [1] { ToolBar @["Application"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_win_visible"] { }; }; }; }; FrameViewer_List @.frames = [3] { BrowseViewerTaBase @["Tree"] { }; PanelViewer @["Panels"] { }; T3PanelViewer @["T3Frames"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_selected"] { }; }; T3Panel_List @.panels = [7] { T3Panel @["BGnet"] { T3DataView_List @.children = [1] { NetView @["BGNet_View"] { ScaleRange_List @.scale_ranges = [41] { ScaleRange @[0] { }; ScaleRange @[1] { }; ScaleRange @[2] { }; ScaleRange @[3] { }; ScaleRange @[4] { }; ScaleRange @[5] { }; ScaleRange @[6] { }; ScaleRange @[7] { }; ScaleRange @[8] { }; ScaleRange @[9] { }; ScaleRange @[10] { }; ScaleRange @[11] { }; ScaleRange @[12] { }; ScaleRange @[13] { }; ScaleRange @[14] { }; ScaleRange @[15] { }; ScaleRange @[16] { }; ScaleRange @[17] { }; ScaleRange @[18] { }; ScaleRange @[19] { }; ScaleRange @[20] { }; ScaleRange @[21] { }; ScaleRange @[22] { }; ScaleRange @[23] { }; ScaleRange @[24] { }; ScaleRange @[25] { }; ScaleRange @[26] { }; ScaleRange @[27] { }; ScaleRange @[28] { }; ScaleRange @[29] { }; ScaleRange @[30] { }; ScaleRange @[31] { }; ScaleRange @[32] { }; ScaleRange @[33] { }; ScaleRange @[34] { }; ScaleRange @[35] { }; ScaleRange @[36] { }; ScaleRange @[37] { }; ScaleRange @[38] { }; ScaleRange @[39] { }; ScaleRange @[40] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; T3Panel @["CycleOutputData"] { T3DataView_List @.children = [1] { GraphTableView @["CycleOutputData_Graph"] { T3DataView_List @.children = [16] { GraphColView @["batch"] { }; GraphColView @["epoch"] { }; GraphColView @["trial"] { }; GraphColView @["trial_name"] { }; GraphColView @["group_name"] { }; GraphColView @["phase_no"] { }; GraphColView @["cycle"] { }; GraphColView @["sse"] { }; GraphColView @["ext_rew"] { }; GraphColView @["Motor__acts_avg"] { }; GraphColView @["Thalam_acts_avg"] { }; GraphColView @["GP_Int_acts_avg"] { }; GraphColView @["GP_Ext_acts_avg"] { }; GraphColView @["Output_act"] { }; GraphColView @["Striat_act"] { }; GraphColView @["Output_units_0_act"] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; T3Panel @["EpochOutputData"] { T3DataView_List @.children = [1] { GraphTableView @["EpochOutputData_Graph"] { T3DataView_List @.children = [6] { GraphColView @["batch"] { }; GraphColView @["epoch"] { }; GraphColView @["avg_sse"] { }; GraphColView @["cnt_err"] { }; GraphColView @["avg_ext_rew"] { }; GraphColView @["avg_cycles"] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; T3Panel @["Go_NoGo"] { T3DataView_List @.children = [1] { GraphTableView @["Go_NoGo_Graph"] { T3DataView_List @.children = [4] { GraphColView @["gn_pos"] { }; GraphColView @["gn_neg"] { }; GraphColView @["gn_A_R1"] { }; GraphColView @["gn_B_R1"] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; T3Panel @["Go_NoGo_Group"] { T3DataView_List @.children = [1] { GraphTableView @["Go_NoGo_Group_Graph"] { T3DataView_List @.children = [8] { GraphColView @["gn_pos_mean"] { }; GraphColView @["gn_pos_sem"] { }; GraphColView @["gn_neg_mean"] { }; GraphColView @["gn_neg_sem"] { }; GraphColView @["gn_A_R1_mean"] { }; GraphColView @["gn_A_R1_sem"] { }; GraphColView @["gn_B_R1_mean"] { }; GraphColView @["gn_B_R1_sem"] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; T3Panel @["EpochOutputData_Group"] { T3DataView_List @.children = [1] { GraphTableView @["EpochOutputData_Group_Graph"] { T3DataView_List @.children = [5] { GraphColView @["epoch_group"] { }; GraphColView @["cnt_err_mean"] { }; GraphColView @["cnt_err_sem"] { }; GraphColView @["avg_cycles_mean"] { }; GraphColView @["avg_cycles_sem"] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; T3Panel @["TrialOutputData_Group"] { T3DataView_List @.children = [1] { GraphTableView @["TrialOutputData_Group_Graph"] { T3DataView_List @.children = [6] { GraphColView @["trial_name_group"] { }; GraphColView @["epoch_group"] { }; GraphColView @["Output_sse_mean"] { }; GraphColView @["Output_sse_sem"] { }; GraphColView @["minus_cycles_mean"] { }; GraphColView @["minus_cycles_sem"] { }; }; }; }; T3SavedView_List @.saved_views = [6] { T3SavedView @["View_0"] { }; T3SavedView @["View_1"] { }; T3SavedView @["View_2"] { }; T3SavedView @["View_3"] { }; T3SavedView @["View_4"] { }; T3SavedView @["View_5"] { }; }; }; }; }; }; DockViewer_List @.docks = [1] { ToolBoxDockViewer @["Tools"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_win_lft"] { }; UserDataItem @["view_win_top"] { }; UserDataItem @["view_win_wd"] { }; UserDataItem @["view_win_ht"] { }; UserDataItem @["view_win_iconified"] { }; UserDataItem @["view_visible"] { }; }; }; }; }; }; Network_Group @.networks = [1] { LeabraNetwork @["BGNet"] { UserDataItem_List @*(.user_data_) { UserDataItem @["cos_err"] { }; UserDataItem @["norm_err"] { }; UserDataItem @["ext_rew"] { }; UserDataItem @["maxda"] { }; UserDataItem @["minus_output_name"] { }; UserDataItem @["minus_cycles"] { }; UserDataItem @["ct_cycle"] { }; UserDataItem @["phase_no"] { }; UserDataItem @["phase"] { }; UserDataItem @["sse"] { }; UserDataItem @["output_name"] { }; UserDataItem @["trial_name"] { }; UserDataItem @["group_name"] { }; UserDataItem @["time"] { }; UserDataItem @["cycle"] { }; UserDataItem @["tick"] { }; UserDataItem @["trial"] { }; UserDataItem @["group"] { }; UserDataItem @["epoch"] { }; UserDataItem @["batch"] { }; }; BaseSpec_Group @.specs = [1] { ConSpec @["ConSpec_0"] { BaseSpec_Group @.children = [0] { }; }; BaseSpec_Group @.gp["LeabraPrjns"] = [10] { FullPrjnSpec @["FullPrjnSpec_0"] { BaseSpec_Group @.children = [0] { }; }; OneToOnePrjnSpec @["OneToOne"] { BaseSpec_Group @.children = [0] { }; }; TesselPrjnSpec @["Striatum_GPext"] { BaseSpec_Group @.children = [1] { TesselPrjnSpec @["PFC_Act_Deep"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; TesselPrjnSpec @["dMatrosomesGP"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [9] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; }; }; TesselPrjnSpec @["SNc_GO"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [12] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; }; }; TesselPrjnSpec @["MotorCortex_Striatum"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [2] { TessEl @[0] { }; TessEl @[1] { }; }; }; TesselPrjnSpec @["SNc_NOGO"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [12] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; }; }; TesselPrjnSpec @["Striatum_GPInt"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [9] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; }; }; TesselPrjnSpec @["MotorCortex_NoGoStriatum"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [4] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; }; }; OneToOnePrjnSpec @["OneToOne_2"] { BaseSpec_Group @.children = [0] { }; }; }; BaseSpec_Group @.gp["Connections"] = [7] { LeabraBiasSpec @["LearnBias"] { BaseSpec_Group @.children = [1] { LeabraBiasSpec @["FixedBias"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["FixedFull"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["GPeGPiInhib"] { BaseSpec_Group @.children = [2] { LeabraConSpec @["ThalInhib"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Inhib_Learn"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Fixed"] { BaseSpec_Group @.children = [4] { LeabraConSpec @["MotorCortex_Striatum"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Motor_NoGo"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Input_Motor_Prepotent_"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["InputStriatum"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Dopamine_D1_"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["SNc_Inhib_D2_"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Inhib"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; BaseSpec_Group @.gp["Units"] = [2] { LeabraUnitSpec @["FixedBiasUnitSpec"] { BaseSpec_Group @.children = [5] { LeabraUnitSpec @["GPExt_UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["OutputUnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["Thalamus"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["LearnBiasUnitSpec"] { BaseSpec_Group @.children = [3] { LeabraUnitSpec @["matrisom_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["Motor_Cortex_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [4] { SchedItem @[0] { }; SchedItem @[1] { }; SchedItem @[2] { }; SchedItem @[3] { }; }; }; LeabraUnitSpec @["STN_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["GPInt_UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["SNc_UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; }; BaseSpec_Group @.gp["LayerSpecs"] = [2] { LeabraLayerSpec @["LayerSpec_0"] { BaseSpec_Group @.children = [7] { LeabraLayerSpec @["Matrisome_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["GP_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Thalamus_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Output_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["InputLayer"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["SNc_layerspec"] { BaseSpec_Group @.children = [0] { }; }; }; }; LeabraLayerSpec @["NoDecayLayers"] { BaseSpec_Group @.children = [2] { LeabraLayerSpec @["STN"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["PFCIn_layerspec"] { BaseSpec_Group @.children = [0] { }; }; }; }; }; }; Layer_Group @.layers = [8] { LeabraLayer @["Input"] { Projection_Group @.projections = [0] { }; Unit_Group @.units = [25] { }; }; LeabraLayer @["Striatum"] { Projection_Group @.projections = [5] { LeabraPrjn @["Fm_Input"] { }; LeabraPrjn @["Fm_SNc_1"] { }; LeabraPrjn @["Fm_SNc"] { }; LeabraPrjn @["Fm_Motor_Cortex_3"] { }; LeabraPrjn @["Fm_Motor_Cortex"] { }; }; Unit_Group @.units = [36] { }; }; LeabraLayer @["SNc"] { Projection_Group @.projections = [0] { }; Unit_Group @.units = [4] { }; }; LeabraLayer @["GP_Int"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_Striatum"] { }; LeabraPrjn @["Fm_GP_Ext"] { }; }; Unit_Group @.units = [4] { }; }; LeabraLayer @["GP_Ext"] { Projection_Group @.projections = [1] { LeabraPrjn @["Fm_Striatum"] { }; }; Unit_Group @.units = [2] { }; }; LeabraLayer @["Thalamus"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_GP_Int"] { }; LeabraPrjn @["Fm_Motor_Cortex"] { }; }; Unit_Group @.units = [2] { }; }; LeabraLayer @["Motor_Cortex"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_Thalamus"] { }; LeabraPrjn @["Fm_Input"] { }; }; Unit_Group @.units = [4] { }; }; LeabraLayer @["Output"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_Motor_Cortex_0"] { }; LeabraPrjn @["Fm_Motor_Cortex"] { }; }; Unit_Group @.units = [2] { }; }; }; NetViewObj_Group @.view_objs = [0] { }; }; }; }; LeabraProject .projects["BG_Gating_STARTHERE_632"] { name="BG_Gating_STARTHERE_632"; desc="mtrNoGoGlut: stronger glutamate projns from ctx to NoGo (mGluR!) nodecMat = no decay b/w phases in matrix, so can learn about recently active synapses stnGPrnd2575: 25 = % con from STN-GPe 75 = % con from GPe to STN noise in motor cortex, so after learning NOGO can try GO on other acton"; tags=; version { major=0; minor=0; step=0; }; license { owner=; license=NO_LIC; org=; year="2010"; custom=; }; wiki_url { sync=0; wiki=; url=; }; templates { name=; el_typ=taBase; el_def=0; }; docs { name=; el_typ=taDoc; el_def=0; taDoc @["ProjectDocs"] { name="ProjectDocs"; desc=; auto_open=1; web_doc=1; wiki="CCN"; url="CCNBook/Sims/Motor/BG"; full_url="http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Sims/Motor/BG"; text_size=1; text=" * GENERAL USAGE NOTE: To start, it is usually a good idea to do Object/Edit Dialog in the menu just above this text, which will open this documentation in a separate window that you can more easily come back to. If your screen is small, you may also want to make this new window \"Always on Top\": e.g., in Linux, Emergent-logo-at-top-left-> Advanced-> Keep Above Others). Alternatively, you can always return to this document by clicking on the ProjectDocs tab at the top of this middle panel. = Action Selection and Probabilistic Reinforcement Learning in the Basal Ganglia = This simplified basal ganglia (BG) network considers learning and action selection among just two alternative responses (but see Frank (2006) for a model with four alternative choices and also explores the function of the subthalamic nucleus and the 'hyperdirect' pathway). The BG circuitry is notoriously complex and counterintuitive, involving a combination between excitatory and inhibitory projections and multiple pathways. Given a sensory stimulus, the pre/motor cortex generates candidate motor actions, and then the BG selectively \"gate\" one of these actions to be executed while suppressing the other action. This gating process occurs via a sequence of steps from the Striatum through two opposing pathways (the direct and indirect pathways) to the output nucleus, the Thalamus, and back up to cortex. The BG learn which actions to select and which to suppress as a function of reinforcement signals encoded by dopamine. That is, unlike the error-driven *supervised* learning mechanisms in other task learning simulations, this network learns to make responses based purely on an unsupervised reinforcement signal conveying the reward value of outcomes that follow actions, and is never 'told' which response it should have made. * To get a sense of how the dynamics of action selection work in more detail, step through a single trial a few cycles at a time. Click Init, and then ''Cycle'' on the MasterControl panel. (You can choose to step 5 Cycles at a time instead of clicking this button for every cycle by checking off the '5' box next to Step). During the initial cycles of settling you can observe the basic \"default\" function of the BG to suppress responses. A stimulus input pattern is presented, and both competing responses initially become noisily activated (or \"considered\") in pre/motor cortex. (This noise is helpful for producing exploratory motor actions before learning has occurred). In the absence of Striatum activity, neurons in the GP_Int (globus pallidus internal segment, the output nucleus of the BG) are tonically active (this is due to a reverse leak current in which positive ions leak into the cell rather than out of it as usual). Importantly, the projections from GP_Int units to the Thalamus are inhibitory, so that GP_Int activation chronically suppresses the Thalamus. Because bottom-up thalamic-cortical activity is required for a motor response to become sufficiently activated, this thalamic inhibition prevents all responses from getting executed, leading to only noisy cortical activity and no action selection. * Click a few more cycles until you see activity in the Striatum in response to the Input pattern. The Striatum is divided into two halfs, with \"Go\" units in the left half, and \"NoGo\" units in the right, and separate columns for each response. The first column of Go units receives input from the first column of motor units (R1), whereas the second column receives input fron the second column (R2), and similarly for NoGo units (columns 3 and 4 are NoGo-R1 and NoGo-R2). However, the particular Go or NoGo units within a column that get active depend also on the sensory stimulus Input. Thus the striatal units encode conjunctions between stimulus input and actions that are considered in motor cortex, so that some units represent Go-R1 for a particular stimulus, whereas others may become active for another stimulus. If a particular column of Go units is more active than the NoGo units, it will tend to inhibit the corresponding column of the GP_Int, which ultimately will allow that action to be executed. * Step through a few more cycles until you see this inhibition of a column in GP_Int. You should see that as the GP_Int units become inhibited, the Thalamus is no longer suppressed. This process is referred to as \"disinhibition\" because the effect of the striatal Go activation is not to directly excite, but only to remove inhibition of GP_Int onto Thalamus. The corresponding column of Thalamus will become excited only if it also receives top down activation from motor units in the same column. It is this property that makes the BG contribution to action selection a *gating* process: noisy striatal activity would not by itself select an action unless the motor cortex was already 'considering' that action as a plausible candidate. Similarly, in some cases both responses may get a similar level of Go activity in striatum initially, and in this case only the one also having greater cortical activity will be gated. You should see that once a Thalamic unit is active, the corresponding column of cortical motor units quickly becomes maximally active, while the competing motor column is inhibited. (There is lateral inhibition between the competing motor responses, and the thalamic activation gives the winning column sufficient activity so that the other column is completely inhibited). * Once you are finished watching the network activations evolve in this trial, switch to stepping by Settle instead of Cycle. Step through a few trials in the same way. You may also see some NoGo activity (in the right half of striatal units), which would serve to prevent selection of the corresponding response, because NoGo units project to and inhibit the external segment of the globus pallidus (GP_Ext), which in turn send inhibitory projections to the GP_Int. Thus whereas Go activity disinhibits the Thalamus, NoGo activity has the opposite effect, further activating GP_Int so that the Thalamus remains inhibited. Before learning. whether Go or NoGo activity for a given response predominates is somewhat arbitrary (related to random synaptic weights and overall dopamine levels), but informative differences will emerge with learning. Each trial consists of two settling phases: one in which the network selects a response, and another in which it receives dopaminergic feedback about whether the outcome was good or bad. You should also see that depending on whether the network responded correctly or not (in the task described below), there will be either a dopamine burst (SNc units completely activated) or dip (complete inhibition). This reinforcement forms the basis for learning in the model, as described next. == Learning == Dopamine (DA) from the SNc modulates the relative balance of activity in Go versus NoGo units via simulated D1 and D2 receptors. Dopamine effects are greatest on those striatal units that are already activated by corticostriatal glutamatergic input. Go units activated by the current stimulus and motor response are further excited by D1 receptor stimulation. In contrast, DA is uniformally inhibitory on NoGo units via D2 receptors. This differential effect of DA on Go and NoGo units, via D1 and D2 receptors, affects performance (i.e more tonic DA leads to more Go and associated response vigor, faster reaction times) and, critically, learning. Specifically, when the network selects the 'correct' response, a dopamine burst subsequently reinforces the response, further exciting Go units and inhibiting NoGo units. Learning occurs during this phasic DA signal, so that synapses between active cortical and striatal Go units are strengthened, whereas those for NoGo units are weakened. This learning allows the striatum to facilitate selection of the rewarding response in future presentations of the same stimulus. In contrast, if the network selects the incorrect response, DA units cease firing, and the associated dip in DA activity allows NoGo units (which were previously inhibited by DA) to become excited. The resulting increase in activity is also associated with strengthening of synapses from active cortical cells. With learning, NoGo cells differentially respond to stimulus-response combinations that have negative value, so that non-rewarding responses are likely to be suppressed. The mechanisms by which DA affects activity and plasticity are motivated by several biological experiments and are consistent with effects of dopamine D1 and D2 pharmacological agents on activity and long term plasticity (see Wiecki & Frank, 2010 for a recent review). The net result is that the BG selects one response if a particular \"Go\" signal in the striatum is stronger than its corresponding \"NoGo\" signal, while concurrently suppressing alternative responses. Because direct and indirect pathway cells compete at BG output, the action most likely to be gated is a function of the difference in activity in these pathways for each action in parallel. == Training the model in probabilistic reinforcement tasks == Now that we've seen how the dynamics of action selection and learning work, let's put the mechanisms to a test, and see how they are sensitive to dopamine manipulations as in empirical studies. Specifically, many studies implicate the basal ganglia dopamine system in reinforcement learning in probabilistic environments. In these tasks, multiple stimuli are presented on different trials, and participants have to learn by trial and error which response to make. The difficulty is not only that there is no clear underlying 'rule' for determining which response to make (it is determined arbitrarily), but also that there is no absolute answer that will always work. However, certain responses are reinforced on a greater proportion of trials than others, so that people have to learn to integrate the reinforcement history across multiple instances to determine the optimal response. To see if this basic BG network is capable of learning in such environments, the model is presented with four stimuli (A,B,C,D) each represented by a column of four input units (see the Train_Prob8070 InputData table). When stimulus A is presented, the model is rewarded (DA burst) for selecting R1 on 80% of trials (8/10 per epoch), and for selecting R2 on 20% of trials, and is punished (DA dip) otherwise. The opposite contingencies are simulated for stimulus B: R2 is correct on 80% of trials, while R2 is incorrect on these trials. Stimuli C and D are associated with 70% positive reinforcement for choosing R1 and R2 respectively. Thus this task tests the network's ability to learn multiple stimulus-response associations in probabilistic environments. (Technical note: phasic dopamine bursts and dips are controlled by the DA_Rew_Punish program, depending on the network's actions, so ignore the value of SNc in the data table as they are overwritten by this program). * Do Batch Init and Batch Run on the [[.PanelTab.MasterControl]] control panel. This will run a batch of 25 networks for 10 epochs of 10 trials per stimulus (for a total of 100 trials per stimulus, similar to that in a human study of this nature). (To speed things up when running a batch of networks, turn off the display of the network by clicking on the network tab on the right and check off the Display! box on the top left.) * Examine the learning curves in the [[.T3Tab.EpochOutputData]] graph. These reflect the degree of optimal responding (i.e. in this analysis, responses are counted as 'correct' if they correspond to the most reinforced response, and as an 'error' otherwise). The number of errors are plotted out of a total of 20 test trials across all four stimuli (multiple trials per stimulus are presented to get a reliable estimate of accuracy given that there is noise in unit activity that could lead to different results even for the same weights). After the batch of networks is finished, the average learning curve is plotted in the [[.T3Tab.EpochOutputData_Group]] graph, or divided into difficulty (80 vs 70% reinforcement contingencies) on the [[.T3Tab.TrialOutputData_Group]] graph. There you can also see a measure of response time (RT, in terms of the number of cycles before a response was selected) for the different conditions, plotted in red (note the alternate y axis for RT in cycles).
\"Question 7.1\" What is the average performance level of the networks after training (number of errors and mean sse in the Output)? Do networks learn the optimal response? Explain any differences between 70% and 80% conditions, in terms of accuracy and RT.
Now let's see the nature of Go and NoGo associations the networks learn to solve the task. After training, all stimuli are presented one at a time, and we then compute Activation Based Receptive fields in the Striatum. These record the degree to which striatum units are activated by specific input patterns. (See http://grey.colorado.edu/emergent/index.php/Activation_Based_Receptive_Field for more detailed info). In this case, we are interested in the degree to which Striatal Go and NoGo units preferentially response to stimulus-response combinations that had been rewarding or non-rewarding during learning. Thus we measure the extent to which Go units coding for response R1 (in the first column) are activated when stimulus A is presented in the input, and similarly Go units for R2 when stimulus B is presented; A-R1 and B-R2 are rewarding stimulus-response combinations. Conversely, we can also assess activity in NoGo units for non-rewarding ('negative') stimulus-response combinations (A-R2 and B-R1). After the receptive fields for each unit are calculated, we then sum these over all Go units for the relevant stimuli and responses, so that we can calculate total striatal Go activity for 'good' (most often rewarded) responses and subtract the total NoGo activity for these responses. This measure gives us the relative Go-NoGo activities, and is an index of the probabilty that these positive stimulus-response combinations will be gated. Similarly, we can compute the total Go and NoGo activity for bad (least often rewarded) responses, and perform the same subtraction. In this case we expect relatively greater NoGo than Go activity after learning (so that the Go-NoGo difference should be negative, as an index of the probability that negative s-r combinations will be suppressed). The resulting statistics are reported in the Go_NoGo data table, as follows: gn_pos computes relative Go-NoGo striatal activity for positive stimulus-response conjunctions (R1 for A and R2 for B). Networks should learn greater Go than NoGo representations for these positive associations, and if so the value should be positive. gn_neg computes relative Go-NoGo striatal activity for stimulus-response conjunctions that had been predominantly associated with negative outcomes (R2 for A and R1 for B). Networks should learn greater NoGo representations for these negative associations, and if so the value should be negative. Because the data are noisy (probabilistic rewards, noisy unit activity, combined with random initial synaptic weights), we need to average across multiple networks with different sets of initial weights. This is done automatically at the end of running a batch of networks, with resulting mean and standard error of gn_pos and gn_neg reported in the Go_NoGo_Group data table and plotted in the associated graph on the right. * If you didn't already run a batch of intact networks above, make sure the number of intact SNc units is set to 4 (out of 4 units), This value is set on the [[.PanelTab.MasterControl]] control panel. Do Batch Init and Batch Run on the [[.PanelTab.MasterControl]] control panel. This will run a batch of 25 networks. You should see in the Go_NoGo_Group graph that, on average, gn_pos is positive showing that positively rewarded stimulus-response combinations are associated with relatively greater Go than NoGo activity, wheras the opposite is true for responses that are more often associated with negative outcomes (i.e., gn_neg should be negative). This pattern will not hold for every individual network (due to random initial weights and noisy unit activity that might happen to favor, e.g., Go-B), just like it doesn't hold for every individual human participant. But you should see relatively more positive gn_pos than gn_neg in virtually every intact network, even if in some cases they are both positive or both negative. To see gn_pos and gn_neg for individual networks look at the Go_NoGo data table and graph on the right, which plots these measures across networks on the x-axis (twice for each network; see notes at the bottom)- the black gn_pos dots should usually be positive and the red gn_neg ones negative. Note that any differences between gn_pos and gn_neg must be due to prior learning, even though dopamine can also influence the overall balance of Go vs NoGo activity. == Simulating Parkinson's disease and dopamine medications == Empirical studies testing the predictions of this model about the role of dopamine in BG learning have shown that patients with Parkinson's disease (PD) show different patterns of Go or NoGo learning impairments depending on whether they are medicated or not (Frank et al, 2004; 2007; Palminteri et al, 2009, Bodi et al, 2010, etc). * To simulate Parkinson's disease (PD), set the number of intact DA units to 2 in the [[.PanelTab.MasterControl]] control panel. This sets the number of SNc units that are connected to the Striatum to 2 (out of 4). (For a more extreme example (e.g. advanced PD), set num_intact_snc_units to 1). This reduction in number of intact DA units leads to effectively reduced tonic and phasic DA levels in the Striatum. You can step through a few trials to examine network dynamics under this dopamine depleted state. You might see overall greater levels of NoGo activation, which also produces general slowing in action selection (i.e. akinesia). However, these effects become more prevalent with learning (and in fact, simulations with this model have also shown that PD-like symptoms can develop due to an asymmetric learning bias, see Wiecki & Frank 2010). * Do Batch Init and Batch Run. When it's done, look at the Go_NoGo_Group graph on the right again.
\"Question 7.2\" Report gn_pos and gn_neg values. How do the Go and NoGo activations to rewarding and non-rewarding stimulus-response combinations differ from the intact networks? Explain this pattern and how it might have emerged. Also look at the accuracy and RT's in the TrialOutputDataGraph. What do you conclude from this analysis, compared to the intact case?
Parkinson's patients typically take medications that increase dopamine synthesis and release, and also in some cases medications that directly stimulate D2 receptors. These drugs improve motor function, but their effects on cognition are mixed and can even sometimes impair cognitive function (see Frank 2005 or Wiecki & Frank 2010 for review). In fact, some patients will become pathological gamblers or compulsive shoppers after taking medication. One explanation for this effect is that the medications continually stimulate dopamine receptors, even when they shouldn't (i.e., when a dip in dopamine should occur, thereby making patients insensitive to losses). To simulate these effects in the model, set the number of intact DA units back to 4 units (this captures the increase in DA synthesis and release) and simply check off the \"meds\" checkbox in the [[.PanelTab.MasterControl]] control panel. This sets the DA dip value so that the SNc dopamine units are prevented from completely dropping to zero activity during negative outcomes (DA dips) due to tonic medication stimulation of dopamine receptors (even if DA neurons themselves actually stop firing). (Specifically, DA levels show some residual activation, typically about 0.1 or 0.2 activation levels (subject to noise), during negative outcomes -- so DA levels still 'dip' relative to tonic values, but less so than in the intact case, where DA values can dip to 0). * Run a Batch of medicated networks.
\"Question 7.3\" Report gn_pos and gn_neg values. Is there a learning bias in these networks? Why might this be the case? Also look at the accuracy in the different conditions in the TrialOutputData graph. Do these networks have greater difficulty learning one condition, and if so, can you explain why?
== Role of the DA Pause == Some have argued that while phasic DA bursts encode positive predictions errors, DA dips may not be functionally effective, due to already low baseline firing rates of DA cells (e.g., Bayer & Glincher, 2005). However, the smaller range of DA dips is likely compensated for by a counteracting asymmetry in the receptor sensitivity to dips versus bursts. In particular, because DA binds much more strongly to D2 than D1 class of receptors, high-affinity D2 receptors are very sensitive to low tonic DA levels, whereas large increases in DA are required to functionally stimulate D1 receptors (e.g., Goto & Grace, 2005). Thus D2 receptors may be very sensitive to decreases in DA firing during DA dips, which drive NoGo learning in our model. Indeed, synaptic plasticity studies show that corticostriatal NoGo synapses are potentiated in the absence of D2 receptor stimulation, and this effect is exaggerated by DA depletion in a rodent model of Parkinson's disease, but reversed by D2 agonist administration (Shen et al, 2008) -- precisely the same pattern of results seen as in human Parkinson's patients on and off DA medications on NoGo learning in the probabilistic task. Further, in healthy subjects, genetic factors controlling striatal D2 receptor are strongly predictive of individual differences in probabilistic NoGo learning (Frank et al, 2007; 2009). Moreover, recent evidence shows that the magnitude of negative prediction errors is correlated with the duration of DA pauses, rather than in the change in firing rates (Bayer, Lau & Glimcher, 2007). The BG model provides a plausible explanation for why this might be the case: in order to learn from DA dips there has to be sufficient time not just for DA neurons to stop firing, but for DA levels to be cleared from the synapse so that NoGo neurons can be disinhibited. Thus the longer the pause, the greater probability that a given D2 receptor will be unoccupied, and the stronger the learning signal. To see this in the model, in the [[.PanelTab.MasterControl]] control panel, change the \"burst/pause duration\" from 30 cycles to 10 cycles (or lower for more dramatic effects). This reduces the number of processing cycles in the reinforcement phase during which simulated DA levels change to their phasic value and drive Go or NoGo learning relative to tonic DA levels (which are applied during response selection, prior to feedback). Make sure all other settings are default (intact): all 4 SNc units connected, no meds. If you re-run the intact network with this shorter burst/pause duration, you should see that Go learning is spared, but the model shows NoGo learning deficits! This is because there has to be sufficient time for the SNc DA units to deactivate, and for the NoGo units to become disinhibited. The time course of this is dependent on the integration of membrane potentials and sluggishness of the neurons in the model, which is a crude approximation of the temporal dynamics associated with DA reuptake and NoGo unit disinhibition. In contrast, although this setting also shortens the duration of DA bursts, you should see that Go learning is preserved. This is because the Go units that participated in selecting the response were already activated and simply got an additional boost of activity from the phasic burst. Thus together with the above simulations regarding the effects of diminishing the magnitude of DA bursts, the model demonstrates that large changes in DA firing rates during bursts are necessary for robust Go learning, but that long duration DA pauses are required for NoGo learning. It is encouraging that the DA signals seem to follow this profile empirically! == Learning habits in the cortico-cortical pathway == The corticostriatal pathway and reinforcement learning is not the only form of learning in this model. There is also unsupervised Hebbian learning that occurs directly from sensory to motor cortex. This pathway learns the statistics of its own actions -- when a particular stimulus is presented, on average which action did it select in the past? As long as this learning is slower than that in the BG, the actions that had been most frequently selected for this stimulus will be those that were most often reinforced (Frank, 2005; Frank & Claus 2006). This learning provides a mechanism by which the development and learning of habits is initially dependent on BG and dopamine function, but their later expression is not: once these mappings are strong enough, the network can rapidly activate only the most appropriate response and is not dependent on BG gating. As discussed in Frank (2005), this provides a natural explanation for the following observations: (i) While learning of simple instrumental actions are initially BG and DA-dependent, their later expression is not (Smith-Roe & Kelley, 2000), (ii) in well-learned tasks, striatal activation is sometimes seen *after* motor unit activation and the onset of movement (Alexander & Crutcher, 1990) and (iii) Parkinson's patients have much less difficulty executing well learned motor actions. * To see this in the model, increase the number of training epochs from 10 to 25 or so on the [[.PanelTab.MasterControl]] panel. Make sure the network is in the intact state (4 SNc units). Stop the network near the end of training and just step through a few trials and observe the network activity in the motor cortex. You should see that well before the BG gates an action, the motor cortex now preferentially activates a response to the stimulus. Thus this provides a simple demonstration that the motor cortex can first generate the candidate actions based on their prior probability of selection in the current sensory context, and if more than one of these actions is a suitable candidate, the BG can select between them. * For several other demonstrations using this model and extensions thereof, see the Frank lab website == Additional Notes on the activation based receptive fields == * Note that for the activation based recepive field analysis we measure activity during the action selection process, i.e. prior to a response being actually gated. This is because we are interested in the striatal Go/NoGo activations that affect future choice. Once a response is gated and selected (ie. fully active in motor cortex), lateral inhibition within cortex completely suppresses activation of the competing motor cortical response, such that its corresponding striatal (Go and NoGo) representations also vanish (as these depend on excitatory cortical input). Thus while Go activity for the selected response would be evident at the end of settling, NoGO activity for the alternative response would only be seen earlier during the selection process. We thus measure Go/NoGo activities early on during selection, and to make sure the measurement is not overly sensitive to the particular cycle of settling, we measure it twice -- once after 20 cycles and once after 25 cycles -- and then take the average. This time course gives enough time to process the incoming stimulus and leads to differential striatal activation while both responses are still being \"considered\" (activated) in cortex, and taking the measurement twice ensures we are more likely to capture both activities associated with rejecting a negative option and those with choosing a positive one. "; html_text=" CCNBook/Sims/Motor/BG - Computational Cognitive Neuroscience Wiki
 
CCNBook/Sims/Motor/BG

From Computational Cognitive Neuroscience Wiki

Jump to: navigation, search

Contents

 [hide

Action Selection and Probabilistic Reinforcement Learning in the Basal Ganglia

Project Documentation

This simplified basal ganglia (BG) network considers learning and action selection among just two alternative responses (but see Frank (2006) for a model with four alternative choices and also explores the function of the subthalamic nucleus and the 'hyperdirect' pathway).

? It is recommended that you click here to undock this document from the main project window. Use the Window menu to find this window if you lose it, and you can always return to this document by browsing to this document from the docs section in the left browser panel of the project's main window.

The BG circuitry is notoriously complex and counterintuitive, involving a combination between excitatory and inhibitory projections and multiple pathways. Given a sensory stimulus, the pre/motor cortex generates candidate motor actions, and then the BG selectively \"gates\" one of these actions to be executed while suppressing the other action. This gating process occurs via a sequence of steps from the Striatum through two opposing pathways (the direct and indirect pathways) to the output nucleus, the Thalamus, and back up to cortex. The network learns which actions to select and which to suppress as a function of reinforcement signals encoded by dopamine. That is, unlike the error-driven *supervised* learning mechanisms in other task learning simulations, this network learns to make responses based only on an unsupervised reinforcement signal following actions, and is never 'told' which response it should have made.

? As usual begin by inspecting the pattern of weights in the network.

The Striatum is divided into two halfs, with \"Go\" units in the left half, and \"NoGo\" units in the right, and separate columns for each response. All striatal neurons receive input from sensory cortex (the Input layer). However, inputs from frontal cortex are topographic: The first column of Go units receives input from the first column of motor units representing Response 1 (R1), whereas the second column receives input from the second column (R2), and similarly for NoGo units (columns 3 and 4 are NoGo-R1 and NoGo-R2). Each Go column of Striatal units projects to its corresponding column of the globus pallidus internal segment (GP_Int), which in turn projects to the corresponding column of Thalamus. In contrast, each NoGo column projects to the GP_Ext, which in turn projects to GP_Int. Remember that projections between striatum, GP_Int, GP_Ext and Thalamus are all inhibitory (GABA is the primary neurotransmitter). Also examine patterns of weights between motor cortex and Thalamus and back(these projections are excitatory).

? To get a sense of how the dynamics of action selection work in more detail, step through a single trial a few cycles at a time. Click Init, and then Step: Cycle on the MasterControl panel. (You can choose to step 5 Cycles at a time instead of clicking this button for every cycle by checking off the '5' box next to Step).

During the initial cycles of settling you can observe the basic \"default\" function of the BG to suppress responses. A stimulus input pattern is presented, and at first only the neurons in the globus pallidus (internal and external segments; GP_Int and GP_Ext respectively) are active. Neurons in these areas are tonically active with high baseline firing rates (here this is due to a reverse leak current in which positive ions leak into the cell rather than out of it as usual). After a few more cycles, you will see that both competing responses become noisily activated (or \"considered\") in pre/motor cortex. (This noise is helpful for producing exploratory actions before learning has occurred). However, neither one of these responses receives sufficient excitation to elicit a response. Importantly, the projections from GP_Int units to the Thalamus are inhibitory, so that tonic GP_Int activation chronically suppresses the Thalamus. Because bottom-up thalamic-cortical activity is required for a motor response to become sufficiently activated, this thalamic inhibition prevents all responses from getting executed, leading to only noisy cortical activity and no action selection.

? Click through a few more Step: Cycle until you see activity in the Striatum in response to the Input pattern.

You should see that the particular Go or NoGo units within a column that get active depend not only on the motor cortex activity but also on the sensory stimulus Input. Thus the striatal units encode conjunctions between stimulus input and actions that are considered in motor cortex, so that some units represent Go-R1 for a particular stimulus, whereas others may become active for another stimulus. If a particular column of Go units is more active than the NoGo units, it will tend to inhibit the corresponding column of the GP_Int, which ultimately will allow that action to be executed.

? Step through a few more cycles until you see this inhibition of a column in GP_Int.

You should see that as the GP_Int units become inhibited, the Thalamus is no longer suppressed. This process is referred to as \"disinhibition\" because the effect of the striatal Go activation is not to directly excite, but only to remove inhibition of GP_Int onto Thalamus. The corresponding column of Thalamus will become excited only if it also receives top down activation from motor units in the same column. It is this property that makes the BG contribution to action selection a *gating* process: noisy striatal activity would not by itself select an action unless the motor cortex was already 'considering' that action as a plausible candidate. Similarly, in some cases both responses may get a similar level of Go activity in striatum initially, and in this case only the one also having greater cortical activity will be gated.

Once a Thalamic unit is active, the corresponding column of cortical motor units quickly becomes maximally active, while the competing motor column is inhibition. (There is lateral inhibition between the competing motor responses, and the thalamic activation gives the winning column sufficient activity so that the other column is completely inhibited).

? Once you are finished watching the network activations evolve in this trial, switch to using Step: Settle instead of Cycle. Step through a few trials in the same way.

You may also see some NoGo activity (in the right half of striatal units), which would serve to prevent selection of the corresponding response, because NoGo units project to and inhibit the GP_Ext, which in turn send focused inhibitory projections to GP_Int. Thus whereas Go activity disinhibits the Thalamus, NoGo activity has the opposite effect, further activating GP_Int so that the Thalamus remains inhibited. Before learning. whether Go or NoGo activity for a given response predominates is somewhat arbitrary (related to random synaptic weights and overall dopamine levels), but informative differences will emerge with learning.

So far you have been stepping through single trials in which a stimulus is presented and the network gates a response, with no feedback. The first 20 trials for each network are run as a test this way with no weight changes, in order to get an initial baseline performance measure before learning occurs for each network (this will contribute to the statistic for how many errors the network makes with 0 epochs of training). One the training phase begins, each trial consists of two settling phases: one in which the network selects a response, and another in which it receives dopaminergic feedback about whether the outcome was good or bad. Once this phase begins, you should also see that depending on whether the network responded correctly or not (in the task described below), there will be either a dopamine burst (SNc units completely activated) or dip (complete inhibition). This reinforcement forms the basis for learning in the model, as described next.

Learning

Dopamine (DA) from the SNc modulates the relative balance of activity in Go versus NoGo units via simulated D1 and D2 receptors. Dopamine effects are greatest on those striatal units that are already activated by corticostriatal glutamatergic input. Go units activated by the current stimulus and motor response are further excited by D1 receptor stimulation. In contrast, DA is uniformally inhibitory on NoGo units via D2 receptors. This differential effect of DA on Go and NoGo units, via D1 and D2 receptors, affects performance (i.e more tonic DA leads to more Go and associated response vigor, faster reaction times) and, critically, learning.

Specifically, when the network selects the 'correct' response, a dopamine burst subsequently reinforces the response, further exciting Go units and inhibiting NoGo units. Learning occurs during this phasic DA signal, so that synapses between active cortical and striatal Go units are strengthened, whereas those for NoGo units are weakened. This learning allows the striatum to facilitate selection of the rewarding response in future presentations of the same stimulus. In contrast, if the network selects the incorrect response, DA units cease firing, and the associated dip in DA activity allows some NoGo units (which were previously inhibited by DA) to become more excited. The resulting increase in activity is also associated with strengthening of synapses from active cortical units. With learning, NoGo units differentially respond to stimulus-response combinations that have negative value, so that non-rewarding responses are likely to be suppressed. The mechanisms by which DA affects activity and plasticity are motivated by several biological experiments and are consistent with effects of dopamine D1 and D2 pharmacological agents on activity and long term plasticity (see Wiecki & Frank, 2010 for a recent review).

The net result is that the BG selects one response if a particular \"Go\" signal in the striatum is stronger than its corresponding \"NoGo\" signal, while concurrently suppressing alternative responses. Because direct and indirect pathway cells compete at BG output, the action most likely to be gated is a function of the difference in activity in these pathways for each action in parallel.

Training the model in probabilistic reinforcement tasks

Now that we've seen how the dynamics of action selection and learning work, let's put the mechanisms to a test, and see how they are sensitive to dopamine manipulations as in empirical studies. Specifically, many studies implicate the basal ganglia dopamine system in reinforcement learning in probabilistic environments. In these tasks, multiple stimuli are presented on different trials, and participants have to learn by trial and error which response to make. The difficulty is not only that there is no clear underlying 'rule' for determining which response to make (it is determined arbitrarily), but also that there is no absolute answer that will always work. However, certain responses are reinforced on a greater proportion of trials than others, so that people have to learn to integrate the reinforcement history across multiple instances to determine the optimal response.

To see if this basic BG network is capable of learning in such environments, the model is presented with four stimuli (A,B,C,D) each represented by a column of four input units (see the Train_Prob8070 InputData table). When stimulus A is presented, the model is rewarded (DA burst) for selecting R1 on 80% of trials (8/10 per epoch), and for selecting R2 on 20% of trials, and is punished (DA dip) otherwise. The opposite contingencies are simulated for stimulus B: R2 is correct on 80% of trials, while R2 is incorrect on these trials. Stimuli C and D are associated with 70% positive reinforcement for choosing R1 and R2 respectively. Thus this task tests the network's ability to learn multiple stimulus-response associations in probabilistic environments. Although this basic network simulates only 2 responses, the same mechanisms can support robust learning to select among multiple alternatives, maximizing selection of the action that is most rewarded and minimizing selection of actions that are least rewarding (see below for links to projects that support this).

(Technical note: phasic dopamine bursts and dips are controlled by the DA_Rew_Punish program, depending on the network's actions, so ignore the value of SNc in the data table as they are overwritten by this program).

? Do Batch Init and Batch Run on the MasterControl control panel, and switch to looking at the EpochOutputData tab or turn off the Display on the network tab to speed up processing.

This will run a batch of 25 networks for 10 epochs of 10 trials per stimulus (for a total of 100 trials per stimulus, similar to that in a human study of this nature). This may take some time -- if you don't want to wait, you can simply examine the learning curves in the associated graphs indicated below, which should reflect those of the intact network which was run before this project was saved.

? Examine the learning curves in the EpochOutputData graph.

These reflect the degree of optimal responding (i.e. in this analysis, responses are counted as 'correct' if they correspond to the most reinforced response, and as an 'error' otherwise). The number of errors out of a total of 20 test trials is plotted across all four stimuli (multiple trials per stimulus are presented to get a reliable estimate of accuracy: there is noise in unit activity that could lead to spurious correct or incorrect responding). After the batch of networks is finished, the average learning curve is plotted in the EpochOutputData_Group graph.

Accuracy at the beginning of learning should be on average 10/20 errors (chance). You can analyze accuracy separately for the different levels of difficulty (80 vs 70% reinforcement contingencies) on the TrialOutputData_Group graph. There you can also see a measure of response time (RT, in terms of the number of cycles before a response was selected) for the different conditions, plotted in red (note the alternate y axis for RT in cycles). If you want to make sure that the results for different difficulty levels matches your intuition (they are not labeled on the graph), you can look at the 'TrialOutputData_Group' data table in the left panel under data\\AnalysisData\\TrialOutputData_Group, which shows the same data but where you can see the labels in the first column for which condition is which (70 or 80%).


Question BG.1 : What is the average performance level of the networks after training (number of errors out of 20 in the EpochOutputData graph and/or mean sse in the Output as indicated on the TrialOutputData graph)? Do networks tend to learn the optimal response most of the time?


Optional: : Explain any differences between 70% and 80% conditions, in terms of accuracy and RT.

(this question may be optional depending on your instructor)


Assessing Go and NoGo learned associations

Now let's see the nature of Go and NoGo associations the networks learn to solve the task. After training, all stimuli are presented one at a time, and we then compute Activation Based Receptive fields in the Striatum. These assess the activation of each striatum unit as a function of specific input patterns. (See http://grey.colorado.edu/emergent/index.php/Activation_Based_Receptive_Field for more detailed info). In this case, we are interested in the degree to which Striatal Go and NoGo units preferentially response to stimulus-response combinations that had been rewarding or non-rewarding during learning. Thus we measure the extent to which Go units coding for response R1 (in the first column) are activated when stimulus A is presented in the input, and similarly Go units for R2 when stimulus B is presented; A-R1 and B-R2 are rewarding stimulus-response combinations. Conversely, we can also assess activity in NoGo units for non-rewarding ('negative') stimulus-response combinations (A-R2 and B-R1).

After the receptive fields for each unit are calculated, we then sum these over all Go units for the relevant stimuli and responses, so that we can calculate total striatal Go activity for 'good' (most often rewarded) responses and subtract the total NoGo activity for these responses. This measure gives us the relative Go-NoGo activities, which are proportional to the probabilty that these rewarding stimulus-response combinations will be gated. Similarly, we can compute the total Go and NoGo activity for bad (least often rewarded) responses, and perform the same subtraction. In this case we expect relatively greater NoGo than Go activity after learning (so that the Go-NoGo difference should be negative, as an index of the probability that negative s-r combinations will be suppressed). The resulting statistics are reported in the Go_NoGo data table, as follows:

gn_pos computes relative Go-NoGo striatal activity for positive stimulus-response conjunctions (R1 for A and R2 for B). Networks should learn greater Go than NoGo representations for these positive associations, and if so the value should be positive.


gn_neg computes relative Go-NoGo striatal activity for stimulus-response conjunctions that had been predominantly associated with negative outcomes (R2 for A and R1 for B). Networks should learn greater NoGo representations for these negative associations, and if so the value should be negative.

Because the data are noisy (probabilistic rewards, noisy unit activity, combined with random initial synaptic weights), we average across multiple networks with different sets of initial weights. This is done automatically at the end of running a batch of networks, with resulting mean and standard error of gn_pos and gn_neg reported in the Go_NoGo_Group data table and plotted in the associated graph on the right.

? If you didn't already run a batch of intact networks above, make sure the number of intact SNc units is set to 4 (out of 4 units), This value is set on the MasterControl control panel. Do Batch Init and Batch Run on the MasterControl control panel. This will run a batch of 25 networks. (or again, if you don't want to wait, the saved data when you open the project should reflect that of an intact network, so simply switch to the graph below).

You should see in the Go_NoGo_Group graph that, on average, gn_pos is positive showing that positively rewarded stimulus-response combinations are associated with relatively greater Go than NoGo activity, wheras the opposite is true for responses that are more often associated with negative outcomes (i.e., gn_neg should be negative). This pattern will not hold for every individual network (due to random initial weights and noisy unit activity that might happen to favor, e.g., Go-B), just like it doesn't hold for every individual human participant. But you should see relatively more positive gn_pos than gn_neg in virtually every intact network, even if in some cases they are both positive or both negative. To see gn_pos and gn_neg for individual networks look at the Go_NoGo data table and graph on the right, which plots these measures across networks on the x-axis (twice for each network; see notes at the bottom)- the black gn_pos dots should usually be positive and the red gn_neg ones negative. Note that any differences between gn_pos and gn_neg must be due to prior learning, even though dopamine can also influence the overall balance of Go vs NoGo activity during choice itself. (One active area of interest is the degree to which dopamine affects motivational incentive during decision making, or the degree to which one learns about actions leading to rewards or punishments, or both).

Simulating Parkinson's disease and dopamine medications

Parkinson's disease (PD) is associated with death of dopamine neurons in the SNc and associated slowness of movement. However, PD is not purely a motor selection disorder. Empirical studies testing the predictions of this model about the role of dopamine in BG learning have shown that PD patients show different patterns of Go or NoGo learning impairments depending on whether they are medicated or not (Frank et al, 2004; 2007; Palminteri et al, 2009, Bodi et al, 2010, etc).

? To simulate Parkinson's disease (PD), set the number of intact DA units to 2 in the MasterControl control panel. This sets the number of SNc units that are connected to the Striatum to 2 (out of 4). (For a more extreme example (e.g. severe PD), set num_intact_snc_units to 1). This reduction in number of intact DA units leads to effectively reduced tonic and phasic DA levels in the Striatum.

You can step through a few trials to examine network dynamics under this dopamine depleted state. You might see overall greater levels of NoGo activation, which also produces general slowing in action selection (i.e., akinesia and bradykinesia, symptoms of Parkinson's disease). However, these effects become more prevalent with learning (and in fact, simulations have also shown that PD-like symptoms can progress due to an asymmetric learning bias even without further dopaminergic damage, see Wiecki & Frank 2010 and Beeler, 2011).

? Do Batch Init and Batch Run on the control panel. When it's done, look at the Go_NoGo_Group graph on the right again. If you don't want to wait, you can load the saved data from a batch of PD networks. To do so, open the Go_NoGo_Group data table in the middle panel and click \"Load Any Data\", and then select 'pd2_gn.dat' which you should have saved with the project file. For severe PD (only 1 intact SNc unit) select 'pd1_gn.dat'.

Question BG.2 : Report gn_pos and gn_neg values. How do the Go and NoGo activations to rewarding and non-rewarding stimulus-response combinations differ from the intact networks?


Optional: : Explain this pattern and how it might have emerged. Also look at the accuracy and RT's in the TrialOutputDataGraph (if you didn't run the network you'll have to load that too: e.g., pd2_trl.dat). How do these data compare to the intact case? Explain.

(this question may be optional depending on your instructor)


Parkinson's patients typically take medications that increase dopamine synthesis and release, and also in some cases medications that directly stimulate D2 receptors. These drugs improve motor function, but their effects on cognition are mixed and can even sometimes impair cognitive function (see Frank 2005, Cools 2006, or Wiecki & Frank 2010 for review). In fact, some patients will become pathological gamblers or compulsive shoppers after taking medication. One explanation for this effect is that the medications continually stimulate dopamine receptors, even when they shouldn't (i.e., when a dip in dopamine should occur, thereby making patients insensitive to losses).

? To simulate these effects in the model, set the number of intact DA units back to 4 units (this captures the increase in DA synthesis and release) and simply check off the \"meds\" checkbox in the MasterControl control panel.
This sets the DA dip value so that the SNc dopamine units are prevented from completely dropping to zero activity during negative outcomes (DA dips) due to tonic medication stimulation of dopamine receptors (even if DA neurons themselves actually stop firing). (Specifically, DA levels show some residual activation, typically about 0.1 or 0.2 activation levels (subject to noise), during negative outcomes -- so DA levels still 'dip' relative to tonic values, but less so than in the intact case, where DA values can dip to 0). }}
? Run a Batch of medicated networks. If you don't want to wait, you can load the saved data from a batch of medicated networks. To do so, open the Go_NoGo_Group data table in the middle panel and click \"Load Any Data\", and then select 'meds_gn.dat' which you should have saved with the project file.

Question BG.3 : Report gn_pos and gn_neg values. Is there a learning bias in these networks?


Optional: : Why might this be the case? In other experiments (e.g. Cools et al, 2001) it has been shown that these 'medicated' networks are preferentially impaired in the reversal phase of a probabilistic reversal task (e.g. 70/30 reward contingencies for a stimulus-action pair, and then suddenly these contingencies reverse to 30/70 so that the other response is now optimal). This model also shows these preferential impairments in reversal (see Frank 2005, simulations available at link at bottom of this page). Based on these gn_pos and gn_neg values, can you intuit why networks would show greater difficulty with reversal than initial learning?

(this question may be optional depending on your instructor)


Note although in this exploration we have focused on the asymmetry of internal value (Go/NoGo) representations as a function of dopamine status, other simulations with this network confirm that these effects also translate to the observed dissociations on actual action selection (choice) as observed in the empirical behavioral studies. (However in the current network choice of the rewarding action is synonymous with avoidance of the non-rewarding one, so a demonstration of this effect requires networks with more than two alternative responses - available as one of the supplementary demonstrations on the website linked below).

Role of the DA Pause

Some have argued that while phasic DA bursts encode positive predictions errors, DA dips may not be functionally effective, due to already low baseline firing rates of DA cells. However, the smaller range of DA dips is likely compensated for by a counteracting asymmetry in the receptor sensitivity to dips versus bursts. In particular, because DA binds much more strongly to D2 than D1 class of receptors, high-affinity D2 receptors are very sensitive to low tonic DA levels, whereas large increases in DA are required to functionally stimulate D1 receptors (e.g., Goto & Grace, 2005). Thus D2 receptors may be very sensitive once DA levels drop to low enough levels during DA dips, leading to NoGo learning in our model. Indeed, synaptic plasticity studies in rodents show that corticostriatal NoGo synapses are potentiated in the absence of D2 receptor stimulation, and this effect is exaggerated by DA depletion in Parkinson's disease, but reversed by D2 agonist administration (Shen et al, 2008) -- precisely the same pattern of results seen as in human Parkinson's patients on and off DA medications on NoGo learning in the probabilistic task. Further, in healthy subjects, genetic factors controlling striatal D2 receptor are strongly predictive of individual differences in probabilistic NoGo learning (Frank et al, 2007; 2009, etc).

Moreover, recent evidence shows that the magnitude of negative prediction errors is correlated with the duration of DA pauses, rather than in the change in firing rates (Bayer, Lau & Glimcher, 2007). The BG model provides a plausible explanation for why this might be the case: in order to learn from DA dips there has to be sufficient time not just for DA neurons to stop firing, but for DA levels to be cleared from the synapse so that NoGo neurons can be disinhibited. Thus the longer the pause, the greater probability that a given D2 receptor will be unoccupied, and the stronger the learning signal.

? To see this in the model, in the MasterControl control panel, change the \"burst/pause duration\" from 15 cycles to 8 cycles. This reduces the number of processing cycles in the reinforcement phase during which simulated DA levels change to their phasic value and drive Go or NoGo learning relative to tonic DA levels. Make sure all other settings are default (intact): all 4 SNc units connected, no meds. (or if you prefer, load the \"pause10_gn.dat\" file into the GoNoGo_Group graph).

With this shorter burst/pause duration, the otherwise intact model exhibits spared Go learning but impaired NoGo learning. This is because there has to be sufficient time for the SNc DA units to deactivate, and for the NoGo units to become disinhibited. The time course of this is dependent on the integration of membrane potentials and sluggishness of the neurons in the model, which is a crude approximation of the temporal dynamics associated with DA reuptake and NoGo unit disinhibition. In contrast, although this setting also shortens the duration of DA bursts, you should see that Go learning is preserved. This is because the Go units that participated in selecting the response were already activated and simply got an additional boost of activity from the phasic burst. Thus together with the above simulations regarding the effects of diminishing the magnitude of DA bursts, the model demonstrates that large changes in DA firing rates during bursts are necessary for robust Go learning, but that long duration DA pauses are required for NoGo learning. It is interesting that the DA signals seem to follow this profile empirically!

Learning habits in the cortico-cortical pathway

The corticostriatal pathway and reinforcement learning is not the only form of learning in this model. There is also unsupervised Hebbian learning that occurs directly from sensory to motor cortex. This pathway learns the statistics of its own actions -- when a particular stimulus is presented, on average which action did it select in the past? As long as this learning is slower than that in the BG, the actions that had been most frequently selected given this stimulus will be those that were most often reinforced (Frank, 2005; Frank & Claus 2006). This learning provides a mechanism by which the development and learning of habits is initially dependent on BG and dopamine function, but their later expression is not: once these mappings are strong enough, the network can rapidly activate only the most appropriate response and is not dependent on BG gating. This provides a natural explanation for the following observations: (i) While learning of simple instrumental actions are initially BG and DA-dependent, their later expression is not (Smith-Roe & Kelley, 2000), (ii) in well-learned tasks, striatal activation is sometimes seen *after* motor unit activation and the onset of movement (Alexander & Crutcher, 1990) and (iii) Parkinson's patients have much less difficulty executing well learned motor actions.

? To see this in the model, increase the number of training epochs from 10 to 30 or 40 on the MasterControl panel. Make sure the network is in the intact state (4 SNc units). You don't have to run a full batch; simply stop the network near the end of training and just step through a few trials and observe the network activity in the motor cortex.

You should see that well before the BG gates an action, the motor cortex now preferentially activates one response over the other, depending on the stimulus (i.e., it will tend to be that response it had selected most often for the stimulus in the past). This provides a simple demonstration that the motor cortex can first generate the candidate actions based on their prior probability of selection in the current sensory context, and if more than one of these actions is a suitable candidate, the BG selects between them. But if there one candidate is much stronger than the others, less 'help' is needed from the BG.

These mechanisms may play a key role in addiction. While brief exposure to addicting drugs (e.g. alcohol, nicotine, heroin) does not lead to a loss of controlled behavior, repeated intake often results in a lack of control (i.e. addiction) after a \"point of no return\" is passed. Interestingly, virtually all addicting drugs lead to increased levels of striatal DA (in one way or another).


Depth Question BG.4 : Can you relate the process underlying addiction formation to learning in the model?

(this question may be optional depending on your instructor)


Of course, people can also over-ride these kind of habitual responses, and the current model would not be so flexible without further extensive training. Other prefrontal cortical mechanisms are thus needed to make the simple BG-cortical model more sensitive to changes in outcome contingencies (Frank & Claus, 2006).

For several other demonstrations using this model and extensions thereof to capture data across a range of tasks and manipulations, see the BG Projects page of the Frank lab website href=\"http://ski.clps.brown.edu/BG_Projects/

Additional technical note on the activation based receptive fields

Note that for the activation based recepive field analysis we measure activity during the action selection process, i.e. prior to a response being actually gated. This is because we are interested in the striatal Go/NoGo activations that affect future choice. Once a response is gated and selected (ie. fully active in motor cortex), lateral inhibition within cortex completely suppresses activation of the competing motor cortical response, such that its corresponding striatal (Go and NoGo) representations also vanish (as these depend on excitatory cortical input). Thus while Go activity for the selected response would be evident at the end of settling, NoGo activity for the alternative response would only be seen earlier during the selection process. We thus measure Go/NoGo activities early on during selection, and to make sure the measurement is not overly sensitive to the particular cycle of settling, we measure it twice -- once after 20 cycles and once after 25 cycles -- and then take the average. This time course gives enough time to process the incoming stimulus and leads to differential striatal activation while both responses are still being \"considered\" (activated) in cortex, and taking the measurement twice ensures we are more likely to capture both activities associated with rejecting a negative option and those with choosing a positive one. Similar results are obtained if we just record the entire trajectory of activation values in all striatal Go and NoGo units, and just take the maximum value of activation within each unit throughout the course of settling. Also as mentioned earlier, similar dissociations of dopamine manipulations are seen on actual action selection (in addition to these internal valuation signals), but because selection of the rewarding response is equivalent to avoiding the non-rewarding one in this network, this demonstration requires a network with multiple alternative responses.

? You may now close the project (use the window manager close button on the project window or File/Close Project menu item) and then open a new one, or just quit emergent entirely by doing Quit emergent menu option or clicking the close button on the root window.
This page was last modified on 1 October 2012, at 20:55. This page has been accessed 4,609 times.
"; }; }; wizards { name=; el_typ=LeabraWizard; el_def=0; LeabraWizard @["LeabraWizard_2"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="LeabraWizard_2"; auto_open=0; }; LeabraWizard @["LeabraWizard_1"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="LeabraWizard_1"; auto_open=0; }; }; edits { name=; el_typ=SelectEdit; el_def=0; SelectEdit @["MasterControl"] { name="MasterControl"; auto_edit=1; desc=; mbrs { name=; el_typ=EditMbrItem; el_def=0; EditMbrItem @[0] { label="num_intact_snc_units_"; desc=" integer value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["num_intact_snc_units"]$$; mbr=ProgVar::int_val; is_numeric=1; param_search { search=0; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[1] { label="meds_"; desc=" boolean value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["meds"]$$; mbr=ProgVar::bool_val; is_numeric=0; param_search { search=0; min_val=0; max_val=1; next_val=0; incr=0.1000000014901161; }; }; EditMbrItem @[2] { label="burst_pause_duration_"; desc=" the expression to compute and assign to the member
: enter the expression here -- use Ctrl-L to pull up a lookup dialog for members, methods, types, etc -- or you can just type in names of program variables or literal values. enclose strings in double quotes. variable names will be checked and automatically updated
var lookup: lookup a program variable and add it to the current expression (this field then returns to empty/NULL)"; cust_desc=0; base=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraSettle"].prog_code[4].true_code[0]$$; mbr=MemberAssign::expr; is_numeric=0; param_search { search=0; min_val=0; max_val=1; next_val=0; incr=0.1000000014901161; }; }; EditMbrItem @[3] { label="LeabraTrain_max_epoch"; desc="maximum number of epochs to run"; cust_desc=1; base=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["max_epoch"]$$; mbr=ProgVar::int_val; is_numeric=1; param_search { search=0; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; }; mths { name=; el_typ=EditMthItem; el_def=0; group_type=GT_BUTTONS; EditMthItem @[0] { label="Batch_Init"; desc=" set the program state back to the beginning"; cust_desc=0; base=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$$; mth=Program::Init; }; EditMthItem @[1] { label="Batch_Run"; desc=" run the program -- if not yet Init, will run Init first"; cust_desc=0; base=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; mth=Program::Run_Gui; }; EditMthItem @[2] { label="Batch_Stop"; desc=" stop the current program at its next natural stopping point (i.e., cleanly stopping when appropriate chunks of computation have completed)"; cust_desc=0; base=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; mth=Program::Stop; }; EditMthItem @[3] { label="Init"; desc=" set the program state back to the beginning"; cust_desc=0; base=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$$; mth=Program::Init; }; EditMthItem @[4] { label="Run"; desc=" run the program -- if not yet Init, will run Init first"; cust_desc=0; base=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$; mth=Program::Run_Gui; }; EditMthItem @[5] { label="Step"; desc=" step the program at the level of the given program -- if NULL then step_prog default value will be used"; cust_desc=0; base=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$; mth=Program::Step_Gui; }; EditMthItem @[6] { label="Stop"; desc=" stop the current program at its next natural stopping point (i.e., cleanly stopping when appropriate chunks of computation have completed)"; cust_desc=0; base=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$; mth=Program::Stop; }; }; }; ClusterRun @["ClusterRun"] { name="ClusterRun"; auto_edit=1; desc=; mbrs { name=; el_typ=EditMbrItem; el_def=0; }; mths { name=; el_typ=EditMthItem; el_def=0; group_type=GT_BUTTONS; }; search_algos { name=; el_typ=ParamSearchAlgo; el_def=0; }; cur_search_algo=NULL; last_submit_time=; notes=; extra_files=; svn_repo=; repo_url=; cluster=; queue=; run_time=; ram_gb=0; n_threads=1; use_mpi=0; mpi_nodes=10; parallel_batch=0; pb_batches=10; pb_nodes=0; nowin_x=0; }; }; data { name=; el_typ=DataTable; el_def=0; DataTable_Group @.gp["InputData"] { name="InputData"; el_typ=DataTable; el_def=0; DataTable @["RF_Env"] { name="RF_Env"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["Name"] { name="Name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [36] "Striatum.un[0]";"Striatum.un[1]";"Striatum.un[2]";"Striatum.un[3]";"Striatum.un[4]";"Striatum.un[5]";"Striatum.un[6]";"Striatum.un[7]";"Striatum.un[8]";"Striatum.un[9]"; "Striatum.un[10]";"Striatum.un[11]";"Striatum.un[12]";"Striatum.un[13]";"Striatum.un[14]";"Striatum.un[15]";"Striatum.un[16]";"Striatum.un[17]";"Striatum.un[18]";"Striatum.un[19]"; "Striatum.un[20]";"Striatum.un[21]";"Striatum.un[22]";"Striatum.un[23]";"Striatum.un[24]";"Striatum.un[25]";"Striatum.un[26]";"Striatum.un[27]";"Striatum.un[28]";"Striatum.un[29]"; "Striatum.un[30]";"Striatum.un[31]";"Striatum.un[32]";"Striatum.un[33]";"Striatum.un[34]";"Striatum.un[35]"; }; }; float_Data @["Input"] { name="Input"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 5;5; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [5 5 36] 0.0020658399;0.027912499;0.00137255;1.8098601e-05;0;0.0020658399;0.027912499;0.00137255;1.8098601e-05;0; 0.0020658399;0.027912499;0.00137255;1.8098601e-05;0;0.0020658399;0.027912499;0.00137255;1.8098601e-05;0; 0;0;0;0;0;0.0310445;0.15307499;7.62914e-07;0.0155913;0; 0.0310445;0.15307499;7.62914e-07;0.0155913;0;0.0310445;0.15307499;7.62914e-07;0.0155913;0; 0.0310445;0.15307499;7.62914e-07;0.0155913;0;0;0;0;0;0; 0.30409101;0.136353;0.032774601;2.4158101e-06;0;0.30409101;0.136353;0.032774601;2.4158101e-06;0; 0.30409101;0.136353;0.032774601;2.4158101e-06;0;0.30409101;0.136353;0.032774601;2.4158101e-06;0; 0;0;0;0;0;1.45115e-10;1.9908599e-08;1.1082e-08;0.0716919;0; 1.45115e-10;1.9908599e-08;1.1082e-08;0.0716919;0;1.45115e-10;1.9908599e-08;1.1082e-08;0.0716919;0; 1.45115e-10;1.9908599e-08;1.1082e-08;0.0716919;0;0;0;0;0;0; 4.7102e-07;8.2514397e-08;5.07108e-09;4.03753e-10;0;4.7102e-07;8.2514397e-08;5.07108e-09;4.03753e-10;0; 4.7102e-07;8.2514397e-08;5.07108e-09;4.03753e-10;0;4.7102e-07;8.2514397e-08;5.07108e-09;4.03753e-10;0; 0;0;0;0;0;4.46938e-07;8.2186498e-06;3.2926201e-10;8.1646504e-05;0; 4.46938e-07;8.2186498e-06;3.2926201e-10;8.1646504e-05;0;4.46938e-07;8.2186498e-06;3.2926201e-10;8.1646504e-05;0; 4.46938e-07;8.2186498e-06;3.2926201e-10;8.1646504e-05;0;0;0;0;0;0; 0.065097399;0.23739199;0;0.026730699;0;0.065097399;0.23739199;0;0.026730699;0; 0.065097399;0.23739199;0;0.026730699;0;0.065097399;0.23739199;0;0.026730699;0; 0;0;0;0;0;0.297351;0.0160699;0.080513798;0.00239517;0; 0.297351;0.0160699;0.080513798;0.00239517;0;0.297351;0.0160699;0.080513798;0.00239517;0; 0.297351;0.0160699;0.080513798;0.00239517;0;0;0;0;0;0; 0.119379;0.0379465;0.0025241601;4.24338e-07;0;0.119379;0.0379465;0.0025241601;4.24338e-07;0; 0.119379;0.0379465;0.0025241601;4.24338e-07;0;0.119379;0.0379465;0.0025241601;4.24338e-07;0; 0;0;0;0;0;0.00051168102;1.7507499e-08;0.42471701;0.00045545201;0; 0.00051168102;1.7507499e-08;0.42471701;0.00045545201;0;0.00051168102;1.7507499e-08;0.42471701;0.00045545201;0; 0.00051168102;1.7507499e-08;0.42471701;0.00045545201;0;0;0;0;0;0; 0.00190418;1.18174e-08;0.033827901;0.42598599;0;0.00190418;1.18174e-08;0.033827901;0.42598599;0; 0.00190418;1.18174e-08;0.033827901;0.42598599;0;0.00190418;1.18174e-08;0.033827901;0.42598599;0; 0;0;0;0;0;0.27970001;0.42425999;0.24604;7.1675402e-13;0; 0.27970001;0.42425999;0.24604;7.1675402e-13;0;0.27970001;0.42425999;0.24604;7.1675402e-13;0; 0.27970001;0.42425999;0.24604;7.1675402e-13;0;0;0;0;0;0; 0.406872;1.55243e-12;1.37487e-05;0.22317401;0;0.406872;1.55243e-12;1.37487e-05;0.22317401;0; 0.406872;1.55243e-12;1.37487e-05;0.22317401;0;0.406872;1.55243e-12;1.37487e-05;0.22317401;0; 0;0;0;0;0;0.000373872;2.37976e-06;0.0064154901;4.4448901e-14;0; 0.000373872;2.37976e-06;0.0064154901;4.4448901e-14;0;0.000373872;2.37976e-06;0.0064154901;4.4448901e-14;0; 0.000373872;2.37976e-06;0.0064154901;4.4448901e-14;0;0;0;0;0;0; 0.42959401;0.00262347;4.86824e-06;0.00026277499;0;0.42959401;0.00262347;4.86824e-06;0.00026277499;0; 0.42959401;0.00262347;4.86824e-06;0.00026277499;0;0.42959401;0.00262347;4.86824e-06;0.00026277499;0; 0;0;0;0;0;0.099185102;1.72989e-11;1.32198e-08;0.061239399;0; 0.099185102;1.72989e-11;1.32198e-08;0.061239399;0;0.099185102;1.72989e-11;1.32198e-08;0.061239399;0; 0.099185102;1.72989e-11;1.32198e-08;0.061239399;0;0;0;0;0;0; 0.00063980499;0.0120797;3.4228599e-16;0.000113398;0;0.00063980499;0.0120797;3.4228599e-16;0.000113398;0; 0.00063980499;0.0120797;3.4228599e-16;0.000113398;0;0.00063980499;0.0120797;3.4228599e-16;0.000113398;0; 0;0;0;0;0;3.33909e-06;4.2428799e-13;1.6090001e-11;0.00039924399;0; 3.33909e-06;4.2428799e-13;1.6090001e-11;0.00039924399;0;3.33909e-06;4.2428799e-13;1.6090001e-11;0.00039924399;0; 3.33909e-06;4.2428799e-13;1.6090001e-11;0.00039924399;0;0;0;0;0;0; 1.1571e-05;0.25993499;1.76055e-07;0.037213799;0;1.1571e-05;0.25993499;1.76055e-07;0.037213799;0; 1.1571e-05;0.25993499;1.76055e-07;0.037213799;0;1.1571e-05;0.25993499;1.76055e-07;0.037213799;0; 0;0;0;0;0;0.0091469297;0;5.06449e-05;3.6560099e-08;0; 0.0091469297;0;5.06449e-05;3.6560099e-08;0;0.0091469297;0;5.06449e-05;3.6560099e-08;0; 0.0091469297;0;5.06449e-05;3.6560099e-08;0;0;0;0;0;0; 0.0019582801;1.7271699e-05;0.00040164401;0.038839702;0;0.0019582801;1.7271699e-05;0.00040164401;0.038839702;0; 0.0019582801;1.7271699e-05;0.00040164401;0.038839702;0;0.0019582801;1.7271699e-05;0.00040164401;0.038839702;0; 0;0;0;0;0;0.0318661;0.00268858;1.39783e-05;0.0058977599;0; 0.0318661;0.00268858;1.39783e-05;0.0058977599;0;0.0318661;0.00268858;1.39783e-05;0.0058977599;0; 0.0318661;0.00268858;1.39783e-05;0.0058977599;0;0;0;0;0;0; 0.37554801;0.0036525;1.27594e-08;1.63549e-07;0;0.37554801;0.0036525;1.27594e-08;1.63549e-07;0; 0.37554801;0.0036525;1.27594e-08;1.63549e-07;0;0.37554801;0.0036525;1.27594e-08;1.63549e-07;0; 0;0;0;0;0;0.085854098;0.33838001;0.390661;3.6511301e-18;0; 0.085854098;0.33838001;0.390661;3.6511301e-18;0;0.085854098;0.33838001;0.390661;3.6511301e-18;0; 0.085854098;0.33838001;0.390661;3.6511301e-18;0;0;0;0;0;0; 0.143585;0.000421873;0.00086137297;2.27483e-07;0;0.143585;0.000421873;0.00086137297;2.27483e-07;0; 0.143585;0.000421873;0.00086137297;2.27483e-07;0;0.143585;0.000421873;0.00086137297;2.27483e-07;0; 0;0;0;0;0;7.6498097e-08;0.00616829;0.0050247698;5.06942e-09;0; 7.6498097e-08;0.00616829;0.0050247698;5.06942e-09;0;7.6498097e-08;0.00616829;0.0050247698;5.06942e-09;0; 7.6498097e-08;0.00616829;0.0050247698;5.06942e-09;0;0;0;0;0;0; 2.34197e-11;0.31961;2.0409299e-08;0.41610399;0;2.34197e-11;0.31961;2.0409299e-08;0.41610399;0; 2.34197e-11;0.31961;2.0409299e-08;0.41610399;0;2.34197e-11;0.31961;2.0409299e-08;0.41610399;0; 0;0;0;0;0;0.015832599;1.66713e-05;0.00074013497;0.029162901;0; 0.015832599;1.66713e-05;0.00074013497;0.029162901;0;0.015832599;1.66713e-05;0.00074013497;0.029162901;0; 0.015832599;1.66713e-05;0.00074013497;0.029162901;0;0;0;0;0;0; 0.00010524;0.0136846;1.57776e-09;0.00233615;0;0.00010524;0.0136846;1.57776e-09;0.00233615;0; 0.00010524;0.0136846;1.57776e-09;0.00233615;0;0.00010524;0.0136846;1.57776e-09;0.00233615;0; 0;0;0;0;0;0.064751297;3.1768799e-16;1.16833e-06;4.0101301e-14;0; 0.064751297;3.1768799e-16;1.16833e-06;4.0101301e-14;0;0.064751297;3.1768799e-16;1.16833e-06;4.0101301e-14;0; 0.064751297;3.1768799e-16;1.16833e-06;4.0101301e-14;0;0;0;0;0;0; 2.1050299e-08;0.18277401;3.5982799e-07;2.67466e-06;0;2.1050299e-08;0.18277401;3.5982799e-07;2.67466e-06;0; 2.1050299e-08;0.18277401;3.5982799e-07;2.67466e-06;0;2.1050299e-08;0.18277401;3.5982799e-07;2.67466e-06;0; 0;0;0;0;0;4.70537e-06;0.39089301;5.61411e-05;1.93715e-05;0; 4.70537e-06;0.39089301;5.61411e-05;1.93715e-05;0;4.70537e-06;0.39089301;5.61411e-05;1.93715e-05;0; 4.70537e-06;0.39089301;5.61411e-05;1.93715e-05;0;0;0;0;0;0; 3.6449401e-07;0.089969203;3.9199999e-06;0;0;3.6449401e-07;0.089969203;3.9199999e-06;0;0; 3.6449401e-07;0.089969203;3.9199999e-06;0;0;3.6449401e-07;0.089969203;3.9199999e-06;0;0; 0;0;0;0;0;0.0183989;0.034914002;0.00093284401;0.00052059599;0; 0.0183989;0.034914002;0.00093284401;0.00052059599;0;0.0183989;0.034914002;0.00093284401;0.00052059599;0; 0.0183989;0.034914002;0.00093284401;0.00052059599;0;0;0;0;0;0; 0.0036955499;0.0049556601;8.6473602e-18;0.35611901;0;0.0036955499;0.0049556601;8.6473602e-18;0.35611901;0; 0.0036955499;0.0049556601;8.6473602e-18;0.35611901;0;0.0036955499;0.0049556601;8.6473602e-18;0.35611901;0; 0;0;0;0;0;0.284251;5.0267399e-06;0.427347;0.070759498;0; 0.284251;5.0267399e-06;0.427347;0.070759498;0;0.284251;5.0267399e-06;0.427347;0.070759498;0; 0.284251;5.0267399e-06;0.427347;0.070759498;0;0;0;0;0;0; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [36] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; 20;21;22;23;24;25;26;27;28;29; 30;31;32;33;34;35; }; }; DataTable @["TestFreq"] { name="TestFreq"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["Name"] { name="Name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] "80";"80";"80";"80";"80";"80";"80";"80";"80";"80"; "70";"70";"70";"70";"70";"70";"70";"70";"70";"70"; }; }; float_Data @["Input"] { name="Input"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 5;5; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [5 5 20] 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; }; }; float_Data @["Output"] { name="Output"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 1 20] 1;0;0;1;1;0;0;1;1;0; 0;1;1;0;0;1;1;0;0;1; 1;0;0;1;1;0;0;1;1;0; 0;1;1;0;0;1;1;0;0;1; }; }; float_Data @["SNc"] { name="SNc"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 2 20] 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; 0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999;0.029999999; }; }; float_Data @["Motor_Cortex"] { name="Motor_Cortex"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 1 20] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [20] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; }; }; DataTable @["Train_Prob8070"] { name="Train_Prob8070"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["Name"] { name="Name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [40] "80vs20";"80vs20";"80vs20";"80vs20";"80vs20";"80vs20";"80vs20";"80vs20";"80vs20";"80vs20"; "20vs80";"20vs80";"20vs80";"20vs80";"20vs80";"20vs80";"20vs80";"20vs80";"20vs80";"20vs80"; "70vs30";"70vs30";"70vs30";"70vs30";"70vs30";"70vs30";"70vs30";"70vs30";"70vs30";"70vs30"; "30vs70";"30vs70";"30vs70";"30vs70";"30vs70";"30vs70";"30vs70";"30vs70";"30vs70";"30vs70"; }; }; float_Data @["Input"] { name="Input"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 5;5; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [5 5 40] 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;0;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 0;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;1;0;0;0;0; 1;0;0;0;0;0;0;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;0;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;1;0;0;0; 0;1;0;0;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;0;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;0;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;1;0;0; 0;0;1;0;0;0;0;0;0;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;0;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;1;0; 0;0;0;1;0;0;0;0;0;0; }; }; float_Data @["Output"] { name="Output"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 1 40] 1;0;1;0;1;0;1;0;0;1; 1;0;1;0;1;0;1;0;0;1; 0;1;0;1;0;1;0;1;0;1; 0;1;0;1;0;1;1;0;1;0; 1;0;1;0;1;0;1;0;1;0; 1;0;1;0;0;1;0;1;0;1; 0;1;0;1;0;1;1;0;1;0; 0;1;0;1;0;1;0;1;1;0; }; }; float_Data @["SNc"] { name="SNc"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 2 40] 100;100;100;100;0.035;0.035;0.035;0.035;0.035;0.035; 0.035;0.035;0.035;0.035;0.035;0.035;0;0;0;0; 0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035; 0.035;0.035;0.035;0.035;0.035;0.035;0;0;0;0; 0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035; 0.035;0.035;0.035;0.035;0.035;0.035;0;0;0;0; 0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035; 0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035; 100;100;100;100;100;100;100;100;0;0; 0;0;0;0;0;0;100;100;100;100; 100;100;100;100;0.035;0.035;0.035;0.035;0.035;0.035; 0.035;0.035;0.035;0.035;0.035;0.035;0;0;0;0; 0;0;0;0;0;0;0;0;0.035;0.035; 0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035;0.035; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0.035;0.035;0.035;0.035; }; }; float_Data @["Motor_Cortex"] { name="Motor_Cortex"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 2 40] 1;0;1;0;1;0;1;0;1;0; 1;0;1;0;1;0;0;1;0;1; 1;0;1;0;1;0;1;0;1;0; 1;0;1;0;1;0;0;1;0;1; 0;1;0;1;0;1;0;1;0;1; 0;1;0;1;0;1;0;1;0;1; 0;1;0;1;0;1;0;1;0;1; 0;1;1;0;1;0;1;0;1;0; 1;0;1;0;1;0;1;0;1;0; 1;0;1;0;1;0;1;0;1;0; 1;0;1;0;1;0;1;0;0;1; 0;1;0;1;0;1;0;1;0;1; 0;1;0;1;0;1;0;1;0;1; 0;1;1;0;1;0;1;0;1;0; 0;1;0;1;0;1;0;1;0;1; 0;1;0;1;0;1;1;0;1;0; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [40] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; 20;21;22;23;24;25;26;27;28;29; 30;31;32;33;34;35;36;37;38;39; }; }; }; DataTable_Group @.gp["OutputData"] { name="OutputData"; el_typ=DataTable; el_def=0; DataTable @["TrialOutputData"] { name="TrialOutputData"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["batch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_73"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="batch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_74"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; int_Data @["trial"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_75"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="trial"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; String_Data @["trial_name"] { name="trial_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; String_Data @["group_name"] { name="group_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; int_Data @["phase_no"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_76"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="phase_no"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["minus_cycles"] { name="minus_cycles"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["sse"] { name="sse"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["ext_rew"] { name="ext_rew"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["Output_sse"] { name="Output_sse"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [0] }; }; DataTable @["EpochOutputData"] { name="EpochOutputData"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["batch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_75"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="batch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_76"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["avg_sse"] { name="avg_sse"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["cnt_err"] { name="cnt_err"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["avg_ext_rew"] { name="avg_ext_rew"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["avg_cycles"] { name="avg_cycles"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [0] }; }; DataTable @["CycleOutputData"] { name="CycleOutputData"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["batch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_32"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="batch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_33"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; int_Data @["trial"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_34"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="trial"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; String_Data @["trial_name"] { name="trial_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; String_Data @["group_name"] { name="group_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; int_Data @["phase_no"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_35"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="phase_no"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; int_Data @["cycle"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_36"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="cycle"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["sse"] { name="sse"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["ext_rew"] { name="ext_rew"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["Motor__acts_avg"] { name="Motor__acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["Thalam_acts_avg"] { name="Thalam_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["GP_Int_acts_avg"] { name="GP_Int_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["GP_Ext_acts_avg"] { name="GP_Ext_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; float_Data @["Output_act"] { name="Output_act"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; }; float_Data @["Striat_act"] { name="Striat_act"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;9; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; }; float_Data @["Output_units_0_act"] { name="Output_units_0_act"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [0] }; }; }; DataTable_Group @.gp["AnalysisData"] { name="AnalysisData"; el_typ=DataTable; el_def=0; DataTable @["Go_NoGo"] { name="Go_NoGo"; desc=; data { name="data"; el_typ=float_Data; el_def=0; float_Data @["gn_pos"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_pos"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["gn_neg"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_neg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["gn_A_R1"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_A_R1"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; float_Data @["gn_B_R1"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_B_R1"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [0] }; }; DataTable @["Go_NoGo_Group"] { name="Go_NoGo_Group"; desc=; data { name="data"; el_typ=float_Data; el_def=0; float_Data @["gn_pos_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_69"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_pos_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] 4.0459414; }; }; float_Data @["gn_pos_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_70"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_pos_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] 0.89274025; }; }; float_Data @["gn_neg_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_71"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_neg_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] -0.68350464; }; }; float_Data @["gn_neg_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_72"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_neg_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] 0.79308099; }; }; float_Data @["gn_A_R1_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_73"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_A_R1_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] 1.6448003; }; }; float_Data @["gn_A_R1_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_74"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_A_R1_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] 0.62963921; }; }; float_Data @["gn_B_R1_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_75"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_B_R1_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] -0.63527578; }; }; float_Data @["gn_B_R1_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_76"; el_typ=UserDataItemBase; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2009569406509399; val_type_fixed=0; }; }; name="gn_B_R1_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [1] 0.5992679; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [1] 0; }; }; DataTable @["EpochOutputData_Group"] { name="EpochOutputData_Group"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_76"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [10] 0;1;2;3;4;5;6;7;8;9; }; }; float_Data @["cnt_err_mean"] { name="cnt_err_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [10] 9.8800001;9.6000004;9.4799995;8.4399996;8.1999998;7.3600001;7.3200002;6.4400001;6.6799998;6.1199999; }; }; float_Data @["cnt_err_sem"] { name="cnt_err_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [10] 0.25994748;0.30942357;0.27601293;0.28060749;0.29616016;0.27529031;0.27867734;0.27888477;0.27344006;0.26665863; }; }; float_Data @["avg_cycles_mean"] { name="avg_cycles_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [10] 55.288002;54.512001;54.658005;54.494003;53.484009;53.060009;52.95401;51.726002;50.992001;50.943993; }; }; float_Data @["avg_cycles_sem"] { name="avg_cycles_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [10] 0.28921065;0.22142167;0.22463124;0.29189909;0.28781649;0.29115745;0.32421535;0.31208602;0.32447511;0.36322004; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [10] 0;1;2;3;4;5;6;7;8;9; }; }; DataTable @["TrialOutputData_Group"] { name="TrialOutputData_Group"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["trial_name_group"] { name="trial_name_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] "70";"70";"70";"70";"70";"70";"70";"70";"70";"70"; "80";"80";"80";"80";"80";"80";"80";"80";"80";"80"; }; }; int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_76"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] 0;1;2;3;4;5;6;7;8;9; 0;1;2;3;4;5;6;7;8;9; }; }; float_Data @["Output_sse_mean"] { name="Output_sse_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] 0.89818472;0.8223924;0.86655062;0.77945238;0.77973872;0.76164871;0.73188293;0.67442191;0.6964615;0.60919631; 0.86589229;0.9083395;0.8485778;0.74342114;0.70373261;0.57310396;0.58391786;0.48222148;0.50536442;0.48525; }; }; float_Data @["Output_sse_sem"] { name="Output_sse_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] 0.012720875;0.012741388;0.012783991;0.012671614;0.012672452;0.012659097;0.012527235;0.012393639;0.012476163;0.012112407; 0.012735937;0.012808928;0.012796263;0.012588829;0.012500471;0.011925492;0.011957617;0.011246092;0.01141775;0.011214752; }; }; float_Data @["minus_cycles_mean"] { name="minus_cycles_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] 54.771999;53.784;53.487999;53.535999;52.192001;51.872002;51.528;50.796001;50.028;50.512001; 55.804001;55.240002;55.827999;55.452;54.776001;54.248001;54.380001;52.655998;51.956001;51.375999; }; }; float_Data @["minus_cycles_sem"] { name="minus_cycles_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; ar { name=; [20] 0.14611046;0.11483428;0.12122089;0.12776935;0.12206392;0.1130915;0.13168037;0.12385939;0.12052693;0.12924595; 0.14913873;0.13187858;0.15294825;0.15845808;0.16200249;0.16216335;0.16939439;0.16704346;0.16465546;0.18253109; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [20] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; }; }; }; }; data_proc { name=; el_typ=taDataProc; el_def=0; taDataProc @["data_base"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="data_base"; }; taDataAnal @["data_anal"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="data_anal"; }; taDataGen @["data_gen"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="data_gen"; }; taImageProc @["image_proc"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="image_proc"; }; }; programs { name=; el_typ=Program; el_def=0; tags=; desc=; Program @["ActBasedRField"] { name="ActBasedRField"; short_nm="Field"; tags="Statistic, Receptive Field"; desc="computes an activation based receptive field using ActBasedRF object type -- allows you to see how units in a selected target layer relate to activations of units throughout the network"; flags=0; objs { name=; el_typ=ActBasedRF; el_def=0; ActBasedRF @["ActBasedRF_0"] { name="ActBasedRF_0"; rf_data=.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].objs["ActRFData"]$$; network=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$$; trg_layer=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"]$$; norm_mode=NORM_RF_LAY; threshold=0.25; }; DataTable @["ActRFData"] { name="ActRFData"; desc="receptive field data -- could move this into AnalysisData if you want.."; data { name="data"; el_typ=float_Data; el_def=0; float_Data @["Input"] { name="Input"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 5;5; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [5 5 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; }; }; float_Data @["Striatum"] { name="Striatum"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;9; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [4 9 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0; }; }; float_Data @["SNc"] { name="SNc"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 2 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0; }; }; float_Data @["GP_Int"] { name="GP_Int"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 2 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0; }; }; float_Data @["GP_Ext"] { name="GP_Ext"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 1 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0; }; }; float_Data @["Thalamus"] { name="Thalamus"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 1 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0; }; }; float_Data @["Motor_Cortex"] { name="Motor_Cortex"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 2 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0; }; }; float_Data @["Output"] { name="Output"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;1; }; calc_expr { expr=; }; dim_names { name=; [2] ;; }; ar { name=; [2 1 36] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name=; [36] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; 20;21;22;23;24;25;26;27;28;29; 30;31;32;33;34;35; }; }; }; types { name=; el_typ=ProgType; el_def=0; }; args { name=; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["final_rf"] { name="final_rf"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="whether to compute the final receptive field or just increment the sums -- call with false to accumulate, and true at end to get final values"; init_from=NULL; }; ProgVar @["init_rf"] { name="init_rf"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="whether to compute the final receptive field or just increment the sums -- call with false to accumulate, and true at end to get final values"; init_from=NULL; }; }; vars { name=; el_typ=ProgVar; el_def=0; ProgVar @["ActBasedRF_0"] { name="ActBasedRF_0"; var_type=T_Object; object_type=ActBasedRF; object_val=.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].objs["ActBasedRF_0"]$$; objs_ptr=1; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["ActRFData"] { name="ActRFData"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].objs["ActRFData"]$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="data table to record activation based receptive field information into"; init_from=NULL; }; ProgVar @["trg_layer_name"] { name="trg_layer_name"; var_type=T_String; string_val="Striatum"; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["trg_layer"] { name="trg_layer"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="target layer to get receptive field data for"; init_from=NULL; }; }; functions { name=; el_typ=Function; el_def=0; }; init_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].vars["trg_layer"]$$; obj=.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].args["network"]$$; method=Network::FindLayer; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="nm"; required=1; def_val=; expr { expr="trg_layer_name"; }; }; }; }; MethodCall @[1] { desc=; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].vars["ActBasedRF_0"]$$; method=ActBasedRF::InitAll; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="ActRFData"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[2] { arg_type=Layer_ptr; type="Layer*"; name="tlay"; required=1; def_val=; expr { expr="trg_layer"; }; }; }; }; }; prog_code { name=; el_typ=ProgCode; el_def=0; IfElse @[0] { desc=; flags=0; orig_prog_code=; cond { expr="init_rf"; }; show_false_code=1; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc=; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].vars["ActBasedRF_0"]$; method=ActBasedRF::InitAll; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="ActRFData"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[2] { arg_type=Layer_ptr; type="Layer*"; name="tlay"; required=1; def_val=; expr { expr="trg_layer"; }; }; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; IfElse @[0] { desc=; flags=0; orig_prog_code=; cond { expr="final_rf"; }; show_false_code=1; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc=; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].vars["ActBasedRF_0"]$; method=ActBasedRF::ComputeRF; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc=; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"].vars["ActBasedRF_0"]$; method=ActBasedRF::IncrementSums; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; }; }; }; step_prog=NULL; step_n=1; }; Program @["LeabraStartup"] { name="LeabraStartup"; short_nm="Start"; tags="Leabra, Startup"; desc="run project in the background (replaces leabra_startup.css) command line is: emergent -nogui -ni -p .proj [epochs=xxx] [batches=xxx] [tag=xxx]"; flags=NO_STOP_STEP|STARTUP_RUN; objs { name=; el_typ=taNBase; el_def=0; }; types { name=; el_typ=ProgType; el_def=0; }; args { name=; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["batches"] { name="batches"; var_type=T_Int; int_val=25; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["num_intact_snc_units"] { name="num_intact_snc_units"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["DA_burst_val"] { name="DA_burst_val"; var_type=T_Real; real_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["meds"] { name="meds"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=NULL; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns -- not used by this program, but passed to train program"; init_from=NULL; }; ProgVar @["TrainFreq"] { name="TrainFreq"; var_type=T_Object; object_type=DataTable; object_val=NULL; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns -- not used by this program, but passed to train program"; init_from=NULL; }; ProgVar @["TestFreq"] { name="TestFreq"; var_type=T_Object; object_type=DataTable; object_val=NULL; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns -- not used by this program, but passed to train program"; init_from=NULL; }; }; vars { name=; el_typ=ProgVar; el_def=0; ProgVar @["batch"] { name="batch"; var_type=T_Object; object_type=Program; object_val=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="set this to point to your batch process"; init_from=NULL; }; ProgVar @["tag"] { name="tag"; var_type=T_String; string_val=; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["log_dir"] { name="log_dir"; var_type=T_String; string_val=; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="log file directory"; init_from=NULL; }; ProgVar @["log_file_nm"] { name="log_file_nm"; var_type=T_String; string_val="/home/frankmj/sims/bg_da/stn/distro/pn/pdp4/BG_PS_repl_a.gn.dat"; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="name of log file"; init_from=NULL; }; ProgVar @["EpochOutputData"] { name="EpochOutputData"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["TrialOutputData"] { name="TrialOutputData"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["TrialOutputData"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Go_NoGo"] { name="Go_NoGo"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name=; el_typ=Function; el_def=0; }; init_code { name=; el_typ=ProgCode; el_def=0; IfReturn @[0] { desc="don't run if running in the gui!"; flags=0; orig_prog_code=; cond { expr="taMisc::gui_active"; }; }; }; prog_code { name=; el_typ=ProgCode; el_def=0; IfReturn @[0] { desc="don't run if running in the gui!"; flags=0; orig_prog_code=; cond { expr="taMisc::gui_active"; }; }; Comment @[1] { desc="add our special args from command line"; flags=0; orig_prog_code=; }; MiscCall @[2] { desc=; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::AddArgName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="flag"; required=1; def_val="\"\""; expr { expr="\"tag=\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="name"; required=1; def_val="\"\""; expr { expr="\"FileTag\""; }; }; }; }; MiscCall @[3] { desc=; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::AddArgName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="flag"; required=1; def_val="\"\""; expr { expr="\"logdir=\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="name"; required=1; def_val="\"\""; expr { expr="\"LogDir\""; }; }; }; }; MiscCall @[4] { desc=; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::AddArgName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="flag"; required=1; def_val="\"\""; expr { expr="\"num_intact_snc_units=\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="name"; required=1; def_val="\"\""; expr { expr="\"num_intact_snc_units\""; }; }; }; }; MiscCall @[5] { desc=; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::AddArgName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="flag"; required=1; def_val="\"\""; expr { expr="\"DA_burst_val=\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="name"; required=1; def_val="\"\""; expr { expr="\"DA_burst_val\""; }; }; }; }; MiscCall @[6] { desc=; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::AddArgName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="flag"; required=1; def_val="\"\""; expr { expr="\"meds=\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="name"; required=1; def_val="\"\""; expr { expr="\"meds\""; }; }; }; }; MiscCall @[7] { desc=; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::AddArgName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="flag"; required=1; def_val="\"\""; expr { expr="\"batches=\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="name"; required=1; def_val="\"\""; expr { expr="\"batches\""; }; }; }; }; MiscCall @[8] { desc="key step: actually process args!"; flags=0; orig_prog_code=; result_var=NULL; object_type=taMisc; method=taMisc::UpdateArgs; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; RegisterArgs @[9] { desc="This is KEY!!! actuall processes all args, including those from ProgVarFmArg guys below"; flags=0; orig_prog_code=; }; Comment @[10] { desc="Initialize and set variables from args"; flags=0; orig_prog_code=; }; PrintExpr @[11] { desc=; flags=0; orig_prog_code=; expr { expr="\"Loaded project: \" << .projects[0].file_name"; }; my_mask=NULL; debug_level=NULL; }; ProgVarFmArg @[12] { desc=; flags=0; orig_prog_code=; prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; var_name="meds"; arg_name="meds"; }; MethodCall @[13] { desc=; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["batch"]$$; method=Program::Init; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MiscCall @[14] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["tag"]$$; object_type=taMisc; method=taMisc::FindArgByName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="nm"; required=1; def_val="\"\""; expr { expr="\"FileTag\""; }; }; }; }; MiscCall @[15] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["log_dir"]$$; object_type=taMisc; method=taMisc::FindArgByName; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="nm"; required=1; def_val="\"\""; expr { expr="\"LogDir\""; }; }; }; }; ProgVarFmArg @[16] { desc=; flags=0; orig_prog_code=; prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; var_name="max_batch"; arg_name="batches"; }; ProgVarFmArg @[17] { desc=; flags=0; orig_prog_code=; prog=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"]$$; var_name="max_epoch"; arg_name="epochs"; }; ProgVarFmArg @[18] { desc=; flags=0; orig_prog_code=; prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"]$; var_name="num_intact_snc_units"; arg_name="num_intact_snc_units"; }; ProgVarFmArg @[19] { desc=; flags=0; orig_prog_code=; prog=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$$; var_name="DA_burst_val"; arg_name="DA_burst_val"; }; Comment @[20] { desc="Set log files"; flags=0; orig_prog_code=; }; MethodCall @[21] { desc="last arg is to include dmem proc number"; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["log_file_nm"]$$; obj=.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["Go_NoGo"]$$; method=taBase::GetFileNameFmProject; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="ext"; required=1; def_val=; expr { expr="\".gn.dat\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="tag"; required=0; def_val="\"\""; expr { expr="tag"; }; }; ProgArg @[2] { arg_type=const_taString_ref; type="taString&"; name="subdir"; required=0; def_val="\"\""; expr { expr="log_dir"; }; }; ProgArg @[3] { arg_type=bool; type="bool"; name="dmem_proc_no"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; MethodCall @[22] { desc="last arg is to restrict log to dmem_proc = 0"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["Go_NoGo"]$; method=DataTable::SaveDataLog; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="fname"; required=0; def_val="\"\""; expr { expr="log_file_nm"; }; }; ProgArg @[1] { arg_type=bool; type="bool"; name="append"; required=0; def_val="false"; expr { expr="false"; }; }; ProgArg @[2] { arg_type=bool; type="bool"; name="dmem_proc_0"; required=0; def_val="true"; expr { expr="true"; }; }; }; }; MethodCall @[23] { desc="last arg is to include dmem proc number"; flags=OFF; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["log_file_nm"]$; obj=.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["TrialOutputData"]$$; method=taBase::GetFileNameFmProject; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="ext"; required=1; def_val=; expr { expr="\".trl.dat\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="tag"; required=0; def_val="\"\""; expr { expr="tag"; }; }; ProgArg @[2] { arg_type=const_taString_ref; type="taString&"; name="subdir"; required=0; def_val="\"\""; expr { expr="log_dir"; }; }; ProgArg @[3] { arg_type=bool; type="bool"; name="dmem_proc_no"; required=0; def_val="false"; expr { expr="true"; }; }; }; }; MethodCall @[24] { desc="last arg is to restrict log to dmem_proc = 0"; flags=OFF; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs["LeabraStartup"].vars["TrialOutputData"]$; method=DataTable::SaveDataLog; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="fname"; required=0; def_val="\"\""; expr { expr="log_file_nm"; }; }; ProgArg @[1] { arg_type=bool; type="bool"; name="append"; required=0; def_val="false"; expr { expr="false"; }; }; ProgArg @[2] { arg_type=bool; type="bool"; name="dmem_proc_0"; required=0; def_val="true"; expr { expr="false"; }; }; }; }; PrintExpr @[25] { desc=; flags=0; orig_prog_code=; expr { expr="\"Running: \" << batch.name"; }; my_mask=NULL; debug_level=NULL; }; ProgramCall @[26] { desc=; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; ProgArg @[2] { arg_type=DataTable; type="DataTable*"; name="TrainFreq"; required=1; def_val=; expr { expr="TrainFreq"; }; }; ProgArg @[3] { arg_type=DataTable; type="DataTable*"; name="TestFreq"; required=1; def_val=; expr { expr="TestFreq"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; targ_ld_init="*LeabraBatch*"; }; }; step_prog=NULL; step_n=1; }; Program_Group @.gp["LeabraAll_Std"] { name="LeabraAll_Std"; el_typ=Program; el_def=0; tags="Leabra, Std, All"; desc="The full set of programs for training a standard Leabra network"; Program @["LeabraBatch"] { name="LeabraBatch"; short_nm="Batch"; tags="Leabra, Std"; desc="Iterate over training runs (a batch of training runs) -- just a simple loop that calls training program"; flags=0; objs { name=; el_typ=taNBase; el_def=0; }; types { name=; el_typ=ProgType; el_def=0; }; args { name=; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["Train_Prob8070"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns -- not used by this program, but passed to train program"; init_from=NULL; }; ProgVar @["TrainFreq"] { name="TrainFreq"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["Train_Prob8070"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["TestFreq"] { name="TestFreq"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["TestFreq"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; vars { name=; el_typ=ProgVar; el_def=0; ProgVar @["batch"] { name="batch"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="batch counter"; init_from=NULL; }; ProgVar @["meds"] { name="meds"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="simulate da meds (reduced da dip)"; init_from=NULL; }; ProgVar @["DA_dip_val"] { name="DA_dip_val"; var_type=T_Real; real_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["max_batch"] { name="max_batch"; var_type=T_Int; int_val=25; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="maximum number of batch runs to perform"; init_from=NULL; }; ProgVar @["tstcycle"] { name="tstcycle"; var_type=T_Int; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|USED|EDIT_VAL; reference=0; desc=" "; init_from=NULL; }; ProgVar @["Go_NoGo"] { name="Go_NoGo"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["TrialOutputData"] { name="TrialOutputData"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["TrialOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["EpochOutputData"] { name="EpochOutputData"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name=; el_typ=Function; el_def=0; }; init_code { name=; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initializes local batch counter and batch field on network"; flags=0; orig_prog_code=; network_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].args["network"]$$; local_ctr_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["batch"]$$; counter=Network::batch; update_after=0; }; AssignExpr @[1] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["tstcycle"]$$; expr { expr="100"; }; }; UserScript @[2] { desc="just to ..get step buttons to show up on control"; flags=OFF; orig_prog_code=; script { expr=".programs.LeabraTrain.Init();"; }; }; IfElse @[3] { desc=; flags=0; orig_prog_code=; cond { expr="meds==true"; }; show_false_code=1; true_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$$; expr { expr=".022"; }; }; OtherProgramVar @[1] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; }; false_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$; expr { expr="0"; }; }; OtherProgramVar @[1] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; }; }; }; prog_code { name=; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initializes local batch counter and batch field on network"; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].args["network"]$; local_ctr_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["batch"]$; counter=Network::batch; update_after=0; }; WhileLoop @[1] { desc="the main loop over training runs"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["tstcycle"]$; expr { expr="100"; }; }; ProgramCall @[1] { desc="run the training program -- sets the network and input_data args"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; ProgArg @[2] { arg_type=bool; type="bool"; name="no_prompts"; required=1; def_val=; expr { expr="true"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"]$; targ_ld_init="*LeabraTrain*"; }; AssignExpr @[2] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["tstcycle"]$; expr { expr="20"; }; }; ProgramCall @[3] { desc=; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="TestEnv"; required=1; def_val=; expr { expr="TestFreq"; }; }; }; target=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"]$$; targ_ld_init="*LeabraTestEpoch*"; }; ProgramCall @[4] { desc="run program that records data from network and possibly other sources about the epoch"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; }; target=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["Calc_GoNoGo"]$$; targ_ld_init="*Calc_GoNoGo*"; }; AssignExpr @[5] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["tstcycle"]$; expr { expr="25"; }; }; ProgramCall @[6] { desc=; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="TestEnv"; required=1; def_val=; expr { expr="TestFreq"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"]$; targ_ld_init="*LeabraTestEpoch*"; }; ProgramCall @[7] { desc="run program that records data from network and possibly other sources about the epoch"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["Calc_GoNoGo"]$; targ_ld_init="*Calc_GoNoGo*"; }; NetCounterIncr @[8] { desc="increment the local batch counter and copy to network"; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].args["network"]$; local_ctr_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["batch"]$; counter=Network::batch; update_after=0; }; }; test { expr="batch < max_batch"; }; }; DataCalcLoop @[2] { desc=; flags=0; orig_prog_code=; src_data_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["Go_NoGo"]$$; dest_data_var=NULL; src_cols { name="src_cols"; el_typ=DataOpEl; el_def=0; }; dest_cols { name="dest_cols"; el_typ=DataOpEl; el_def=0; }; loop_code { name=; el_typ=ProgCode; el_def=0; UserScript @[0] { desc=; flags=0; orig_prog_code=; script { expr="Go_NoGo.GroupMeanSEM(NULL,NULL,NULL,NULL,NULL);"; }; }; }; use_col_numbers=0; src_col_vars { name=; el_typ=ProgVar; el_def=0; }; dest_col_vars { name=; el_typ=ProgVar; el_def=0; }; }; DataGroupProg @[3] { desc=; flags=0; orig_prog_code=; src_data_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["TrialOutputData"]$$; dest_data_var=NULL; group_spec { name="group_spec"; ops { name=; el_typ=DataGroupEl; el_def=0; DataGroupEl @[0] { col_name="trial_name"; agg {op=GROUP: rel={name="Relation": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[1] { col_name="epoch"; agg {op=GROUP: rel={name="": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[2] { col_name="Output_sse"; agg {op=MEAN: rel={name="Relation": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[3] { col_name="Output_sse"; agg {op=SEM: rel={name="Relation": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[4] { col_name="minus_cycles"; agg {op=MEAN: rel={name="": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[5] { col_name="minus_cycles"; agg {op=SEM: rel={name="": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; }; append_agg_name=1; }; }; DataGroupProg @[4] { desc=; flags=0; orig_prog_code=; src_data_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["EpochOutputData"]$$; dest_data_var=NULL; group_spec { name="group_spec"; ops { name=; el_typ=DataGroupEl; el_def=0; DataGroupEl @[0] { col_name="epoch"; agg {op=GROUP: rel={name="": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[1] { col_name="cnt_err"; agg {op=MEAN: rel={name="": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[2] { col_name="cnt_err"; agg {op=SEM: rel={name="": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[3] { col_name="avg_cycles"; agg {op=MEAN: rel={name="Relation_42": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; DataGroupEl @[4] { col_name="avg_cycles"; agg {op=SEM: rel={name="Relation_42": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: name="Aggregate": }; }; }; append_agg_name=1; }; }; }; step_prog=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestCycle"]$$; step_n=1; }; Program @["LeabraTrain"] { name="LeabraTrain"; short_nm="Train"; tags="Leabra, Std"; desc="A complete training run of a Leabra network: iterating over epochs until the network has learned the task"; flags=0; objs { name=; el_typ=RndSeed; el_def=0; RndSeed @["rnd_seed"] { name="rnd_seed"; seed{ 897248114;-1259630319;-1954705695;-2086433643;-1705562578;-246166775;142172280;-1066196830;649876912;-363601797;-1551220787;-201998924;984813377;-1929982005;1866720504;1737535582;-2064818913;-596409631;-537210356;-394821123;-1176302275;-1088439095;390472553;1002483428;-644065336;-93234492;-249392311;1955837623;486322880;268723693;-1316990013;-1148081097;1053267338;-194887551;722894185;-1796145741;-419870710;-744395548;-2126350183;-1623934615;-1975558537;-1109580724;1457379925;952758326;-932820647;-793678521;622734178;-1116891631;992844023;348717466;1162608598;-2078137647;-402129645;-523610230;-892508948;-545793120;1897913877;280270467;-1694155315;294983543;-1251003482;-1650029695;-1335161250;-843867016;1576969605;-260969840;-224140684;1265137246;954732510;2064975050;-1145863940;-1435022393;-1859029257;1513712809;985631399;417291160;-2038587757;-1933156114;888379733;1446724555;-464909414;-1706911051;-1159096460;-1791674743;-147343083;960690226;682596297;1099430942;359127508;311504974;93962501;-1671326033;632618192;-885562045;1179982281;-1505675969;1344906533;-1418551925;1622092278;1701084792;242471559;-1984251903;-1568971862;-1063520265;1591722069;-1959097976;-1601150455;-874166212;-889564662;717605003;-1582378599;-1301052667;1211123575;485189748;-182999148;374766658;1150697026;-738165078;-390496439;960351772;-332421139;71115877;-1747551486;-288197538;2067393244;-402841323;168191432;698976579;-691346957;454158309;419567441;-1655444926;1843518827;-1387150657;-1775972895;1209349907;1737084105;-273997764;2063222132;-629133755;1321145195;-340980602;-64855207;836106865;-384606302;857100345;-616134379;-1192753754;-1534913223;1646103447;-337508797;-104008340;1371554336;1910014402;1731164243;157488784;-1230766726;1651230814;-1801393009;1853249886;-1909629469;-2064890998;-586605120;1029458265;-1567764431;-569878997;-1071722633;1842759325;1870815306;1275367738;-2047480342;699437794;-2078020834;2120915280;1609487567;715455530;-1961002406;-1366381474;1214551640;1682680277;1866914062;-1438763676;1522254727;410589237;1882867230;-2066414372;335577213;-1969515802;-2079897542;1101145964;-914546306;-578950040;-399253994;-1096753521;-660660212;-1198578643;1339175923;-781551297;-1839371394;1105332893;-1928816742;-400816250;1655921312;-452260989;2002840327;447789431;319958765;-658015714;-2019202134;-1586612048;-137582258;706769011;1101838665;827045450;599553857;-2145445088;244597783;1487421271;1630555190;-344172316;-1830139429;-1553867370;-156727033;-755056810;-2131860048;-494346652;1852068823;91308896;725609566;-1111505690;-982815291;1292267944;1836226774;-810066908;-496780978;202956912;603675823;637918661;-10943404;552199869;1297990249;-1519144401;-1727998742;1493519921;-1227758025;-860568373;2118867559;1126222143;-1549971275;-1469719981;-370967157;-1094842937;2081077388;-1045858167;-179155018;-384518151;905350287;-1851803717;571620219;760498291;-480881197;-973785647;838212682;340510526;510321855;-801267485;-852016520;1774211485;39420368;537777206;2107097314;1618664461;210916571;-423959548;631482818;-1040919263;-279241335;-892903760;497369428;1334556795;-290177741;-620998078;1723791759;253979182;2098469877;2033083432;2025527244;-556275368;-1153759308;1554310973;-2109179006;1594713042;-1652347925;-1896234258;1399293819;-1212915145;264979477;2035769098;-26264659;816116738;-1472777223;-1886895409;579752040;1987550252;850378084;-592526232;228677599;-1282752773;-3264037;1636907752;554996081;10747923;1856021975;150743074;1441285143;-284865308;64061770;547700487;2007963302;-518601320;717968026;-1887063740;-1161755710;654757340;624448862;1095845326;1219653475;1112960789;540367258;1430941426;-1573264900;842324047;-1866598839;672477326;-834606497;456739053;2014938441;1820294365;-1127769538;237909957;778195458;-320898672;-493131725;374332760;1492882317;244532839;1469335464;813662131;1904048850;1828753335;1969748325;1462812563;773013089;1263710334;6222118;1806899780;-1306665146;695150693;1034369820;-410885147;-2065109159;-21981403;1688153775;-1834763828;-2034905187;-868895926;-2040902706;760295113;705437415;-801989522;-327259983;340256932;1639347777;676478214;-868392127;-2126595595;1085040460;-101711712;1181203896;-1177629723;1052562025;-385800214;-2127578499;-247860261;-210619237;-1285411717;-1501642238;-1370695642;-901640534;-1139102088;-1435816006;2062624444;733280257;-325264040;815916517;1806401640;106587238;222094010;-1348528385;297616670;-861761020;117428779;2046490308;1520601476;1774880419;2117307057;709856479;658783300;-1019651996;1857641166;-1623434894;-1466106812;1764750271;337867896;1769011978;1878580541;-337505063;55931846;657238908;1968152816;-169076117;-975001150;-619957198;463669432;-1908341507;-643594058;-2026430605;1348524010;-730896925;454931916;416148985;-1578791134;-739712940;-1725329931;204101311;-1062609662;-1691773722;860783264;946450304;1161241387;207536058;3478215;923381087;-305329130;-1353819564;48467194;-497866365;-1191262819;1442954968;-408984143;934531440;1843513070;-1086308879;585900848;-1977125474;-643228730;1005419111;430194483;1169789286;892875109;-1732318651;-897476207;416658129;2090816327;-186559977;-187909452;1699611428;132945605;1386154990;-1021089733;1553010825;1685237703;1771892687;-1665309430;-1471203233;408978895;-1985168698;-1461014828;-475885929;-149644797;184461852;-1631733780;-113049057;1929365839;-1841043271;755994780;1384891379;-572376242;-1822728640;527993133;536302677;-728200547;-1916517795;401821920;777687226;634513383;938837982;-1741204308;-712292839;-888158003;-989731250;1070351745;-997999887;-1220926516;-477621207;-668502217;432615022;341097247;-1817216444;-1580909839;1073812924;-1037427637;-421491456;-2071807233;419582815;835099779;-300811050;1008848942;-622226245;1119083448;2015783992;374250496;417956216;70961961;-1285132279;1021911943;1585993281;1118486430;-946608452;-1704284523;1344252873;908115709;2135579935;636192621;-776174384;533471998;586778067;-154978136;1359740759;1629951629;-1733015859;2121954041;2104107711;-295897115;1345244080;-1738577645;-559564224;1033955967;-1763695458;250221436;-693902564;1091788545;927707887;-712040796;1439001997;1595609215;1364606826;661845780;-755815374;-2034931863;1346096804;-2074100882;-1065691144;654888208;1007146357;778226326;1410374083;1808044267;239070962;-300943249;1387420801;914251343;580430497;1404608152;117575915;1513662704;256310634;-569005681;-1678005121;-1445134348;2053633677;2025466731;-1577911340;-1278866808;-623511374;-1672074119;45321757;1247003680;1061170196;1198754894;-104913407;2054118989;-1781862918;1530368638;-226966082;-707276305;1591871350;331461390;608113940;235882513;-2046843672;-1075932011;-1894925926;1648301914;1170547429;1665497643;-1251944432;-1796010764;-73953480;788544378;1090859788;-1128050928;-145143834;594707390;-728801566;-252193318;1890915838;-834826210;602694736;1275821290;-2078563303;-1397408457;-343458496;1558647263; }; mti=156; is_gauss_double_cached=0; cached_gauss_double=0; }; }; types { name=; el_typ=DynEnumType; el_def=0; DynEnumType @["RndInitType"] { name="RndInitType"; desc=; enums { name=; el_typ=DynEnumItem; el_def=0; DynEnumItem @["OLD_SEED"] { name="OLD_SEED"; value=0; desc="use stored random seed value (recreates same sequence every time)"; }; DynEnumItem @["NEW_SEED"] { name="NEW_SEED"; value=1; desc="generate new random seed (new sequence of random numbers)"; }; }; bits=0; }; }; args { name=; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to train"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["Train_Prob8070"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["no_prompts"] { name="no_prompts"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="If train is called by other programs (e.g., Batch), they should set this to true -- otherwise it is reset to false in Init"; init_from=NULL; }; }; vars { name=; el_typ=ProgVar; el_def=0; ProgVar @["max_epoch"] { name="max_epoch"; var_type=T_Int; int_val=10; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="maximum number of epochs to run"; init_from=NULL; }; ProgVar @["train_mode"] { name="train_mode"; var_type=T_HardEnum; int_val=1; hard_enum_type=Network::TrainMode; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="TRAIN = update weights (learn), TEST = just record network's responses but don't learn"; init_from=NULL; }; ProgVar @["test_mode"] { name="test_mode"; var_type=T_HardEnum; int_val=0; hard_enum_type=Network::TrainMode; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="TRAIN = update weights (learn), TEST = just record network's responses but don't learn"; init_from=NULL; }; ProgVar @["rnd_init"] { name="rnd_init"; var_type=T_DynEnum; dyn_enum_val { enum_type=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].types["RndInitType"]$$; value=0; }; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="how to initialize the random numbers when the Init button is pressed"; init_from=NULL; }; ProgVar @["epoch"] { name="epoch"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current epoch -- local copy, which is used to update network's epoch counter"; init_from=NULL; }; ProgVar @["err_stopcrit"] { name="err_stopcrit"; var_type=T_Real; real_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="stopping criterion -- when error measure (count of trials with a non-zero error by defult) goes <= this value, stop training (set to -1 to disable stopping criterion, and always train to max_epoch epochs)"; init_from=NULL; }; ProgVar @["rnd_seed"] { name="rnd_seed"; var_type=T_Object; object_type=RndSeed; object_val=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].objs["rnd_seed"]$$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="random seed that is used at start of training -- if OldSeed is called"; init_from=NULL; }; ProgVar @["TestFreq"] { name="TestFreq"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["TestFreq"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["train_timer"] { name="train_timer"; var_type=T_Object; object_type=TimeUsed; object_val=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].train_time$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="records time used to train network (object lives on network -- this is a pointer to it)"; init_from=NULL; }; ProgVar @["j"] { name="j"; var_type=T_Int; int_val=18; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["i"] { name="i"; var_type=T_Int; int_val=4; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["num_intact_snc_units"] { name="num_intact_snc_units"; var_type=T_Int; int_val=4; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["snc_size"] { name="snc_size"; var_type=T_Int; int_val=4; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["SNc"] { name="SNc"; var_type=T_Object; object_type=LeabraLayer; object_val=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["SNc"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Striatum"] { name="Striatum"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Train_Freq"] { name="Train_Freq"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["Train_Prob8070"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["str_unit"] { name="str_unit"; var_type=T_Object; object_type=UnitSpec; object_val=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["matrisom_unitspec"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name=; el_typ=Function; el_def=0; }; init_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["no_prompts"]$$; expr { expr="false"; }; }; MethodCall @[1] { desc="check network to make sure it is ready to be run"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$$; method=taBase::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; AssignExpr @[2] { desc="get our pointer to the network training time object"; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$$; expr { expr="network.train_time"; }; }; NetCounterInit @[3] { desc="initialize epoch counter "; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$$; counter=Network::epoch; update_after=0; }; IfElse @[4] { desc="initialize random seed (either old or new)"; flags=0; orig_prog_code=; cond { expr="rnd_init == OLD_SEED"; }; show_false_code=1; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="restore previous random seed (all runs produce same results)"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["rnd_seed"]$$; method=RndSeed::OldSeed; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="new random numbers each time"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["rnd_seed"]$; method=RndSeed::NewSeed; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; IfGuiPrompt @[5] { desc="don't initialize weights without checking"; flags=0; orig_prog_code=; prompt="Do you want to Initialize Network Weights"; yes_label="Yes"; no_label="No"; yes_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="initialize network weights: could also load pre-set weights or something else here"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; method=Network::Init_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; PrintExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="network.name << \" Weights Initialized\""; }; my_mask=NULL; debug_level=NULL; }; }; }; }; prog_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="get our pointer to the network training time object"; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$; expr { expr="network.train_time"; }; }; MethodCall @[1] { desc="start timer to keep track of how long it takes to run entire training run"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$; method=TimeUsed::StartTimer; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_used"; required=0; def_val="true"; expr { expr="true"; }; }; }; }; NetCounterInit @[2] { desc="initialize epoch counter (both our local copy and network's epoch counter)"; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$; counter=Network::epoch; update_after=0; }; MemberAssign @[3] { desc=; flags=0; orig_prog_code=; obj=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["str_unit"]$$; path="noise.mean"; expr { expr=".001"; }; update_after=0; }; MemberAssign @[4] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="train_mode"; }; update_after=0; }; IfElse @[5] { desc=; flags=0; orig_prog_code=; cond { expr="no_prompts"; }; show_false_code=0; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="initialize network weights: could also load pre-set weights or something else here"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; method=Network::Init_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; PrintExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="network.name << \" Weights Initialized\""; }; my_mask=NULL; debug_level=NULL; }; }; false_code { name=; el_typ=ProgCode; el_def=0; }; }; AssignExpr @[6] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["snc_size"]$$; expr { expr="SNc.units.size"; }; }; ForLoop @[7] { desc="only connect intact snc units to striatum"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over striatal units (Go units for D1 projection and NoGo units for D2 projection)"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; UserScript @[0] { desc="zero out weights for non-intact snc units"; flags=0; orig_prog_code=; script { expr="SNc.units[i].send[0].Cn(j).wt=0; SNc.units[i].send[1].Cn(j).wt=0; "; }; }; }; init { expr="j = 0"; }; test { expr="j < (Striatum.units.size)/2"; }; iter { expr="j++"; }; }; }; init { expr="i = num_intact_snc_units"; }; test { expr="i < snc_size"; }; iter { expr="i++"; }; }; OtherProgramVar @[8] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["num_intact_snc_units"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; OtherProgramVar @[9] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"]$; set_other=1; var_1=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["num_intact_snc_units"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; MemberAssign @[10] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="test_mode"; }; update_after=0; }; ProgramCall @[11] { desc="run the epoch program (one epoch), passes our network and input_data"; flags=0; orig_prog_code=; prog_args { name="ProgArg_List_0"; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="TestEnv"; required=1; def_val=; expr { expr="TestFreq"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"]$; targ_ld_init="*LeabraTestEpoch*"; }; WhileLoop @[12] { desc="main loop over epochs of training"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="train_mode"; }; update_after=0; }; ProgramCall @[1] { desc="run the epoch program (one epoch), passes our network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="Train_Freq"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$; targ_ld_init="*LeabraEpoch*"; }; NetCounterIncr @[2] { desc="increment the epoch counter (locally and on network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$; counter=Network::epoch; update_after=0; }; MemberAssign @[3] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="test_mode"; }; update_after=0; }; ProgramCall @[4] { desc="run the epoch program (one epoch), passes our network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="TestEnv"; required=1; def_val=; expr { expr="TestFreq"; }; }; }; target=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"]$; targ_ld_init="*LeabraTestEpoch*"; }; IfBreak @[5] { desc="stop if errors go below stopping criterion (note: could use sse or avg_sse here instead)"; flags=OFF; orig_prog_code=; cond { expr="network.cnt_err <= err_stopcrit"; }; }; }; test { expr="epoch < max_epoch"; }; }; MethodCall @[13] { desc="stop the timer -- time elapsed is now recorded in this object, and can be displayed or recorded to a data table"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$; method=TimeUsed::EndTimer; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraSettle"]$$; step_n=1; }; Program @["LeabraEpoch"] { name="LeabraEpoch"; short_nm="Epoch"; tags="Leabra, Std"; desc="iterates over all of the items in a data table and calls LeabraTrial process on them"; flags=0; objs { name=; el_typ=taNBase; el_def=0; }; types { name=; el_typ=ProgType; el_def=0; }; args { name=; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["Train_Prob8070"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="table of patterns to present to the network, one row at a time"; init_from=NULL; }; }; vars { name=; el_typ=ProgVar; el_def=0; ProgVar @["data_loop_order"] { name="data_loop_order"; var_type=T_HardEnum; int_val=1; hard_enum_type=DataLoop::Order; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="controls the order in which events (rows of the input data datatable) are presented to the network (SEQUENTIAL, PERMUTED, RANDOM)"; init_from=NULL; }; ProgVar @["trial"] { name="trial"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current trial (event) within the epoch -- increments automatically"; init_from=NULL; }; ProgVar @["trial_mon_data"] { name="trial_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["TrialOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="trial-level output data -- we reset it every epoch by default, so it just contains last epoch of data"; init_from=NULL; }; ProgVar @["epoch_timer"] { name="epoch_timer"; var_type=T_Object; object_type=TimeUsed; object_val=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].epoch_time$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="timer to record time required to perform one epoch of processing (object is on network -- this is a pointer to it)"; init_from=NULL; }; ProgVar @["data_loop_index"] { name="data_loop_index"; var_type=T_Int; int_val=7; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="index counter for the looping over items in the input_data datatable (not always the same as trial counter, depending on distributed memory computation)"; init_from=NULL; }; }; functions { name=; el_typ=Function; el_def=0; }; init_code { name=; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize trial counter (local variable and in the network)"; flags=0; orig_prog_code=; network_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$$; local_ctr_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["trial"]$$; counter=Network::trial; update_after=0; }; AssignExpr @[1] { desc="get pointer to epoch timer object on network"; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$$; expr { expr="network.epoch_time"; }; }; }; prog_code { name=; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize trial counter (local variable and in the network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; local_ctr_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["trial"]$; counter=Network::trial; update_after=0; }; AssignExpr @[1] { desc="get pointer to epoch timer object on network"; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$; expr { expr="network.epoch_time"; }; }; MethodCall @[2] { desc="start the epoch timer to record computation time per epoch"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$; method=TimeUsed::StartTimer; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_used"; required=0; def_val="true"; expr { expr="true"; }; }; }; }; MethodCall @[3] { desc="reset trial-level monitor data every epoch, so it reflects only the most recent epoch's worth of data (turn flags OFF to accumulate trial data across entire training run)"; flags=OFF; orig_prog_code=; result_var=NULL; obj=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["trial_mon_data"]$$; method=DataTable::ResetData; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; NetDataLoop @[4] { desc="iterates over the events/rows of input_data, according to data_loop_order variable"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ProgramCall @[0] { desc="run the trial program, passing network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; }; target=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTrial"]$$; targ_ld_init="*LeabraTrial*"; }; IfElse @[1] { desc="test if it is time to update the weight values from delta weights (dWt) computed over trials"; flags=0; orig_prog_code=; cond { expr="network.Compute_Weights_Test(trial+1)"; }; show_false_code=0; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="update the weight values based on changes computed by trial program"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; method=Network::Compute_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; }; }; }; data_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["input_data"]$$; index_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["data_loop_index"]$$; order_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["data_loop_order"]$$; order=PERMUTED; update_after=0; dmem_nprocs=1; dmem_this_proc=0; grouped=0; group_col 9 0="Group"; group_index_var=NULL; group_order_var=NULL; group_order=PERMUTED; group_idx_list{ }; }; IfElse @[5] { desc="if full batch mode, update only at end of epoch"; flags=0; orig_prog_code=; cond { expr="network.wt_update == Network::BATCH"; }; show_false_code=0; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="final update of weights based on accumulated changes"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; method=Network::Compute_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; }; }; MethodCall @[6] { desc="network accumulates some core statistics over the epoch -- this finalizes that process and computes summary stats"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; method=LeabraNetwork::Compute_EpochStats; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; ProgramCall @[7] { desc="run program that records data from network and possibly other sources about the epoch"; flags=OFF; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=Network; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; }; target=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"]$$; targ_ld_init="*LeabraEpochMonitor*"; }; MethodCall @[8] { desc="done with the computation in the epoch -- record time it took"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$; method=TimeUsed::EndTimer; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraSettle"]$; step_n=1; }; Program @["LeabraTestEpoch"] { name="LeabraTestEpoch"; short_nm="Epoch"; tags=; desc="iterates over all of the items in a data table and calls LeabraTrial process on them"; flags=0; objs { name=; el_typ=taNBase; el_def=0; }; types { name=; el_typ=ProgType; el_def=0; }; args { name=; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on"; init_from=NULL; }; ProgVar @["TestEnv"] { name="TestEnv"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["InputData"]["TestFreq"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; vars { name=; el_typ=ProgVar; el_def=0; ProgVar @["data_loop_order"] { name="data_loop_order"; var_type=T_HardEnum; int_val=1; hard_enum_type=DataLoop::Order; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="controls the order in which events (rows of the input data datatable) are presented to the network (SEQUENTIAL, PERMUTED, RANDOM)"; init_from=NULL; }; ProgVar @["trial"] { name="trial"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current trial (event) within the epoch -- increments automatically"; init_from=NULL; }; ProgVar @["trial_mon_data"] { name="trial_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["TrialOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="trial-level output data -- we reset it every epoch by default, so it just contains last epoch of data"; init_from=NULL; }; ProgVar @["epoch_timer"] { name="epoch_timer"; var_type=T_Object; object_type=TimeUsed; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].epoch_time$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="timer to record time required to perform one epoch of processing (object is on network -- this is a pointer to it)"; init_from=NULL; }; ProgVar @["data_loop_index"] { name="data_loop_index"; var_type=T_Int; int_val=20; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="index counter for the looping over items in the input_data datatable (not always the same as trial counter, depending on distributed memory computation)"; init_from=NULL; }; ProgVar @["epoch"] { name="epoch"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["max_epoch"] { name="max_epoch"; var_type=T_Int; int_val=10; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["final_rf"] { name="final_rf"; var_type=T_Bool; bool_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["acc_rf"] { name="acc_rf"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["init_rf"] { name="init_rf"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["str_unit"] { name="str_unit"; var_type=T_Object; object_type=UnitSpec; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["matrisom_unitspec"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["num_intact_snc_units"] { name="num_intact_snc_units"; var_type=T_Int; int_val=4; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["snc_size"] { name="snc_size"; var_type=T_Int; int_val=4; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["k"] { name="k"; var_type=T_Real; real_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["SNc"] { name="SNc"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["SNc"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name=; el_typ=Function; el_def=0; }; init_code { name=; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize trial counter (local variable and in the network)"; flags=0; orig_prog_code=; network_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].args["network"]$$; local_ctr_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["trial"]$$; counter=Network::trial; update_after=0; }; AssignExpr @[1] { desc="get pointer to epoch timer object on network"; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["epoch_timer"]$$; expr { expr="network.epoch_time"; }; }; AssignExpr @[2] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["epoch"]$$; expr { expr=".programs.LeabraTrain.epoch.int_val"; }; }; AssignExpr @[3] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["max_epoch"]$$; expr { expr=".programs.LeabraTrain.max_epoch.int_val"; }; }; }; prog_code { name=; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize trial counter (local variable and in the network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].args["network"]$; local_ctr_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["trial"]$; counter=Network::trial; update_after=0; }; AssignExpr @[1] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["snc_size"]$$; expr { expr="SNc.units.size"; }; }; AssignExpr @[2] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["k"]$$; expr { expr="(float)num_intact_snc_units/ snc_size"; }; }; MemberAssign @[3] { desc="turn off noise in striatum to get reliable measure of learned activity"; flags=0; orig_prog_code=; obj=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["str_unit"]$$; path="noise.mean"; expr { expr="0.00"; }; update_after=0; }; AssignExpr @[4] { desc="get pointer to epoch timer object on network"; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["epoch_timer"]$; expr { expr="network.epoch_time"; }; }; MethodCall @[5] { desc="start the epoch timer to record computation time per epoch"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["epoch_timer"]$; method=TimeUsed::StartTimer; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_used"; required=0; def_val="true"; expr { expr="true"; }; }; }; }; MethodCall @[6] { desc="reset trial-level monitor data every epoch, so it reflects only the most recent epoch's worth of data (turn flags OFF to accumulate trial data across entire training run)"; flags=OFF; orig_prog_code=; result_var=NULL; obj=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["trial_mon_data"]$$; method=DataTable::ResetData; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; AssignExpr @[7] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["init_rf"]$$; expr { expr="true"; }; }; ProgramCall @[8] { desc="run program that records data from network and possibly other sources about the epoch"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=bool; type="bool"; name="final_rf"; required=1; def_val=; expr { expr="final_rf"; }; }; ProgArg @[2] { arg_type=bool; type="bool"; name="init_rf"; required=1; def_val=; expr { expr="init_rf"; }; }; }; target=.projects["BG_Gating_STARTHERE_632"].programs["ActBasedRField"]$$; targ_ld_init="*ActBasedRField*"; }; AssignExpr @[9] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["init_rf"]$; expr { expr="false"; }; }; NetDataLoop @[10] { desc="iterates over the events/rows of input_data, according to data_loop_order variable"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ProgramCall @[0] { desc="run the trial program, passing network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="TestWP"; required=1; def_val=; expr { expr="TestEnv"; }; }; }; target=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestTrial"]$$; targ_ld_init="*LeabraTestTrial*"; }; IfElse @[1] { desc="test if it is time to update the weight values from delta weights (dWt) computed over trials"; flags=0; orig_prog_code=; cond { expr="network.Compute_Weights_Test(trial+1)"; }; show_false_code=0; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="update the weight values based on changes computed by trial program"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].args["network"]$; method=Network::Compute_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; }; }; }; data_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].args["TestEnv"]$$; index_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["data_loop_index"]$$; order_var=.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].vars["data_loop_order"]$$; order=PERMUTED; update_after=0; dmem_nprocs=1; dmem_this_proc=0; grouped=0; group_col 9 0="Group"; group_index_var=NULL; group_order_var=NULL; group_order=PERMUTED; group_idx_list{ }; }; IfElse @[11] { desc="if full batch mode, update only at end of epoch"; flags=0; orig_prog_code=; cond { expr="network.wt_update == Network::BATCH"; }; show_false_code=0; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="final update of weights based on accumulated changes"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].args["network"]$; method=Network::Compute_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; false_code { name=; el_typ=ProgCode; el_def=0; }; }; MethodCall @[12] { desc="network accumulates some core statistics over the epoch -- this finalizes that process and computes summary stats"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_Gating_STARTHERE_632"].programs.gp["LeabraAll_Std"]["LeabraTestEpoch"].args["network"]$; method=LeabraNetwork::Compute_EpochStats; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; IfElse @[13] { desc=; flags=0; orig_prog_code=; cond { expr="network.epoch; auto_scale=0; }; scale_ranges { name=; el_typ=ScaleRange; el_def=0; ScaleRange @[0] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[1] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[2] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[3] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[4] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[5] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[6] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[7] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[8] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[9] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[10] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[11] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[12] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[13] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[14] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[15] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[16] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[17] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[18] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[19] { var_name=; auto_scale=0; min=-0.8099999; max=0.8099999; }; ScaleRange @[20] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[21] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[22] { var_name=; auto_scale=1; min=-10; max=10; }; ScaleRange @[23] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[24] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[25] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[26] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[27] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[28] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[29] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[30] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[31] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[32] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[33] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[34] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[35] { var_name=; auto_scale=0; min=-1; max=1; }; ScaleRange @[36] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[37] { var_name=; auto_scale=0; min=0; max=0; }; ScaleRange @[38] { var_name="r.wt"; auto_scale=0; min=-1; max=1; }; ScaleRange @[39] { var_name="act"; auto_scale=0; min=-1; max=1; }; ScaleRange @[40] { var_name="act_m2"; auto_scale=0; min=-1; max=1; }; }; lay_disp_modes{ Input=0;Striatum=0;SNc=0;GP_Int=0;GP_Ext=0;Thalamus=0;Motor_Cortex=0;Output=0; }; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name=; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=0.5178572: y=0.3378492: z=1.762347: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=2.167502; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["CycleOutputData"] { name="CycleOutputData"; m_data=NULL; visible=1; root_view { name=; m_data=NULL; m_transform=NULL; children { name=; el_typ=GraphTableView; el_def=0; GraphTableView @["CycleOutputData_Graph"] { name="CycleOutputData_Graph"; m_data=$.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"]$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name=; el_typ=GraphColView; el_def=0; GraphColView @["batch"] { name="batch"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["batch"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["epoch"] { name="epoch"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["epoch"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["trial"] { name="trial"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["trial"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["trial_name"] { name="trial_name"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["trial_name"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["group_name"] { name="group_name"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["group_name"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["phase_no"] { name="phase_no"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["phase_no"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["cycle"] { name="cycle"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["cycle"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=46: }; data_range {min=0: max=0: }; }; GraphColView @["sse"] { name="sse"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["sse"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["ext_rew"] { name="ext_rew"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["ext_rew"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["Motor__acts_avg"] { name="Motor__acts_avg"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["Motor__acts_avg"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["Thalam_acts_avg"] { name="Thalam_acts_avg"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["Thalam_acts_avg"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0.496054: }; data_range {min=0: max=0: }; }; GraphColView @["GP_Int_acts_avg"] { name="GP_Int_acts_avg"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["GP_Int_acts_avg"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0.303171: fix_max=0: max=0.927887: }; data_range {min=0: max=0: }; }; GraphColView @["GP_Ext_acts_avg"] { name="GP_Ext_acts_avg"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["GP_Ext_acts_avg"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0.344524: fix_max=0: max=0.826872: }; data_range {min=0: max=0: }; }; GraphColView @["Output_act"] { name="Output_act"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["Output_act"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["Striat_act"] { name="Striat_act"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["Striat_act"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0.873296: }; data_range {min=0: max=0: }; }; GraphColView @["Output_units_0_act"] { name="Output_units_0_act"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["CycleOutputData"].data["Output_units_0_act"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0.900318: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; view_rows=10000; view_range {min=0: max=-1: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=LINE; negative_draw=0; negative_draw_z=1; line_width=2; point_size=MEDIUM; point_spacing=1; bar_space=0.2; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="cycle"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; z_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name="batch"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; plot_1 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name="Output_units_0_act"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; plot_2 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name="Striat_act"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=0; }; plot_3 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="GP_Int_acts_avg"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; plot_4 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="GP_Ext_acts_avg"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green": r=0: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE; alt_y=0; }; plot_5 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="Thalam_acts_avg"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; plot_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; plot_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; plot_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=MINUS; alt_y=0; }; err_1 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_2 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_spacing=1; err_bar_width=0.02; color_mode=FIXED_COLOR; color_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="ColorScale"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name=; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=1.4275: y=0.445: z=1.376934: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.866934; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["EpochOutputData"] { name="EpochOutputData"; m_data=NULL; visible=1; root_view { name=; m_data=NULL; m_transform=NULL; children { name=; el_typ=GraphTableView; el_def=0; GraphTableView @["EpochOutputData_Graph"] { name="EpochOutputData_Graph"; m_data=$.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"]$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name=; el_typ=GraphColView; el_def=0; GraphColView @["batch"] { name="batch"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"].data["batch"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["epoch"] { name="epoch"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"].data["epoch"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["avg_sse"] { name="avg_sse"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"].data["avg_sse"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["cnt_err"] { name="cnt_err"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"].data["cnt_err"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["avg_ext_rew"] { name="avg_ext_rew"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"].data["avg_ext_rew"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["avg_cycles"] { name="avg_cycles"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["OutputData"]["EpochOutputData"].data["avg_cycles"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; view_rows=10000; view_range {min=0: max=-1: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=LINE; negative_draw=0; negative_draw_z=1; line_width=2; point_size=MEDIUM; point_spacing=1; bar_space=0.2; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="epoch"; fixed_range {fix_min=0: min=0: fix_max=0: max=9: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; z_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name="batch"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; plot_1 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="cnt_err"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; plot_2 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=0; }; plot_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; plot_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE; alt_y=0; }; plot_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; plot_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; plot_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; plot_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=MINUS; alt_y=0; }; err_1 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_2 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_spacing=1; err_bar_width=0.02; color_mode=VALUE_COLOR; color_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="ColorScale"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name=; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=1.4275: y=0.445: z=1.624621: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.637121; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["Go_NoGo"] { name="Go_NoGo"; m_data=NULL; visible=1; root_view { name=; m_data=NULL; m_transform=NULL; children { name=; el_typ=GraphTableView; el_def=0; GraphTableView @["Go_NoGo_Graph"] { name="Go_NoGo_Graph"; m_data=$.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"]$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name=; el_typ=GraphColView; el_def=0; GraphColView @["gn_pos"] { name="gn_pos"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"].data["gn_pos"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_neg"] { name="gn_neg"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"].data["gn_neg"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_A_R1"] { name="gn_A_R1"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"].data["gn_A_R1"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_B_R1"] { name="gn_B_R1"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo"].data["gn_B_R1"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; view_rows=10000; view_range {min=0: max=-1: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=POINTS; negative_draw=0; negative_draw_z=1; line_width=2; point_size=MEDIUM; point_spacing=1; bar_space=0.2; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="gn_neg"; fixed_range {fix_min=0: min=0: fix_max=0: max=-1: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=1; }; z_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name="gn_A_R1"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; plot_1 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_pos"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; plot_2 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_neg"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=0; }; plot_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; plot_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE; alt_y=0; }; plot_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; plot_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; plot_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; plot_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=MINUS; alt_y=0; }; err_1 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name="gn_neg"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_2 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name="gn_pos"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_spacing=1; err_bar_width=0.02; color_mode=FIXED_COLOR; color_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_neg"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="ColorScale"; chunks=133; min=-1e-10; max=1e-10; range=1e-10; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_pos"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name=; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=1.4275: y=0.445: z=1.624621: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.637121; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["Go_NoGo_Group"] { name="Go_NoGo_Group"; m_data=NULL; visible=1; root_view { name=; m_data=NULL; m_transform=NULL; children { name=; el_typ=GraphTableView; el_def=0; GraphTableView @["Go_NoGo_Group_Graph"] { name="Go_NoGo_Group_Graph"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"]$$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name=; el_typ=GraphColView; el_def=0; GraphColView @["gn_pos_mean"] { name="gn_pos_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_pos_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_pos_sem"] { name="gn_pos_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_pos_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_neg_mean"] { name="gn_neg_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_neg_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_neg_sem"] { name="gn_neg_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_neg_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_A_R1_mean"] { name="gn_A_R1_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_A_R1_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_A_R1_sem"] { name="gn_A_R1_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_A_R1_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_B_R1_mean"] { name="gn_B_R1_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_B_R1_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["gn_B_R1_sem"] { name="gn_B_R1_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["Go_NoGo_Group"].data["gn_B_R1_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; view_rows=9999; view_range {min=0: max=0: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=LINE_AND_POINTS; negative_draw=0; negative_draw_z=0; line_width=2; point_size=MEDIUM; point_spacing=1; bar_space=0.2; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="gn_pos_mean"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=1; }; z_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name="gn_pos_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; plot_1 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_pos_mean"; fixed_range {fix_min=0: min=4.045941: fix_max=0: max=4.045941: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; plot_2 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_neg_mean"; fixed_range {fix_min=0: min=-0.6835046: fix_max=0: max=-0.6835046: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=0; }; plot_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; plot_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE; alt_y=0; }; plot_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; plot_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; plot_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; plot_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=MINUS; alt_y=0; }; err_1 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_pos_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_2 { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_neg_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_3 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_4 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_5 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_6 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_7 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_8 { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_spacing=1; err_bar_width=0.02; color_mode=FIXED_COLOR; color_axis { name=; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="ColorScale"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name=; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="gn_pos_mean"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name=; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=1.4275: y=0.445: z=1.624621: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.637121; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["EpochOutputData_Group"] { name="EpochOutputData_Group"; m_data=NULL; visible=1; root_view { name="T3DataViewRoot_0"; m_data=NULL; m_transform=NULL; children { name="T3DataView_List_0"; el_typ=GraphTableView; el_def=0; GraphTableView @["EpochOutputData_Group_Graph"] { name="EpochOutputData_Group_Graph"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["EpochOutputData_Group"]$$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name="T3DataView_List_0"; el_typ=GraphColView; el_def=0; GraphColView @["epoch_group"] { name="epoch_group"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["EpochOutputData_Group"].data["epoch_group"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["cnt_err_mean"] { name="cnt_err_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["EpochOutputData_Group"].data["cnt_err_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["cnt_err_sem"] { name="cnt_err_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["EpochOutputData_Group"].data["cnt_err_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["avg_cycles_mean"] { name="avg_cycles_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["EpochOutputData_Group"].data["avg_cycles_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["avg_cycles_sem"] { name="avg_cycles_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["EpochOutputData_Group"].data["avg_cycles_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; view_rows=10000; view_range {min=0: max=9: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=LINE; negative_draw=0; negative_draw_z=1; line_width=2; point_size=MEDIUM; point_spacing=1; bar_space=0.2; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name="GraphAxisView_16"; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="epoch_group"; fixed_range {fix_min=0: min=0: fix_max=0: max=9: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; z_axis { name="GraphAxisView_17"; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; plot_1 { name="GraphPlotView_64"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="cnt_err_mean"; fixed_range {fix_min=0: min=6.12: fix_max=0: max=9.88: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; plot_2 { name="GraphPlotView_65"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name="avg_cycles_mean"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=1; }; plot_3 { name="GraphPlotView_66"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; plot_4 { name="GraphPlotView_67"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE; alt_y=0; }; plot_5 { name="GraphPlotView_68"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; plot_6 { name="GraphPlotView_69"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; plot_7 { name="GraphPlotView_70"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; plot_8 { name="GraphPlotView_71"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=MINUS; alt_y=0; }; err_1 { name="GraphPlotView_72"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="cnt_err_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_2 { name="GraphPlotView_73"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="avg_cycles_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_3 { name="GraphPlotView_74"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_4 { name="GraphPlotView_75"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_5 { name="GraphPlotView_76"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_6 { name="GraphPlotView_77"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_7 { name="GraphPlotView_78"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_8 { name="GraphPlotView_79"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_spacing=1; err_bar_width=0.02; color_mode=VALUE_COLOR; color_axis { name="GraphAxisView_18"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="ColorScale_0"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name="GraphAxisView_19"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name="T3SavedView_List_12"; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=1.4275: y=0.7008334: z=1.990736: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=2.003236; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["TrialOutputData_Group"] { name="TrialOutputData_Group"; m_data=NULL; visible=1; root_view { name="T3DataViewRoot_0"; m_data=NULL; m_transform=NULL; children { name="T3DataView_List_0"; el_typ=GraphTableView; el_def=0; GraphTableView @["TrialOutputData_Group_Graph"] { name="TrialOutputData_Group_Graph"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"]$$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name="T3DataView_List_0"; el_typ=GraphColView; el_def=0; GraphColView @["trial_name_group"] { name="trial_name_group"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"].data["trial_name_group"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["epoch_group"] { name="epoch_group"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"].data["epoch_group"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["Output_sse_mean"] { name="Output_sse_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"].data["Output_sse_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["Output_sse_sem"] { name="Output_sse_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"].data["Output_sse_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["minus_cycles_mean"] { name="minus_cycles_mean"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"].data["minus_cycles_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["minus_cycles_sem"] { name="minus_cycles_sem"; m_data=.projects["BG_Gating_STARTHERE_632"].data.gp["AnalysisData"]["TrialOutputData_Group"].data["minus_cycles_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; view_rows=10000; view_range {min=0: max=19: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=LINE; negative_draw=0; negative_draw_z=0; line_width=2; point_size=MEDIUM; point_spacing=1; bar_space=0.2; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name="GraphAxisView_20"; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="epoch_group"; fixed_range {fix_min=0: min=0: fix_max=0: max=9: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; z_axis { name="GraphAxisView_21"; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name="trial_name_group"; fixed_range {fix_min=0: min=0: fix_max=0: max=19: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=1; }; plot_1 { name="GraphPlotView_80"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="Output_sse_mean"; fixed_range {fix_min=0: min=0.4822215: fix_max=0: max=0.9083395: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; plot_2 { name="GraphPlotView_81"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="minus_cycles_mean"; fixed_range {fix_min=0: min=50.028: fix_max=0: max=55.828: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=1; }; plot_3 { name="GraphPlotView_82"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; plot_4 { name="GraphPlotView_83"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE; alt_y=0; }; plot_5 { name="GraphPlotView_84"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; plot_6 { name="GraphPlotView_85"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; plot_7 { name="GraphPlotView_86"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; plot_8 { name="GraphPlotView_87"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=MINUS; alt_y=0; }; err_1 { name="GraphPlotView_88"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="Output_sse_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_2 { name="GraphPlotView_89"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="minus_cycles_sem"; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_3 { name="GraphPlotView_90"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_4 { name="GraphPlotView_91"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_5 { name="GraphPlotView_92"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_6 { name="GraphPlotView_93"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_7 { name="GraphPlotView_94"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_8 { name="GraphPlotView_95"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; err_spacing=1; err_bar_width=0.02; color_mode=FIXED_COLOR; color_axis { name="GraphAxisView_22"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="ColorScale_0"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name="GraphAxisView_23"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=0.8: g=0.8: b=0.8: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name="T3SavedView_List_14"; el_typ=T3SavedView; el_def=0; T3SavedView @["View_0"] { name="View_0"; view_saved=1; pos {x=1.41125: y=0.445: z=1.644644: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.657144; }; T3SavedView @["View_1"] { name="View_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_2"] { name="View_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_3"] { name="View_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_4"] { name="View_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["View_5"] { name="View_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; }; }; }; docks { name=; el_typ=ToolBoxDockViewer; el_def=0; ToolBoxDockViewer @["Tools"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["view_win_lft"] { name="view_win_lft"; value 6 0=0; val_type_fixed=0; }; UserDataItem @["view_win_top"] { name="view_win_top"; value 6 0=0.01094890478998423; val_type_fixed=0; }; UserDataItem @["view_win_wd"] { name="view_win_wd"; value 6 0=0.05277777835726738; val_type_fixed=0; }; UserDataItem @["view_win_ht"] { name="view_win_ht"; value 6 0=0.7104622721672058; val_type_fixed=0; }; UserDataItem @["view_win_iconified"] { name="view_win_iconified"; value 1 0=0; val_type_fixed=0; }; UserDataItem @["view_visible"] { name="view_visible"; value 1 0=1; val_type_fixed=0; }; }; name="Tools"; m_data=NULL; visible=1; dock_flags=DV_MOVABLE|DV_FLOATABLE; dock_area=1; }; }; }; }; save_view=1; save_as_only=0; auto_name=1; last_change_desc=" "; networks { name=; el_typ=LeabraNetwork; el_def=0; LeabraNetwork @["BGNet"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["cos_err"] { name="cos_err"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["norm_err"] { name="norm_err"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["ext_rew"] { name="ext_rew"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["maxda"] { name="maxda"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["minus_output_name"] { name="minus_output_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["minus_cycles"] { name="minus_cycles"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["ct_cycle"] { name="ct_cycle"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["phase_no"] { name="phase_no"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["phase"] { name="phase"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["sse"] { name="sse"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["output_name"] { name="output_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["trial_name"] { name="trial_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["group_name"] { name="group_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["time"] { name="time"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["cycle"] { name="cycle"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["tick"] { name="tick"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["trial"] { name="trial"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["group"] { name="group"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["epoch"] { name="epoch"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["batch"] { name="batch"; value 1 0=1; val_type_fixed=1; }; }; name="BGNet"; desc=; specs { name=; el_typ=ConSpec; el_def=0; ConSpec @["ConSpec_0"] { name="ConSpec_0"; desc=; unique{ }; children { name=; el_typ=ConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0: var=0.5: par=1: name="": }; wt_limits {type=NONE: min=-1: max=1: sym=0: }; }; BaseSpec_Group @.gp["LeabraPrjns"] { name="LeabraPrjns"; el_typ=LeabraUnitSpec; el_def=0; FullPrjnSpec @["FullPrjnSpec_0"] { name="FullPrjnSpec_0"; desc=; unique{ }; children { name=; el_typ=FullPrjnSpec; el_def=0; }; self_con=1; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; }; OneToOnePrjnSpec @["OneToOne"] { name="OneToOne"; desc=; unique{ self_con; }; children { name=; el_typ=OneToOnePrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; n_conns=-1; recv_start=0; send_start=0; }; TesselPrjnSpec @["Striatum_GPext"] { name="Striatum_GPext"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; TesselPrjnSpec @["PFC_Act_Deep"] { name="PFC_Act_Deep"; desc=; unique{ send_scale; }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=0: }; send_off {x=1: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[12] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[13] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[14] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[15] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[16] { send_off {x=1: y=8: }; wt_val=1; }; TessEl @[17] { send_off {x=1: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=1: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[12] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[13] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[14] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[15] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[16] { send_off {x=1: y=8: }; wt_val=1; }; TessEl @[17] { send_off {x=1: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["dMatrosomesGP"] { name="dMatrosomesGP"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[5] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=6: }; wt_val=1; }; TessEl @[7] { send_off {x=0: y=7: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["SNc_GO"] { name="SNc_GO"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=2: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["MotorCortex_Striatum"] { name="MotorCortex_Striatum"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=1: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["SNc_NOGO"] { name="SNc_NOGO"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=2: y=0: }; recv_n {x=2: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Striatum_GPInt"] { name="Striatum_GPInt"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=5: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[5] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=6: }; wt_val=1; }; TessEl @[7] { send_off {x=0: y=7: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["MotorCortex_NoGoStriatum"] { name="MotorCortex_NoGoStriatum"; desc=; unique{ }; children { name=; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=2: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name=; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; OneToOnePrjnSpec @["OneToOne_2"] { name="OneToOne_2"; desc=; unique{ self_con; }; children { name=; el_typ=OneToOnePrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; n_conns=-1; recv_start=0; send_start=2; }; }; BaseSpec_Group @.gp["Connections"] { name="Connections"; el_typ=LeabraUnitSpec; el_def=0; LeabraBiasSpec @["LearnBias"] { name="LearnBias"; desc=; unique{ rnd;wt_limits;wt_scale;wt_scale_init; }; children { name=; el_typ=LeabraBiasSpec; el_def=0; LeabraBiasSpec @["FixedBias"] { name="FixedBias"; desc=; unique{ lrate;wt_limits;wt_scale;wt_scale_init; }; children { name=; el_typ=LeabraBiasSpec; el_def=0; }; rnd {type=UNIFORM: mean=0: var=0: par=1: name="": }; wt_limits {type=NONE: min=-1: max=5: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0: err=1: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.001: norm_con_n=1: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; dwt_thresh=0.1; }; }; rnd {type=UNIFORM: mean=0: var=0: par=1: name="": }; wt_limits {type=NONE: min=-1: max=5: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.01; cur_lrate=0.01; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0: err=1: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.001: norm_con_n=1: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; dwt_thresh=0.1; }; LeabraConSpec @["FixedFull"] { name="FixedFull"; desc=; unique{ rnd; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=1: var=0: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.67: rel=3: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["GPeGPiInhib"] { name="GPeGPiInhib"; desc=; unique{ rnd;inhib; }; children { name=; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["ThalInhib"] { name="ThalInhib"; desc=; unique{ wt_scale;wt_sig;savg_cor; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=1: var=0: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.33: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Inhib_Learn"] { name="Inhib_Learn"; desc=; unique{ rnd;wt_scale;lrate; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.35: var=0.1: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=8: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=1e-5; cur_lrate=1e-5; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {type=UNIFORM: mean=1: var=0: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=1.75: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Fixed"] { name="Fixed"; desc=; unique{ rnd; }; children { name=; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["MotorCortex_Striatum"] { name="MotorCortex_Striatum"; desc=; unique{ rnd;wt_limits;wt_scale;savg_cor;lrate; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.5: var=0.06: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.85: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Motor_NoGo"] { name="Motor_NoGo"; desc=; unique{ rnd;wt_limits;wt_scale;savg_cor;lrate; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.5: var=0.06: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.85: rel=0.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Input_Motor_Prepotent_"] { name="Input_Motor_Prepotent_"; desc=; unique{ rnd;wt_scale;lrate;lmix; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.35: var=0.005: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=3: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=1e-5; cur_lrate=1e-5; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=1: err=0: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["InputStriatum"] { name="InputStriatum"; desc=; unique{ rnd;wt_scale;lrate;savg_cor; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.5: var=0.25: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.85: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.001; cur_lrate=0.001; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.001: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {type=UNIFORM: mean=0.1: var=0.01: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.001; cur_lrate=0.0075; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Dopamine_D1_"] { name="Dopamine_D1_"; desc=; unique{ rnd; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.5: var=0: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.4: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["SNc_Inhib_D2_"] { name="SNc_Inhib_D2_"; desc=; unique{ rnd;inhib; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=1: var=0: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.1: rel=0.75: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Inhib"] { name="Inhib"; desc=; unique{ rnd;inhib; }; children { name=; el_typ=LeabraConSpec; el_def=0; }; rnd {type=UNIFORM: mean=0.7: var=0: par=1: name="": }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=3: rel=2.25: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: norm_con_n=0: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; BaseSpec_Group @.gp["Units"] { name="Units"; el_typ=LeabraUnitSpec; el_def=0; LeabraUnitSpec @["FixedBiasUnitSpec"] { name="FixedBiasUnitSpec"; desc=; unique{ opt_thresh; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; LeabraUnitSpec @["GPExt_UnitSpec"] { name="GPExt_UnitSpec"; desc=; unique{ bias_spec;act;opt_thresh;v_m_init;dt;g_bar;e_rev; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.26: var=0: par=1: name="": }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=2.5: h=0.1: a=0.5: }; e_rev {e=1: l=0.255: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["OutputUnitSpec"] { name="OutputUnitSpec"; desc=; unique{ bias_spec;act;opt_thresh;g_bar;dt; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.2: gain=50: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.05: net=0.4: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=20: net_time=2.5: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1: h=0.1: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["Thalamus"] { name="Thalamus"; desc=; unique{ bias_spec;opt_thresh;dt;g_bar; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.1: net=0.5: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=2: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=0.5: l=0.07: i=1.7: h=0.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["LearnBiasUnitSpec"] { name="LearnBiasUnitSpec"; desc=; unique{ bias_spec; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; LeabraUnitSpec @["matrisom_unitspec"] { name="matrisom_unitspec"; desc=; unique{ bias_spec;act;opt_thresh;g_bar;act_reg;noise_type;noise;dt;noise_adapt; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.26: gain=300: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.04: net=0.5: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=25: net_time=2: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=VM_NOISE; noise {type=GAUSSIAN: mean=0: var=0: par=1: name="": }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["Motor_Cortex_unitspec"] { name="Motor_Cortex_unitspec"; desc=; unique{ bias_spec;opt_thresh;dt;acc;noise_type;noise;noise_sched;noise_adapt; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.05: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=20: net_time=1.428571: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.005: b_dec_dt=0.01: a_thr=0.25: d_thr=0.1: g_dt=0.1: init=1: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=VM_NOISE; noise {type=GAUSSIAN: mean=0: var=0.0015: par=1: name="": }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=SCHED_CYCLES: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; SchedItem @[0] { start_ctr=0; start_val=1; duration=25; step=0; }; SchedItem @[1] { start_ctr=25; start_val=1; duration=55; step=-0.009090909; }; SchedItem @[2] { start_ctr=80; start_val=0.5; duration=20; step=-0.015; }; SchedItem @[3] { start_ctr=100; start_val=0.2; duration=1; step=1; }; }; }; LeabraUnitSpec @["STN_unitspec"] { name="STN_unitspec"; desc=; unique{ bias_spec;act;opt_thresh;v_m_init;dt;g_bar;e_rev;noise_type;noise; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.25: var=0: par=1: name="": }; dt {integ=1: vm=0.045: net=0.17: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=22.22222: net_time=5.882353: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1: h=0.1: a=0.5: }; e_rev {e=1: l=0.2: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0.0015: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"]$$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["GPInt_UnitSpec"] { name="GPInt_UnitSpec"; desc=; unique{ bias_spec;opt_thresh;v_m_init;dt;g_bar;e_rev; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.26: var=0: par=1: name="": }; dt {integ=1: vm=0.2: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=5: net_time=1.428571: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=4: i=1: h=0.1: a=0.5: }; e_rev {e=1: l=0.275: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {type=GAUSSIAN: mean=0: var=0.001: par=1: name="": }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["SNc_UnitSpec"] { name="SNc_UnitSpec"; desc=; unique{ opt_thresh; }; children { name=; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=200: nvar=0.005: avg_dt=0.005: avg_init=0.15: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=1: decay=0.05: g_gain=4: window=20: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {type=UNIFORM: mean=0.15: var=0: par=1: name="": }; dt {integ=1: vm=0.95: net=1: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=1.052632: net_time=1: }; act_avg {l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; dt_time=142.8571; }; depress {on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: interval=1: max_amp=2: }; syn_delay { on=0; delay=4; }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NETIN_NOISE; noise {type=GAUSSIAN: mean=0.0015: var=0.002: par=1: name="": }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name=; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; }; BaseSpec_Group @.gp["LayerSpecs"] { name="LayerSpecs"; el_typ=LeabraUnitSpec; el_def=0; LeabraLayerSpec @["LayerSpec_0"] { name="LayerSpec_0"; desc=; unique{ kwta; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; LeabraLayerSpec @["Matrisome_layerspec"] { name="Matrisome_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;clamp;decay;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.5; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=3: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=0: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["GP_layerspec"] { name="GP_layerspec"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=1: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Thalamus_layerspec"] { name="Thalamus_layerspec"; desc=; unique{ kwta;compute_i;decay;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=0: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Output_layerspec"] { name="Output_layerspec"; desc=; unique{ kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=1: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { name="PFC_Out_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=LAY_AND_GPS; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.5; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=1: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["InputLayer"] { name="InputLayer"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.25; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=1: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["SNc_layerspec"] { name="SNc_layerspec"; desc=; unique{ kwta;compute_i;clamp;inhib;decay; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=0: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=3: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=1: phase=1: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["NoDecayLayers"] { name="NoDecayLayers"; desc=; unique{ }; children { name=; el_typ=LeabraLayerSpec; el_def=0; LeabraLayerSpec @["STN"] { name="STN"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=0: phase=0: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["PFCIn_layerspec"] { name="PFCIn_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name=; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=LAY_AND_GPS; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=5: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=0: phase=0: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.25; avg_boost=0; low0=0; min_i=0; comp_thr=0.5; comp_gain=2; gp_pt=0.2; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: gp_g=0.5: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: }; decay {event=0: phase=0: phase2=0: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; }; layers { name=; el_typ=LeabraLayer; el_def=0; pos {x=0: y=0: z=0: }; pos2d {x=0: y=0: }; max_disp_size {x=14: y=9: z=3: }; max_disp_size2d {x=8: y=26: }; LeabraLayer @["Input"] { name="Input"; desc=; flags=0; layer_type=INPUT; pos {x=1: y=0: z=2: }; pos2d {x=0: y=0: }; disp_scale=1; un_geom {x=5: y=5: n_not_xy=0: n=25: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=5: y=5: n_not_xy=0: n=25: }; disp_geom {x=5: y=5: n_not_xy=0: n=25: }; scaled_disp_geom {x=5: y=5: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"].projections["Fm_Input"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"].projections["Fm_Input"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["InputLayer"]$$: }; }; LeabraLayer @["Striatum"] { name="Striatum"; desc=; flags=0; layer_type=HIDDEN; pos {x=1: y=0: z=1: }; pos2d {x=0: y=10: }; disp_scale=1; un_geom {x=4: y=9: n_not_xy=0: n=36: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=4: y=9: n_not_xy=0: n=36: }; disp_geom {x=4: y=9: n_not_xy=0: n=36: }; scaled_disp_geom {x=4: y=9: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Input"] { name="Fm_Input"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Input"]$$; spec {type=FullPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["Fixed"].children["InputStriatum"]$$: }; recv_idx=0; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_SNc_1"] { name="Fm_SNc_1"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["SNc"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["SNc_GO"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["Dopamine_D1_"]$$: }; recv_idx=1; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_SNc"] { name="Fm_SNc"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["SNc"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["SNc_NOGO"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["SNc_Inhib_D2_"]$$: }; recv_idx=2; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Motor_Cortex_3"] { name="Fm_Motor_Cortex_3"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["MotorCortex_NoGoStriatum"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["Fixed"].children["Motor_NoGo"]$$: }; recv_idx=3; send_idx=3; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Motor_Cortex"] { name="Fm_Motor_Cortex"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["MotorCortex_Striatum"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["Fixed"].children["MotorCortex_Striatum"]$$: }; recv_idx=4; send_idx=4; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["GP_Int"].projections["Fm_Striatum"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["GP_Ext"].projections["Fm_Striatum"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["matrisom_unitspec"]$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Matrisome_layerspec"]$$: }; }; LeabraLayer @["SNc"] { name="SNc"; desc=; flags=0; layer_type=INPUT; pos {x=2: y=0: z=0: }; pos2d {x=0: y=6: }; disp_scale=1; un_geom {x=2: y=2: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=2: n_not_xy=0: n=4: }; disp_geom {x=2: y=2: n_not_xy=0: n=4: }; scaled_disp_geom {x=2: y=2: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"].projections["Fm_SNc_1"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"].projections["Fm_SNc"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["SNc_UnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["SNc_layerspec"]$$: }; }; LeabraLayer @["GP_Int"] { name="GP_Int"; desc=; flags=0; layer_type=HIDDEN; pos {x=6: y=0: z=0: }; pos2d {x=6: y=9: }; disp_scale=1; un_geom {x=2: y=2: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=2: n_not_xy=0: n=4: }; disp_geom {x=2: y=2: n_not_xy=0: n=4: }; scaled_disp_geom {x=2: y=2: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Striatum"] { name="Fm_Striatum"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["GPeGPiInhib"].children["Inhib_Learn"]$$: }; recv_idx=0; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_GP_Ext"] { name="Fm_GP_Ext"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["GP_Ext"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["Striatum_GPext"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["GPeGPiInhib"]$$: }; recv_idx=1; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Thalamus"].projections["Fm_GP_Int"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["GPInt_UnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["GP_layerspec"]$$: }; }; LeabraLayer @["GP_Ext"] { name="GP_Ext"; desc=; flags=0; layer_type=HIDDEN; pos {x=6: y=4: z=0: }; pos2d {x=6: y=12: }; disp_scale=1; un_geom {x=2: y=1: n_not_xy=0: n=2: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=1: n_not_xy=0: n=2: }; disp_geom {x=2: y=1: n_not_xy=0: n=2: }; scaled_disp_geom {x=2: y=1: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Striatum"] { name="Fm_Striatum"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["Striatum_GPext"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["Inhib"]$$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["GP_Int"].projections["Fm_GP_Ext"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["GPExt_UnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["GP_layerspec"]$: }; }; LeabraLayer @["Thalamus"] { name="Thalamus"; desc=; flags=0; layer_type=HIDDEN; pos {x=12: y=0: z=1: }; pos2d {x=0: y=21: }; disp_scale=1; un_geom {x=2: y=1: n_not_xy=0: n=2: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=1: n_not_xy=0: n=2: }; disp_geom {x=2: y=1: n_not_xy=0: n=2: }; scaled_disp_geom {x=2: y=1: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_GP_Int"] { name="Fm_GP_Int"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["GP_Int"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["dMatrosomesGP"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["GPeGPiInhib"].children["ThalInhib"]$$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Motor_Cortex"] { name="Fm_Motor_Cortex"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["dMatrosomesGP"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["FixedFull"]$$: }; recv_idx=1; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"].projections["Fm_Thalamus"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["Thalamus"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Thalamus_layerspec"]$$: }; }; LeabraLayer @["Motor_Cortex"] { name="Motor_Cortex"; desc=; flags=NO_ADD_SSE|NO_ADD_COMP_SSE; layer_type=TARGET; pos {x=10: y=0: z=2: }; pos2d {x=0: y=24: }; disp_scale=1; un_geom {x=2: y=2: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=2: n_not_xy=0: n=4: }; disp_geom {x=2: y=2: n_not_xy=0: n=4: }; scaled_disp_geom {x=2: y=2: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Thalamus"] { name="Fm_Thalamus"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Thalamus"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["dMatrosomesGP"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["FixedFull"]$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Input"] { name="Fm_Input"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Input"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["Fixed"].children["Input_Motor_Prepotent_"]$$: }; recv_idx=1; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Thalamus"].projections["Fm_Motor_Cortex"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Output"].projections["Fm_Motor_Cortex_0"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Output"].projections["Fm_Motor_Cortex"]; Projection_Group @. = [3] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"].projections["Fm_Motor_Cortex_3"]; Projection_Group @. = [4] = LeabraPrjn .projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Striatum"].projections["Fm_Motor_Cortex"]; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["Motor_Cortex_unitspec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"]$$: }; }; LeabraLayer @["Output"] { name="Output"; desc=; flags=0; layer_type=TARGET; pos {x=8: y=6: z=2: }; pos2d {x=4: y=21: }; disp_scale=1; un_geom {x=2: y=1: n_not_xy=0: n=2: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=1: n_not_xy=0: n=2: }; disp_geom {x=2: y=1: n_not_xy=0: n=2: }; scaled_disp_geom {x=2: y=1: n_not_xy=0: n=1: }; projections { name=; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Motor_Cortex_0"] { name="Fm_Motor_Cortex_0"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["FixedFull"]$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Motor_Cortex"] { name="Fm_Motor_Cortex"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].layers["Motor_Cortex"]$; spec {type=OneToOnePrjnSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LeabraPrjns"]["OneToOne_2"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Connections"]["FixedFull"]$: }; recv_idx=1; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; trg_netin_rel=-1; }; }; send_prjns { name=; el_typ=LeabraPrjn; el_def=0; }; units { name=; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["Units"]["FixedBiasUnitSpec"].children["OutputUnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_Gating_STARTHERE_632"].networks["BGNet"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Output_layerspec"]$$: }; }; }; view_objs { name=; el_typ=NetViewObj; el_def=0; }; flags=NETIN_PER_PRJN; auto_build=AUTO_BUILD; brain_atlas_name=; train_mode=TRAIN; wt_update=ON_LINE; small_batch_n=10; sse_unit_avg=0; sse_sqrt=0; cnt_err_tol=0; compute_prerr=0; threads { run_time {name="": s_used=0: n_used=0: }; sync_time {name="": s_used=0: n_used=0: }; total_time {name="": s_used=0: n_used=0: }; n_wake_in_sync=0; run_time_pct=0; sync_time_pct=0; wake_in_sync_pct=1.39553556246857e+228; interleave=1; ignore_lay_sync=0; }; dmem_sync_level=DMEM_SYNC_NETWORK; dmem_nprocs=1; usr1_save_fmt=FULL_NET; wt_save_fmt=TEXT; n_units=79; n_cons=1328; max_prjns=5; max_disp_size {x=14: y=9: z=3: }; max_disp_size2d {x=8: y=26: }; learn_rule=LEABRA_CHL; ti_mode=0; phase_order=MINUS_PLUS; no_plus_test=1; sequence_init=DO_NOTHING; phase_max=2; time_inc=1; cycle_max=15; mid_minus_cycle=-1; min_cycles=15; min_cycles_phase2=35; dwt_norm_enabled=0; ct_time { use=0; minus=50; plus=20; inhib=1; n_avg_only_epcs=0; total_cycles=71; inhib_start=70; }; ct_sravg { manual=0; start=30; end=1; interval=1; plus_s_st=19; plus_s_only=0; force_con=0; }; ct_sin_i { start=30; duration=20; n_pi=2; burst_i=0.02; trough_i=0.02; }; ct_fin_i { start=20; end=25; inhib_i=0; }; ct_lrn_trig { plus_lrn_cyc=-1; davg_dt=0.1; davg_s_dt=0.05; davg_m_dt=0.03; davg_l_dt=0.0005; thr_min=0; thr_max=0.5; loc_max_cyc=8; loc_max_dec=0.01; lrn_delay=40; lrn_refract=100; davg_l_init=0; davg_max_init=0.001; davg_time=10; davg_s_time=20; davg_m_time=33.33334; davg_l_time=2000; lrn_delay_inc=0.025; lrn_refract_inc=0.01; }; lrn_trig { davg=0; davg_s=0; davg_m=0; davg_smd=0; davg_l=0; davg_max=0.001; cyc_fm_inc=0; cyc_fm_dec=0; loc_max=0; lrn_max=0; lrn_trig=0; lrn=0; }; net_misc { cyc_syn_dep=0; syn_dep_int=20; }; maxda_stopcrit=0.005; trg_max_act_stopcrit=1; norew_val=0.5; off_errs=1; on_errs=1; cos_err_lrn_thr=-1; }; }; };