"SliceOrder" Specification in JSON file Multiband Scan

Dear NeuroStars experts,

I am working with multi echo data that was acquired with a multiband (nband=2) interleaved sequence. The number of slices is 38. I know from a lab internal matlab script that the correct slice order for the two bands is correctly identified as:

0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 1, 3, 5, 7, 9, 11, 13, 15, 17
19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 20, 22, 24, 26, 28, 30, 32, 34, 36

What I cannot find any information about is how this is correctly entered into the JSON sidecar files. Apparently there is a “SliceOrder” specification to be done, but I don’t find anything in the BIDS documentation, and I haven’t found any open source multiband raw BIDS datasets that could give more insight.

Does anyone have experience with preprocessing Multiband data? I am suspecting there might be an issue with the slice time correction in our preprocessing. But maybe it is correct. This is the information a student entered into the json sidecar files:

“SliceOrder”: [
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 1, 3, 5, 7, 9, 11, 13, 15, 17],
[19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 20, 22, 24, 26, 28, 30, 32, 34, 36]
],
“SliceTiming”: [
0.0, 1.15789474, 0.11578947, 1.27368421, 0.23157895, 1.38947368,
0.34736842, 1.50526316, 0.46315789, 1.62105263, 0.57894737, 1.73684211,
0.69473684, 1.85263158, 0.81052632, 1.96842105, 0.92631579, 2.08421053,
1.04210526, 0.0, 1.15789474, 0.11578947, 1.27368421, 0.23157895,
1.38947368, 0.34736842, 1.50526316, 0.46315789, 1.62105263, 0.57894737,
1.73684211, 0.69473684, 1.85263158, 0.81052632, 1.96842105, 0.92631579,
2.08421053, 1.04210526
]

The SliceTiming values look correct. However, the format of the SliceOrder and the SliceTiming is different. I wonder if the doubled squared brackets in the SliceOrder part are correct? Or should they maybe just be in acquisition order, just like the SliceTiming? Then one would expect [0,19,2,21, …etc].

Does anyone have experience with this? Where can I find information on this SliceOrder entry?

Thank you very much for your help.

Hi @Janick,

I don’t think any app uses SliceOrder. So doesn’t really matter how it’s formatted as long as it is syntax-valid (e.g., no missing brackets or parentathese). But it would look cleaner if it was just one bracketed.

Best,
Steven

Hi Steven. Oh, that’s interesting. This might have been hallucinated by ChatGPT then - the only explanation I’d have. So I’d assume then that fMRIprep just ignored the “SliceOrder” entry in the json files and used the SliceTiming correctly as it is. That’s a relief then.

Does that make sense to you?

Thank you!

Yes fmriprep will not use anything called SlixeOrder.

1 Like

The BIDS specification defines SliceTiming, but does not define SliceOrder. While fsl’s slicetimer and SPM might allow specifying slice order as integers, this is not part of the BIDS specification and would not handle fMRI data where there is a pause between the final slice of one volume and the acquisition of the next (e.g. sparse imaging, or dynamic motion correction sequences). Therefore, I would omit this key:value pair from your BIDS

1 Like