Is it realistic to combine different diffusion acquisitions if they have different b-values?

I have diffusion data from around 5 different centers. Acquisitions vary: some centers are single-shelled only, some multi-shelled only, others have a mix. Bvalues also vary across sites and are not always overlapping: e.g. some sites exclusively have b=1000 images while others have exclusively b=2000. To keep processing consistent and simple, I would like to concatenate all diffusion images in a single session that have similar distortions and dimensions into a single image and extract shells between a common bvalue range (for now, 1000 to 2500).

Would concatenating shells (1) across single shell acquisitions, (2) across multi-shelled acquisitions, or (3) across single and multi-shelled acquisitions be feasible in this situation? Or do different acquisitions need to be kept separate?


In general, this would not be advisable. Scans from different sites/scanners should not be concatenated together. I’m not sure I see any reason to concatenate images across different subjects, unless I misunderstood what you were asking. Even if you are just talking about combining scans within subjects, what you are proposing would 1) be throwing away data, and 2) still leave differences in # directions collected per b-value, and wouldn’t necessarily guarantee the same b-values are collected per subject. Without throwing away data, you can use something like COMBAT (Harmonization of multi-site diffusion tensor imaging data - PMC) to control for inter-site/inter-acquisition variability, but you should also know that some of those scans are going to be better suited for different analyses. For example, the low b-value scans may be fine for diffusion tensor analysis, but would not provide great constrained spherical-deconvolution (CSD). On the other hand, the scans with only high b-values will likely have noisy diffusion tensor images, but will act better for CSD.


I meant concatenating diffusion images for single subject, single session. Analoguous to the concat option for qsiprep.

The pipeline I’m using will process all single-subject, single-session dwis as a single series, concatenating them at the end. To keep it easy, I’d like to extract shells from single-subject, single-session dwis before feeding it data.

Got it. I would still say that this is not the right approach. You are left with less data since you are throwing out shells, and you will still have inter-subject differences due to scanners, number of directions, and unique b-vals that remain. Even if you know you won’t be using some shells (e.g. you want a less noisy tensor fit and only use the lowest b-va, or want to use just the highest b-val shell for something like single-shell 3-tissue CSD), including all your data in preprocessing will likely help get better noise estimates which should result in a cleaner image.

ajschadler you can concatenate different series from the same session as long as the slice angulation was not changed. The bvec file stores vector direction in image space, not world space, so adjusting the image angulation transforms the vectors. There is no benefit to doing this, other than making your dataset have fewer files. Be aware that the patient head movement is likely larger between series than within a series, as more time has elapsed, but this should be captured by Eddy/TOPUP. One benefit for keeping the series separate is that the vector directional sampling is likely sufficient within each series, and having the series separate would allow you to salvage some data if there is excessive head movement or reconstruction errors that only impact one of the series. For most research studies, you would likely censor that participant to keep your data more homogeneous, but this may not be possible for clinical work.