|
1 |
| -function [expParameters] = userInputs(cfg, expParameters) |
| 1 | +function [expParameters] = userInputs(cfg, expParameters, askGrpSess) |
2 | 2 | % Get subject, run and session number and make sure they are
|
3 | 3 | % positive integer values
|
| 4 | +% |
| 5 | +% skipGrpSess |
| 6 | +% a 1 X 2 array of booleans (default is [true true] ): |
| 7 | +% - the first value set to false will skip asking for the participants |
| 8 | +% group |
| 9 | +% - the second value set to false will skip asking for the session |
4 | 10 |
|
5 | 11 | if nargin<1
|
6 | 12 | cfg.debug = false;
|
7 | 13 | end
|
8 |
| - |
9 | 14 | if nargin<2
|
10 | 15 | expParameters = [];
|
11 | 16 | end
|
| 17 | +if nargin<3 |
| 18 | + askGrpSess = [true true]; |
| 19 | +end |
12 | 20 |
|
13 | 21 |
|
| 22 | +% When in debug more this function returns some dummy values |
14 | 23 | if cfg.debug
|
15 |
| - |
16 | 24 | subjectGrp = 'ctrl';
|
17 | 25 | subjectNb = 666;
|
18 | 26 | runNb = 666;
|
19 | 27 | sessionNb = 666;
|
20 |
| - |
| 28 | + |
| 29 | + % Otherwise it prompts the user for some information |
21 | 30 | else
|
22 |
| - |
23 |
| - subjectGrp = lower(input('Enter subject group (leave empty if none): ', 's')); |
24 |
| - |
| 31 | + |
| 32 | + % subject group |
| 33 | + if askGrpSess(1) |
| 34 | + subjectGrp = lower(input('Enter subject group (leave empty if none): ', 's')); |
| 35 | + end |
| 36 | + |
| 37 | + % the subject number |
25 | 38 | subjectNb = str2double(input('Enter subject number (1-999): ', 's') );
|
26 | 39 | subjectNb = checkInput(subjectNb);
|
27 |
| - |
28 |
| - sessionNb = str2double(input('Enter the session (i.e day - 1-999)) number: ', 's')); |
29 |
| - sessionNb = checkInput(sessionNb); |
30 |
| - |
| 40 | + |
| 41 | + % the session number |
| 42 | + if askGrpSess(2) |
| 43 | + sessionNb = str2double(input('Enter the session (i.e day - 1-999)) number: ', 's')); |
| 44 | + sessionNb = checkInput(sessionNb); |
| 45 | + end |
| 46 | + |
| 47 | + % the run number |
31 | 48 | runNb = str2double(input('Enter the run number (1-999): ', 's'));
|
32 | 49 | runNb = checkInput(runNb);
|
33 |
| - |
| 50 | + |
34 | 51 | end
|
35 | 52 |
|
36 |
| - |
37 | 53 | expParameters.subjectGrp = subjectGrp;
|
38 | 54 | expParameters.subjectNb = subjectNb;
|
39 | 55 | expParameters.sessionNb = sessionNb;
|
40 | 56 | expParameters.runNb = runNb;
|
41 | 57 |
|
42 |
| - |
43 | 58 | end
|
44 | 59 |
|
45 |
| - |
46 | 60 | function input2check = checkInput(input2check)
|
47 |
| - |
48 |
| - |
| 61 | +% this function checks the input to makes sure the user enters a positive integer |
49 | 62 | while isnan(input2check) || fix(input2check) ~= input2check || input2check<0
|
50 | 63 | input2check = str2double(input('Please enter a positive integer: ', 's'));
|
51 | 64 | end
|
52 |
| - |
53 |
| - |
54 | 65 | end
|
0 commit comments