Summary of what happened:
I’m trying to resurrect some older DTI cross-sectional scans. The DTI scan for each subject consists of a total of 18 volumes: the first three are B0, the remaining 15 are B=1000. Each volume consists of stacked axial slices, 0.9375mm x 0.9375mm voxel dimensions in plane, with a slice spacing of 2.5mm. I’m seeing a lot of extreme outliers in connectivity measures between region pairs. I’m relatively new to diffusion weighted processing, so I’m not sure if this is to be expected or if I’ve chosen some improper qsiprep options/inputs. (More details about the connectivity results below.)
I’m using qsiprep version 0.22.0 in a singularity container for both preprocessing and reconstruction. In preprocessing, I’m using the gpu-version of eddy, and with ‘–output-resolution 1’. We don’t have reverse phase scans, but I’ve used synB0-disco to generate an infinite readout bandwith for FSL’s topup. For reconstruction, I’ve used --recon-spec mrtrix_singleshell_ss3t_ACT-hsvs
. I’m focused on the connectivity matrices for the Schaefer400 parcellation with 452 ROIs that are found in each subject’s qsirecon-MRtrix3_fork-SS3T_act-HSVS/sub-XXXX/ses-01/dwi/sub-XXXX_ses-01_run-01_space-T1w_desc-preproc_connectivity.mat
file: schaefer400.radius2.count.connectivity
matrix, and the equivalent SIFT analog schaefer400.sift.radius2.count.connectivity
(and possibly the volume-normalized schaefer400.sift.invnodevol.radius2.count.connectivity
).
I have about 150 subjects. The connectivity results I’m getting show some “extreme” positive outliers (in the NIST terminology, i.e., 3 interquartile intervals above the 75% percentile) for various region pairs, whether I’m dealing with pure counts, or the SIFT weighted versions. (Note: I’ve adjusted the SIFT-based connectomes with the appropriate scale factor based on SIFT’s mu, an FA adjustment, white matter tissue response, and voxel dimensions.) There are n-choose-2 region pairs (101926 for Schaefer 400). If I limit myself to region-pairs whose 25% quantile is nonzero (so that the interquartile distance is not compressed by the zeros), I’m down to 62883 region pairs. Of those, 55259 (i.e., almost 88%) have at least one subject as an extreme outlier.
However, no one subject is the cause of these outliers across all region pairs. In general, no subject is an extreme outlier for more than 5% of the 62883 region pairs, but also no subject is an extreme outlier in less than 0.5%.
Is this degree of “spikiness” to be expected in the connectivity counts? Is the mrtrix_singleshell_ss3t_ACT-hsvs
tissue model appropriate for my DTI data? Have I resampled the data too finely? I realize my DTI data has relatively few directions—perhaps it’s just not suitable for such an advanced analysis?
Any advice or insights would be most helpful. Or other things I should check?
Thank you all.
- Daniel
Command used (and if a helper script was used, a link to the helper script or the command generated):
singularity run \
--writable-tmpfs \
--cleanenv \
--env TEMPLATEFLOW_HOME=/opt/templateflow \
--bind "${TEMPLATEFLOW_HOME:-$HOME/.cache/templateflow}:/opt/templateflow" \
--bind "${FREESURFER_LICENSE}":/license.txt:ro \
--bind "${inpt_bids_dir}":/bids:ro \
--bind "${inpt_dwis_dir}":/dwis:ro \
--bind "${inpt_free_dir}":/free:ro \
--bind "${outp_work_dir}":/work \
--bind "${outp_dir}":/outp \
--bind /tmp:/tmp \
"${QSIPREP_SINGULARITY_IMAGE}" \
/bids /outp participant \
--verbose \
--verbose \
--recon-only \
--stop-on-first-crash \
--skip-odf-reports \
--work-dir /work \
--recon-input /dwis \
--recon-spec mrtrix_singleshell_ss3t_ACT-hsvs \
--mem 20000 \
--nthreads 8 \
--omp-nthreads 7 \
--fs-license-file /license.txt \
--freesurfer-input /free \
--participant-label "${subj}"
Version:
qsiprep 0.22.0
Environment (Docker, Singularity / Apptainer, custom installation):
Singularity container
Data formatted according to a validatable standard? Please provide the output of the validator:
PASTE VALIDATOR OUTPUT HERE
Relevant log outputs (up to 20 lines):
PASTE LOG OUTPUT HERE