|
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