Skip to content
TaskPipeline_v11_eeg.m 4.84 KiB
Newer Older
Julian Kosciessa's avatar
Julian Kosciessa committed
% 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)