Skip to content

Commit c2ac97f

Browse files
committed
expParams to cfg
1 parent 9ff5d24 commit c2ac97f

File tree

8 files changed

+109
-111
lines changed

8 files changed

+109
-111
lines changed

checkCFG.m

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
function [cfg, expParameters] = checkCFG(cfg, expParameters)
1+
function cfg = checkCFG(cfg)
22
% check that we have all the fields that we need in the experiment parameters
33

44
checkCppBidsDependencies();
55

66
if nargin < 1 || isempty(cfg)
77
cfg = struct();
88
end
9-
if nargin < 2 || isempty(expParameters)
10-
expParameters = struct();
11-
end
9+
1210

1311
%% set the expParameters defaults
1412

@@ -24,35 +22,35 @@
2422
fieldsToSet.sessionNb = 1; % in case no session was provided
2523
fieldsToSet.askGrpSess = [true true];
2624

27-
expParameters = setDefaultFields(expParameters, fieldsToSet);
25+
cfg = setDefaultFields(cfg, fieldsToSet);
2826

2927
%% BIDS
3028
clear fieldsToSet;
3129
fieldsToSet.bids = struct();
32-
expParameters = setDefaultFields(expParameters, fieldsToSet);
30+
cfg = setDefaultFields(cfg, fieldsToSet);
3331

3432
clear fieldsToSet;
3533
fieldsToSet.MRI = struct();
3634
fieldsToSet.datasetDescription = struct();
37-
expParameters.bids = setDefaultFields(expParameters.bids, fieldsToSet);
35+
cfg.bids = setDefaultFields(cfg.bids, fieldsToSet);
3836

3937
clear fieldsToSet;
4038
fieldsToSet = datasetDescriptionDefaults();
4139

42-
expParameters.bids.datasetDescription = ...
43-
setDefaultFields(expParameters.bids.datasetDescription, fieldsToSet);
40+
cfg.bids.datasetDescription = ...
41+
setDefaultFields(cfg.bids.datasetDescription, fieldsToSet);
4442

4543
clear fieldsToSet;
4644
fieldsToSet = mriJsonDefaults();
47-
if isfield(expParameters, 'task')
48-
fieldsToSet.TaskName = expParameters.task;
45+
if isfield(cfg, 'task')
46+
fieldsToSet.TaskName = cfg.task;
4947
end
5048

51-
expParameters.bids.MRI = ...
52-
setDefaultFields(expParameters.bids.MRI, fieldsToSet);
49+
cfg.bids.MRI = ...
50+
setDefaultFields(cfg.bids.MRI, fieldsToSet);
5351

5452
% sort fields alphabetically
55-
expParameters = orderfields(expParameters);
53+
cfg = orderfields(cfg);
5654

5755
%% set the cfg defaults
5856

convertSourceToRaw.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
function convertSourceToRaw(expParameters)
1+
function convertSourceToRaw(cfg)
22

3-
sourceDir = fullfile(expParameters.outputDir, 'source');
4-
rawDir = fullfile(expParameters.outputDir, 'rawdata');
3+
sourceDir = fullfile(cfg.outputDir, 'source');
4+
rawDir = fullfile(cfg.outputDir, 'rawdata');
55

66
% add dummy readme and change file
77
copyfile(fullfile('..', 'dummyData', 'README'), sourceDir);

createBoldJson.m

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
function createBoldJson(expParameters)
1+
function createBoldJson(cfg)
22

33
opts.Indent = ' ';
44

5-
fileName = strrep(expParameters.fileName.events, '_events', '_bold');
5+
fileName = strrep(cfg.fileName.events, '_events', '_bold');
66
fileName = strrep(fileName, '.tsv', '.json');
77

88
fileName = fullfile( ...
9-
expParameters.subjectOutputDir, ...
10-
expParameters.modality, ...
9+
cfg.subjectOutputDir, ...
10+
cfg.modality, ...
1111
fileName);
1212

