File tree Expand file tree Collapse file tree 8 files changed +52
-56
lines changed Expand file tree Collapse file tree 8 files changed +52
-56
lines changed Original file line number Diff line number Diff line change 3838 fieldsToSet = datasetDescriptionDefaults(fieldsToSet );
3939 fieldsToSet = mriJsonDefaults(fieldsToSet );
4040 fieldsToSet = megJsonDefaults(fieldsToSet );
41-
41+
4242 fieldsToSet = transferInfoToBids(fieldsToSet , cfg );
43-
43+
4444 cfg = setDefaultFields(cfg , fieldsToSet );
4545
4646end
4747
4848function fieldsToSet = mriDefaults(fieldsToSet )
4949
50- % for file naming and JSON
50+ % for file naming and JSON
5151 fieldsToSet.mri.contrastEnhancement = [];
5252 fieldsToSet.mri.phaseEncodingDirection = [];
5353 fieldsToSet.mri.reconstruction = [];
185185
186186 fieldsToSet.bids.meg = orderfields(fieldsToSet .bids .meg );
187187
188- end
188+ end
Original file line number Diff line number Diff line change 102102 % set values for the suffixes for the different fields in the BIDS name
103103 fields2Check = { ...
104104 ' contrastEnhancement' , ...
105- ' phaseEncodingDirection' , ... % For BIDS file naming: phase encoding direction of acquisition for fMRI
106- ' reconstruction' , ... % For BIDS file naming: reconstruction of fMRI images
107- ' echo' , ... % For BIDS file naming: echo fMRI images
108- ' acquisition' % For BIDS file naming: acquisition of fMRI images
105+ ' phaseEncodingDirection' , ...
106+ ' reconstruction' , ...
107+ ' echo' , ...
108+ ' acquisition'
109109 };
110110
111111 for iField = 1 : numel(fields2Check )
Original file line number Diff line number Diff line change 44 % Name of the task (for resting state use the "rest" prefix). No two tasks
55 % should have the same name. Task label is derived from this field by
66 % removing all non alphanumeric ([a-zA-Z0-9]) characters.
7-
7+
88 % camel case: upper case for first letter for all words but the first one
99 spaceIdx = regexp(taskName , ' [a-zA-Z0-9]*' , ' start' );
1010 taskName(spaceIdx(2 : end )) = upper(taskName(spaceIdx(2 : end )));
11-
11+
1212 % remove invalid characters
1313 [unvalidCharacters ] = regexp(taskName , ' [^a-zA-Z0-9]' );
1414 taskNameValid = taskName ;
1515 taskNameValid(unvalidCharacters ) = [];
16-
17- end
1816
17+ end
Original file line number Diff line number Diff line change 11function fieldsToSet = transferInfoToBids(fieldsToSet , cfg )
22 % transfer any info that might have been provided by the user to the
33 % relevant field for its reuse for BIDS filenames or JSON later
4-
4+
55 if isfield(cfg , ' task' ) && isfield(cfg .task , ' name' )
66 [taskName , taskNameValid ] = createTaskName(cfg .task .name );
77 fieldsToSet.fileName.task = taskNameValid ;
88 fieldsToSet.bids.meg.TaskName = taskName ;
99 fieldsToSet.bids.mri.TaskName = taskName ;
1010 end
11-
11+
1212 if isfield(cfg , ' mri' ) && isfield(cfg .mri , ' repetitionTime' )
1313 fieldsToSet.bids.mri.RepetitionTime = cfg .mri .repetitionTime ;
1414 end
15-
16- end
15+
16+ end
Original file line number Diff line number Diff line change @@ -43,13 +43,13 @@ function test_checkCFG()
4343 expectedStructure.dir.output = outputDir ;
4444
4545 expectedStructure.task.name = ' test task' ;
46-
46+
4747 expectedStructure.testingDevice = ' mri' ;
4848
4949 expectedStructure.mri.repetitionTime = 1.56 ;
50-
50+
5151 expectedStructure.fileName.task = ' testTask' ;
52-
52+
5353 expectedStructure.bids.mri.RepetitionTime = 1.56 ;
5454 expectedStructure.bids.mri.TaskName = ' test Task' ;
5555
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ function test_createFilename()
5050 cfg.subject.subjectNb = 2 ;
5151 cfg.subject.sessionNb = 2 ;
5252 cfg.subject.runNb = 2 ;
53- cfg.task.name = ' testTask ' ;
53+ cfg.task.name = ' test task ' ;
5454 cfg.dir.output = outputDir ;
5555
5656 cfg.eyeTracker.do = true ;
@@ -93,7 +93,7 @@ function test_createFilename()
9393 cfg.subject.subjectNb = 3 ;
9494 cfg.subject.sessionNb = 1 ;
9595 cfg.subject.runNb = 1 ;
96- cfg.task.name = ' testTask ' ;
96+ cfg.task.name = ' test task ' ;
9797 cfg.dir.output = outputDir ;
9898
9999 cfg.testingDevice = ' eeg' ;
Original file line number Diff line number Diff line change 11function test_createTaskName()
22 %
3-
3+
44 taskName = ' &|@#-_(§!{})[]ù%£+/=:;.?,\<> visual task' ;
5-
6- [taskName , taskNameValid ] = createTaskName(taskName )
7-
5+
6+ [taskName , taskNameValid ] = createTaskName(taskName );
7+
88 [unvalidCharacters ] = regexp(taskNameValid , ' [^a-zA-Z0-9]' );
9-
9+
1010 assert(isempty(unvalidCharacters ));
11-
12-
11+
1312 taskName = ' 09 visual task' ;
14-
15- [taskName , taskNameValid ] = createTaskName(taskName )
16-
13+
14+ [taskName , taskNameValid ] = createTaskName(taskName );
15+
1716 [unvalidCharacters ] = regexp(taskNameValid , ' [^a-zA-Z0-9]' );
18-
17+
1918 assert(isempty(unvalidCharacters ));
20-
21-
19+
2220 taskName = ' foo bar' ;
23- [taskName , taskNameValid ] = createTaskName(taskName )
24- assert(isequal(taskName , ' foo Bar' ))
25- assert(isequal(taskNameValid , ' fooBar' ))
26-
27- end
21+ [taskName , taskNameValid ] = createTaskName(taskName );
22+ assert(isequal(taskName , ' foo Bar' ));
23+ assert(isequal(taskNameValid , ' fooBar' ));
2824
25+ end
Original file line number Diff line number Diff line change 11function test_transferInfoToBids()
2-
2+
33 %%
44 cfg = struct();
55 fieldsToSet = struct();
66 cfg = transferInfoToBids(fieldsToSet , cfg );
7-
7+
88 expectedStruct = struct();
9-
10- assert(isequal(expectedStruct , fieldsToSet ))
11-
9+
10+ assert(isequal(expectedStruct , fieldsToSet ));
11+
1212 %%
1313 cfg.task.name = ' foo bar' ;
14-
14+
1515 fieldsToSet = transferInfoToBids(fieldsToSet , cfg );
16-
16+
1717 expectedStruct.fileName.task = ' fooBar' ;
1818 expectedStruct.bids.meg.TaskName = ' foo Bar' ;
1919 expectedStruct.bids.mri.TaskName = ' foo Bar' ;
20-
21- assert(isequal(expectedStruct , fieldsToSet ))
22-
20+
21+ assert(isequal(expectedStruct , fieldsToSet ));
22+
2323 %%
24- clear cfg fieldsToSet expectedStruct
25-
24+ clear cfg fieldsToSet expectedStruct ;
25+
2626 cfg.mri.repetitionTime = 1.56 ;
27-
27+
2828 fieldsToSet = struct();
2929 fieldsToSet = transferInfoToBids(fieldsToSet , cfg );
3030
3131 expectedStruct.bids.mri.RepetitionTime = 1.56 ;
32-
33- assert(isequal(expectedStruct , fieldsToSet ))
34-
35- end
32+
33+ assert(isequal(expectedStruct , fieldsToSet ));
34+
35+ end
You can’t perform that action at this time.
0 commit comments