QSIPrep Multiple T1w runs for a subject

Hi QSIPrep team,

I want to use QSIPrep to process multiple subjects. However, within each of these subjects anat folders, they contain anywhere from 1 to 4 different T1w runs. Would this mean I need to run QSIPrep separately for each subject and create a subject-specific bids_filter.json that specifies which T1w to use? Or if I run QSIPrep for all subjects, does it have a way to automatically choose the best T1w for each subject?

Thanks for all your help!
Best,
Sofie

Hi @scchung,

Does each T1w correspond to a different session that also has its own DWI? If so you can do sessionwise anatomical via a built in qsiprep flag. If not, why not use the average T1w which qsiprep does by default? Keep in mind that the T1w is mainly just a registration target for the DWI, it doesn’t have much impact in the workflow. In qsirecon post processing, it is only used for HSVS workflows.

Best,
Steven

Hi @Steven,
Each T1w does not correspond to a different session that also has its own DWI. There were some instances when the scanner output a T1 for each echo time in the sequence without averaging them as usual. We did that offline so there is one nominated T1 to use in that case. Other times, 2 or more T1w were acquired because of movement and other issues.

Best,
Sofie

It would make sense to not include T1w with motion issues.

@Steven Got it. So then would the best way to continue is to create a ‘bids_filter.json’ for each subject, specifying which T1w to use? And then run QSIPrep on each subject individually since I have to specify the bids_filter.json path for each subjectt?

You could remove bad T1w images if you have no intention of analyzing them. Or add a label like acq-bad and have a single bids filter to filter against that label.

1 Like

@Steven Oh maybe I misunderstood the docs- I thought the bids_filter.json filters for specific labels, not against? Can you confirm which is true?

For example, the bids_filter.json below would tell qsiprep to use run-001 for the dwi and run-002 for the t1w:

{
  "t1w": {
    "datatype": "anat",
    "suffix": "T1w",
    "run": "002"
  },
  "dwi": {
    "datatype": "dwi",
    "suffix": "dwi",
    "run": "001"
  }
}

I forget the exact syntax for exclusion in bids filter files, but you can conversely add an acq-good label and filter for those.

1 Like