Newer
Older
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
% practice and task of state switching variant
%%%%%%%%%%%%%%%%%%%%%%
%% enter subject ID %%
%%%%%%%%%%%%%%%%%%%%%%
subj = '0013_TEST';
%%%%%%%%%%%%%%%%%%%%%%%%
%% enter task variant %%
%%%%%%%%%%%%%%%%%%%%%%%%
setup.task = 'dynamic'; % task materials: 'words', 'visual', 'dynamic'
%% add required paths
if ispc
pn.root = ['C:',filesep,'Users',filesep,'eeg',filesep,'Desktop',filesep,'StateSwitchEEG',filesep,'C_Paradigm',filesep];
else
pn.root = [filesep,'Volumes',filesep,'LNDG',filesep,'Julian',filesep,'Projects',filesep,'StateSwitchEEG',filesep,'C_Paradigm',filesep];
end
pn.CB = [pn.root, 'checker',filesep]; addpath(pn.CB);
pn.MAT = [pn.root, 'dotsx',filesep]; addpath(pn.MAT);
pn.SS = [pn.root, 'StateSwitch',filesep]; addpath(pn.SS);
pn.Stroop = [pn.root, 'Stroop',filesep]; addpath(pn.Stroop);
addpath(genpath([pn.root, 'functions',filesep]));
addpath(genpath([pn.root, 'helper',filesep]));
if ispc
addpath(['C:',filesep,'toolbox',filesep,'Psychtoolbox']); % PTB 3.0.11
else
addpath(genpath('/Users/Shared/Psychtoolbox/')); % PTB 3.0.13 (160606)
end
%% create results directory
subjectsPath = [pn.root,filesep,'data',filesep, subj '_' datestr(now, 'yymmdd_HHMM') filesep]; mkdir(subjectsPath);
diary([subjectsPath, '_ptbnotes.txt']); version
%% set up PTB
if ispc
Screen('Preference', 'SkipSyncTests', 0);
else
Screen('Preference', 'SkipSyncTests', 1);
oldLevel = Screen('Preference', 'Verbosity', 4); % output debugging info
PsychDebugWindowConfiguration(0,0.3)
% setenv('PSYCH_ALLOW_DANGEROUS', '1');
end
%% settings for Stroop & practice
setup.subj = subj;
setup.DEBUG = 0;
setup.opacity = .6;
setup.keyB = 1; % number of available keyboards
setup.ET.useET = 0;
setup.EEG.useEEG = 0;
setup.EEG.DIO.parallelTrigger = 0;
setup.EEG.DIO.protocolDynamic = 0;
setup.EEG.waitTrigEnc = .005; % wait 5 ms to ensure encoding of trigger
setup.MR.useMR = 0;
setup.ET.falsePupilRec = 'no';
setup.ET.ELdummymode = 0;
setup.pr.ntrials_single = 5; % amount of practice trials: single
setup.pr.ntrials_conj = 8; % amount of practice trials: conjunctions
setup.screen = 1;
%% perform Stroop task
Stroop_170904(subjectsPath, setup)
%% settings for resting state
setup.DEBUG = 0;
setup.opacity = .4;
setup.keyB = 1;
setup.ET.useET = 0;
setup.EEG.useEEG = 1;
setup.EEG.DIO.parallelTrigger = 1;
setup.EEG.DIO.protocolDynamic = 1;
setup.EEG.waitTrigEnc = .005; % wait 5 ms to ensure encoding of trigger
setup.MR.useMR = 0;
setup.ET.falsePupilRec = 'no';
setup.ET.ELdummymode = 0;
setup.screen = 1;
%% resting state
expInfo = [];
expInfo = eval(['StateSwitch_createExpInfo_',setup.task,'_170829']);
expInfo.dataDir = subjectsPath;
StateSwitch_resting_170829(expInfo, subj, setup)
%% settings for Stroop & practice
setup.subj = subj;
setup.DEBUG = 0;
setup.opacity = .6;
setup.keyB = 1; % number of available keyboards
setup.ET.useET = 0;
setup.EEG.useEEG = 0;
setup.EEG.DIO.parallelTrigger = 0;
setup.EEG.DIO.protocolDynamic = 0;
setup.EEG.waitTrigEnc = .005; % wait 5 ms to ensure encoding of trigger
setup.MR.useMR = 0;
setup.ET.falsePupilRec = 'no';
setup.ET.ELdummymode = 0;
setup.pr.ntrials_single = 5; % amount of practice trials: single
setup.pr.ntrials_conj = 8; % amount of practice trials: conjunctions
setup.screen = 1;
%% practice task
cd(pn.root);
expInfo = [];
expInfo = eval(['StateSwitch_createExpInfo_',setup.task,'_170829']);
expInfo.dataDir = subjectsPath;
cursubj = [subj, '_MAT_Practice']; P = [];
StateSwitch_practice_170829(expInfo, cursubj, setup, P);
%% settings for task
setup.DEBUG = 0;
setup.opacity = .4;
setup.keyB = 1;
setup.ET.useET = 1;
setup.EEG.useEEG = 1;
setup.EEG.DIO.parallelTrigger = 1;
setup.EEG.DIO.protocolDynamic = 1;
setup.EEG.waitTrigEnc = .005; % wait 5 ms to ensure encoding of trigger
setup.MR.useMR = 0;
setup.ET.falsePupilRec = 'no';
setup.ET.ELdummymode = 0;
setup.screen = 1;
setup.subjectpath = subjectsPath;
%% run state switching task
cd(pn.root);
expInfo = [];
expInfo = eval(['StateSwitch_createExpInfo_',setup.task,'_170829']);
expInfo.dataDir = [pn.root, 'data', filesep];
cursubj = [subj, '_StateDims_', setup.task];
StateSwitch_experiment_170829(expInfo, cursubj, setup)