-
Notifications
You must be signed in to change notification settings - Fork 15
Description
The way the "encode" the group our BIDS dataset is by having it in as an optional prefix to the subject label: sub-[GroupPrefix][SuibjectLabel].
And we make use of that in the code by looping through groups in our pipelines.
The problem
The problem is that we might have to also be able to run BIDS dataset from outside the lab that do not follow this convention: in bids the one place where it is recommended to keep track of the groups is in the participant.tsv file with an extra column that describes to which group each subject is assigned.
With such a dataset our "group" loops become useless and the user would have to enter the list of subject belonging to group X to analyze.
Suggestion
What I suggest is that we get rid of the opt.groups in the code and the associated group loops.
From the user perspective it would just look like this:
%Dont do this
opt.groups = {'control', 'blind'};
opt.subjects = {[], []};
%But do this
opt.subjects = {'control*', 'blind*'}; % allow the wildcard to mean take all subject (or even better support regular expression)
%Dont do this
opt.groups = {'cont', 'cat'};
opt.subjects = {[1 2], [3 4]};
%But do this
opt.subjects = {'control1', 'control2', 'blind3', 'blind4'};
%or this
opt.subjects = {'control[12]', 'blind[34]'}; % with regular expressionWe could keep group support group assignment should be expected to be read from the participants.tsv file and not from the subject label.
In any case I think we can get rid of one loop that has been polluting our code for a long time.