-
Notifications
You must be signed in to change notification settings - Fork 1
/
s_Make_Pilot_Visual_Experiments.m
92 lines (72 loc) · 3.62 KB
/
s_Make_Pilot_Visual_Experiments.m
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
% Make Pilot Visual Experiment Files
% Currently impleme
% 1. Six category localizer
% 2. Six category localizer temporal
% 3. Object detection
% 4. Scene face lateral
% Other options (To do):
% 5. Eight category localizer
% 6. Kalanit category localizer
% 7. Kravitz scene categories
% 8. Bonner scene affordance
% Prompt for ExperimentSpecs
[experimentSpecs, whichSite, selectionMade] = pilotExperimentSpecs('prompt', true);
if ~selectionMade, return; end
% Which experiment to make?
[experimentType, selectionMade] = pilotWhichExperimentVisual();
if ~selectionMade, return; end
% Generate stimulus template
% max stimulus radius (in deg)
% 16.6º is the height of the screen for the 3T display at Utrecht,
% which is the smallest FOV among NYU-3T, UMC-3T, NYU-ECoG, UMC-ECoG,
% NYU-MEG
TR = 0.850; % ms
stimDiameterDeg = 16.6; % degrees
stimParams = stimInitialize(experimentSpecs, whichSite, stimDiameterDeg);
switch experimentType
case {'SIXCATLOC', 'SIXCATLOCTEMPORAL'} %
% Make SIXCATLOC experiment
% We have two unique sets of stimuli for even and odd runs.
% Stimulus order is randomized across runs.
% For temporal, assignment of temporal condition to image is fixed
% with a seed based on runnumber.
% Fixation sequence is generated anew for each run.
numberOfRuns = 2;
onsetTimeMultiple = 0.170; % make the onsets multiple of 170 ms, which is 1/5 of the TR (fMRI experiments only)
for runNum = 1:numberOfRuns
stimMakeLocalizerExperiment(stimParams, runNum, experimentType, onsetTimeMultiple, TR);
end
case {'SIXCATLOCISIDIFF'} %
% We have two unique sets of stimuli for even and odd runs.
% Stimulus order is randomized across runs.
% For temporal, assignment of temporal condition to image is fixed
% with a seed based on runnumber.
% Fixation sequence is generated anew for each run.
numberOfRuns = 2;
onsetTimeMultiple = 0.170; % make the onsets multiple of 170 ms, which is 1/5 of the TR (fMRI experiments only)
for runNum = 1:numberOfRuns
stimMakeLocalizerISIExperiment(stimParams, runNum, experimentType, onsetTimeMultiple, TR);
end
case {'OBJECTDETECTION'} %
% Make OBJECTDETECTION experiment
% Stimulus order is randomized across runs.
% Currently all 480 stimuli are loaded, subselection may be better.
% Fixation sequence is generated anew for each run.
numberOfRuns = 2;
onsetTimeMultiple = 0.170; % make the onsets multiple of 170 ms, which is 1/5 of the TR (fMRI experiments only)
for runNum = 1:numberOfRuns
stimMakeSceneExperiment(stimParams, runNum, experimentType, onsetTimeMultiple, TR);
end
case {'SCENEFACELATERAL'} %
% Make SCENEFACELATERAL experiment
stimDiameterDeg = 20; % degrees
stimParams = stimInitialize(experimentSpecs, whichSite, stimDiameterDeg);
% Stimulus order is randomized across runs.
% Currently all 480 stimuli are loaded, subselection may be better.
% Fixation sequence is generated anew for each run.
numberOfRuns = 2;
onsetTimeMultiple = 0.170; % make the onsets multiple of 170 ms, which is 1/5 of the TR (fMRI experiments only)
for runNum = 1:numberOfRuns
stimMakeLateralVisualExperiment(stimParams, runNum, experimentType, onsetTimeMultiple, TR);
end
end