Skip to content

Dropping "CPP style" group support #299

@Remi-Gau

Description

@Remi-Gau

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 expression

We 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions