Combine runs in XCP-D

Hello!

I’m working with data that were collected under different viewing conditions, either during rest or while participants watched various video clips. I would like to combine different sets of these data in XCP-D, such as grouping together all scans related to specific movie clips. However, it seems that XCP-D only combines runs from the same task (using the --combine-runs option).

Is there a way to specify which “tasks” can be combined, or would I need to adjust the labelling in my BIDS dataset?

Any guidance would be greatly appreciated!

Thank you!

There’s no way to fine-tune the run combination within XCP-D; it just combines within the same task, across runs and phase-encoding directions. However, the actual concatenation workflow is very basic, and if you’re not working with a massive dataset (e.g., ABCD), then I’d recommend handling the concatenation with custom code.

Thank you, that’s super helpful. I’ll combine the runs with custom code then. I’m curious how XCP-D handles the runs. Does it concatenate the time series or average the connectivity matrices?

XCP-D concatenates the time series and then does the correlations from that. Given that XCP-D often involves censoring, the time series may have different lengths, so in order to average the correlation matrices we’d have to do something like (1) convert correlations to Fisher’s z values, (2) do a weighted correlation based on the number of volumes in each run, and (3) convert the z values back to correlation coefficients.

Thank you for clarifying!