Skip to content
TaskPipeline_v01_MR.m 2.92 KiB
Newer Older
 % Main script for the state switching EEG experiment (September 2017)

 % TO DO:
 % - encode if EEG/MR
 % - include MR onset trigger in resting state
 % - preallocate randomization
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% enter subject ID & task variant %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

prompt = {'Enter subject ID:','Enter paradigm (dynamic/words/visual):'};
dlg_title = 'StateSwitch Input';
num_lines = 1;
defaultans = {'0000','dynamic'};
answer = inputdlg(prompt,dlg_title,num_lines,defaultans);

setup.subj = answer{1}; % task materials: 'words', 'visual', 'dynamic'
setup.task = answer{2};

disp(['Continuing with subject ',setup.subj, ' and ', setup.task, ' task version.']);

%% add required paths

if ispc
    pn.root = ['D:',filesep,'Dokumente und Einstellungen',filesep,'guest',filesep,'Desktop',filesep,'StateSwitchMR',filesep,'C_Paradigm',filesep];
else
    disp('Setup no supported.');
    %pn.root = [filesep,'Volumes',filesep,'LNDG',filesep,'stateSwitch',filesep,'B_paradigm',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

setup.subjectsPath = [pn.root,filesep,'data',filesep, setup.subj '_MR_' datestr(now, 'yymmdd_HHMM') filesep]; mkdir(setup.subjectsPath);

diary([setup.subjectsPath, setup.subj, '_ptbnotes_setup.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

% %% practice task
% 
% questdlg('Ready for Switch Practice?', 'Practice','YES!','YES!');
% 
% cd(pn.root);
% setup = StateSwitch_settingsTaskPractice(setup);
% expInfo = []; expInfo = eval(['StateSwitch_createExpInfo_',setup.task,'_170911']);
% StateSwitch_practice_170911(expInfo, setup);

%% run state switching task

questdlg('Ready for Switch Task?', 'Task','YES!','YES!');

cd(pn.root);
setup = StateSwitch_settingsTask_MR(setup);
%expInfo = []; expInfo = eval(['StateSwitch_createExpInfo_',setup.task,'_170911']);
load('D:\Dokumente und Einstellungen\guest\Desktop\StateSwitchMR\C_Paradigm\data\1210_170914_1308\1210_StateSwitch_dynamic_170914_1337.mat', 'expInfo');
StateSwitch_experiment_170911(expInfo, setup)

%% resting state

questdlg('Ready for Resting State?', 'Rest','YES!','YES!');

setup = StateSwitch_settingsResting_MR(setup);
StateSwitch_resting_170829(setup)