13-
jsonContent = expParameters.bids.MRI;
13+
jsonContent = cfg.bids.MRI;
1414

1515
bids.util.jsonencode(fileName, jsonContent, opts);
1616

createDataDictionary.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
function createDataDictionary(expParameters, logFile)
1+
function createDataDictionary(cfg, logFile)
22

33
opts.Indent = ' ';
44

5-
fileName = strrep(expParameters.fileName.events, '.tsv', '.json');
5+
fileName = strrep(cfg.fileName.events, '.tsv', '.json');
66

77
fileName = fullfile( ...
8-
expParameters.subjectOutputDir, ...
9-
expParameters.modality, ...
8+
cfg.subjectOutputDir, ...
9+
cfg.modality, ...
1010
fileName);
1111

1212
jsonContent = struct( ...

createDatasetDescription.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
function createDatasetDescription(expParameters)
1+
function createDatasetDescription(cfg)
22

33
opts.Indent = ' ';
44

55
fileName = fullfile( ...
6-
expParameters.outputDir, 'source', ...
6+
cfg.outputDir, 'source', ...
77
'dataset_description.json');
88

9-
jsonContent = expParameters.bids.datasetDescription;
9+
jsonContent = cfg.bids.datasetDescription;
1010

1111
bids.util.jsonencode(fileName, jsonContent, opts);
1212

createFilename.m

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function [cfg, expParameters] = createFilename(cfg, expParameters)
1+
function cfg = createFilename(cfg)
22
% create the BIDS compliant directories and filenames for the behavioral output
33
% for this subject / session / run using the information from cfg and expParameters.
44
% Will also create the right filename for the eyetracking data file.
@@ -14,33 +14,33 @@
1414

1515
zeroPadding = 3;
1616
pattern = ['%0' num2str(zeroPadding) '.0f'];
17-
expParameters.pattern = pattern;
17+
cfg.pattern = pattern;
1818

1919
dateFormat = 'yyyymmddHHMM';
20-
expParameters.date = datestr(now, dateFormat);
20+
cfg.date = datestr(now, dateFormat);
2121

22-
[cfg, expParameters] = checkCFG(cfg, expParameters);
22+
cfg = checkCFG(cfg);
2323

24-
if ~isfield(expParameters, 'task')
25-
error('createFilename: missing a task name. i.e expParameters.task');
24+
if ~isfield(cfg, 'task')
25+
error('createFilename: missing a task name. i.e cfg.task');
2626
end
2727

28-
expParameters = getModality(cfg, expParameters);
28+
cfg = getModality(cfg);
2929

30-
expParameters = createDirectories(cfg, expParameters);
30+
cfg = createDirectories(cfg);
3131

32-
expParameters = setSuffixes(expParameters);
32+
cfg = setSuffixes(cfg);
3333

34-
expParameters = setFilenames(cfg, expParameters);
34+
cfg = setFilenames(cfg);
3535

36-
talkToMe(cfg, expParameters);
36+
talkToMe(cfg);
3737

3838
cfg = orderfields(cfg);
39-
expParameters = orderfields(expParameters);
39+
cfg = orderfields(cfg);
4040

4141
end
4242

43-
function expParameters = getModality(cfg, expParameters)
43+
function cfg = getModality(cfg)
4444

4545
switch lower(cfg.testingDevice)
4646
case 'pc'
@@ -57,50 +57,50 @@
5757
modality = 'beh';
5858
end
5959

60-
expParameters.modality = modality;
60+
cfg.modality = modality;
6161

6262
end
6363

64-
function [subjectGrp, subjectNb, sessionNb, modality, taskName] = extractInput(expParameters)
64+
function [subjectGrp, subjectNb, sessionNb, modality, taskName] = extractInput(cfg)
6565

66-
subjectGrp = expParameters.subjectGrp;
67-
subjectNb = expParameters.subjectNb;
68-
sessionNb = expParameters.sessionNb;
69-
modality = expParameters.modality;
70-
taskName = expParameters.task;
66+
subjectGrp = cfg.subjectGrp;
67+
subjectNb = cfg.subjectNb;
68+
sessionNb = cfg.sessionNb;
69+
modality = cfg.modality;
70+
taskName = cfg.task;
7171

7272
if isempty(sessionNb)
7373
sessionNb = 1;
7474
end
7575

7676
end
7777

78-
function expParameters = createDirectories(cfg, expParameters)
78+
function cfg = createDirectories(cfg)
7979

80-
[subjectGrp, subjectNb, sessionNb, modality] = extractInput(expParameters);
80+
[subjectGrp, subjectNb, sessionNb, modality] = extractInput(cfg);
8181

82-
pattern = expParameters.pattern;
82+
pattern = cfg.pattern;
8383

8484
% output dir
85-
expParameters.subjectOutputDir = fullfile ( ...
86-
expParameters.outputDir, ...
85+
cfg.subjectOutputDir = fullfile ( ...
86+
cfg.outputDir, ...
8787
'source', ...
8888
['sub-' subjectGrp, sprintf(pattern, subjectNb)], ...
8989
['ses-', sprintf(pattern, sessionNb)]);
9090

91-
[~, ~, ~] = mkdir(expParameters.outputDir);
92-
[~, ~, ~] = mkdir(expParameters.subjectOutputDir);
93-
[~, ~, ~] = mkdir(fullfile(expParameters.subjectOutputDir, modality));
91+
[~, ~, ~] = mkdir(cfg.outputDir);
92+
[~, ~, ~] = mkdir(cfg.subjectOutputDir);
93+
[~, ~, ~] = mkdir(fullfile(cfg.subjectOutputDir, modality));
9494

9595
if cfg.eyeTracker
96-
[~, ~, ~] = mkdir(fullfile(expParameters.subjectOutputDir, 'eyetracker'));
96+
[~, ~, ~] = mkdir(fullfile(cfg.subjectOutputDir, 'eyetracker'));
9797
end
9898

9999
end
100100

101-
function expParameters = setSuffixes(expParameters)
101+
function cfg = setSuffixes(cfg)
102102

103-
expParameters.runSuffix = ['_run-' sprintf(expParameters.pattern, expParameters.runNb)];
103+
cfg.runSuffix = ['_run-' sprintf(cfg.pattern, cfg.runNb)];
104104

105105
% set values for the suffixes for the different fields in the BIDS name
106106
fields2Check = { ...
@@ -112,83 +112,83 @@
112112
};
113113

114114
for iField = 1:numel(fields2Check)
115-
if isempty (expParameters.MRI.(fields2Check{iField})) %#ok<*GFLD>
116-
expParameters.MRI.([fields2Check{iField} 'Suffix']) = ''; %#ok<*SFLD>
115+
if isempty (cfg.MRI.(fields2Check{iField})) %#ok<*GFLD>
116+
cfg.MRI.([fields2Check{iField} 'Suffix']) = ''; %#ok<*SFLD>
117117
else
118-
expParameters.MRI.([fields2Check{iField} 'Suffix']) = ...
119-
['_' fields2Check{iField} '-' getfield(expParameters.MRI, fields2Check{iField})];
118+
cfg.MRI.([fields2Check{iField} 'Suffix']) = ...
119+
['_' fields2Check{iField} '-' getfield(cfg.MRI, fields2Check{iField})];
120120
end
121121
end
122122

123123
end
124124

125-
function expParameters = setFilenames(cfg, expParameters)
125+
function cfg = setFilenames(cfg)
126126

127-
[subjectGrp, subjectNb, sessionNb, modality, taskName] = extractInput(expParameters);
127+
[subjectGrp, subjectNb, sessionNb, modality, taskName] = extractInput(cfg);
128128

129-
runSuffix = expParameters.runSuffix;
130-
pattern = expParameters.pattern;
131-
acqSuffix = expParameters.MRI.acqSuffix ;
132-
ceSuffix = expParameters.MRI.ceSuffix ;
133-
dirSuffix = expParameters.MRI.dirSuffix ;
134-
recSuffix = expParameters.MRI.recSuffix ;
135-
echoSuffix = expParameters.MRI.echoSuffix;
129+
runSuffix = cfg.runSuffix;
130+
pattern = cfg.pattern;
131+
acqSuffix = cfg.MRI.acqSuffix ;
132+
ceSuffix = cfg.MRI.ceSuffix ;
133+
dirSuffix = cfg.MRI.dirSuffix ;
134+
recSuffix = cfg.MRI.recSuffix ;
135+
echoSuffix = cfg.MRI.echoSuffix;
136136

137-
expParameters.datasetDescription.filename = fullfile ( ...
138-
expParameters.outputDir, ...
137+
cfg.datasetDescription.filename = fullfile ( ...
138+
cfg.outputDir, ...
139139
'dataset_description.json');
140140

141141
% create base filename
142142
fileNameBase = ...
143143
['sub-', subjectGrp, sprintf(pattern, subjectNb), ...
144144
'_ses-', sprintf(pattern, sessionNb), ...
145145
'_task-', taskName];
146-
expParameters.fileName.base = fileNameBase;
146+
cfg.fileName.base = fileNameBase;
147147

148148
switch modality
149149

150150
case 'func'
151151

152-
expParameters.fileName.events = ...
152+
cfg.fileName.events = ...
153153
[fileNameBase, ...
154154
acqSuffix, ceSuffix, ...
155155
dirSuffix, recSuffix, ...
156156
runSuffix, echoSuffix, ...
157-
'_events_date-' expParameters.date '.tsv'];
157+
'_events_date-' cfg.date '.tsv'];
158158

159159
otherwise
160160

161-
expParameters.fileName.events = ...
162-
[fileNameBase, runSuffix, '_events_date-' expParameters.date '.tsv'];
161+
cfg.fileName.events = ...
162+
[fileNameBase, runSuffix, '_events_date-' cfg.date '.tsv'];
163163

164164
end
165165

166-
expParameters.fileName.stim = strrep(expParameters.fileName.events, 'events', 'stim');
166+
cfg.fileName.stim = strrep(cfg.fileName.events, 'events', 'stim');
167167

168168
if cfg.eyeTracker
169-
expParameters.fileName.eyetracker = ...
169+
cfg.fileName.eyetracker = ...
170170
[fileNameBase, acqSuffix, ...
171-
runSuffix, '_eyetrack_date-' expParameters.date '.edf'];
171+
runSuffix, '_eyetrack_date-' cfg.date '.edf'];
172172

173173
end
174174

175175
end
176176

177-
function talkToMe(cfg, expParameters)
177+
function talkToMe(cfg)
178178

179179
fprintf(1, '\nData will be saved in this directory:\n\t%s\n', ...
180-
fullfile(expParameters.subjectOutputDir, expParameters.modality));
180+
fullfile(cfg.subjectOutputDir, cfg.modality));
181181

182182
fprintf(1, '\nData will be saved in this file:\n\t%s\n', ...
183-
expParameters.fileName.events);
183+
cfg.fileName.events);
184184

185185
if cfg.eyeTracker
186186

187187
fprintf(1, '\nEyetracking data will be saved in this directory:\n\t%s\n', ...
188-
fullfile(expParameters.subjectOutputDir, 'eyetracker'));
188+
fullfile(cfg.subjectOutputDir, 'eyetracker'));
189189

190190
fprintf(1, '\nEyetracking data will be saved in this file:\n\t%s\n', ...
191-
expParameters.fileName.eyetracker);
191+
cfg.fileName.eyetracker);
192192

193193
end
194194

0 commit comments

Comments
 (0)