Analysing multiple MRS voxels per participant

hi all, apologies if this is documented somewhere and I have missed it.

I’m running a dataset through Osprey which has 7 MRS voxels per participant (3 visual cortex vox, 2 auditory cortex vox and 2 sensorimotor vox)- is there a ‘preferred’ way of running such an analysis, or (as long as I associate the right participants anatomical with their MRS files) does it even matter?

Keen to make sure my pipeline/organization is reasonable before I start, to save heartache later in the process! :slight_smile:


Hi Molly,

I think it generally indeed doesn’t matter much as long as you get the structurals right, as you say.
A few thoughts:

  • Use a (BIDS folder structure)[Introduction - Brain Imaging Data Structure v1.7.0] and MRS-specific filenaming suggestions.
  • Generate your job file entries procedurally (i.e. by looping over the BIDS folder structure - we have some code for this in the Osprey example job files) rather than explicitly by copy/pasting.
  • You can add a CSV file in the job file (section 4) that contains a grouping variable, e.g. in your case, it would contain a single column with the title ‘group’ and numbers 1-7 depending on the voxel location. Obviously, this column needs to have as many elements as the job file entries, and the order needs to be the same. I’ve created this CSV file procedurally before inside the loop in the job file. This column will then be added to all your output tables as an additional variable (making subsequent analysis easier) and also breaks down results by group in the OspreyOverview panels.

I’m sure @Helge has some examples that he could share with you, if you need more hands-on advice.
Does that help?

Hi Molly,

As @admin mentioned it doesn’t really matter. However, it can make the automated visualization in Osprey much more useful and depends on your study design. Options to set up the jobfiles could be:

  • Per voxel this would mostly be interesting if you have different groups within each jobfile and you could group them via the csv file in the jobfile.
  • Per region which would allow you to generate spectra overview plots and raincloud plots directly comparing e.g., all visual cortex voxels

In this study (OSF | Comparison of different linear-combination modelling algorithms for short-TE proton spectra) I have for example a vendor, a site, and a subject level, and I’ve created one jobfile for each vendor and included the different sites as group variable in the csv file. This will allow you to directly plot mean vendor and site plots from within Osprey.

But as mentioned before, you can also combine outputs from several MRSContainer after the analysis is finished (see the same repository).


Awesome! This makes perfect sense - thanks @Helge and @admin