Hi all,
I have some questions about some of the outputs QSIPrep outputs.
How does QSIPrep create the carpetplot for eddy outlier slices? I would like to take note of these specific slice/volumes.
In *image_qc.tsv, what is raw_num_bad_slices, t1_num_bad_slices, and t1post_num_bad_slices? Are these actually slices or volumes? What metric does QSIPrep use to determine whether or not a slice is bad or not and is there another output that tells me which slices these are?
I believe the carpet plot intensity is inverse CNR (i.e. higher noise is more intense), with x-axis being time, and y-axis being slice index. EDIT: see answer below.
It is slices. raw is on the raw data, t1 on the preprocessed data before b1 bias correction, t1post is after b1 bias correction. A bad slice was defined as a slice for which the sum of its voxel-wise intensity differences to the immediately preceding and following slices exceeds twice the voxel-wise intensity difference between those two neighboring slices.
You can try to parse the *desc-slice_qc.json file to find the high CNRstdev slices, but that may be difficult. We do not return the specific indices identified as bad by DSI Studio.
The carpet plot is using the “stdevs” output from eddy, which is available in the slice_qc json file.
the bad slices variables from from DSI Studio, which calculates the correlation coefficient between the neighboring slices to determine if a slice is bad. We don’t keep a record of which slices were determined to be bad by DSI Studio, but I believe that information can be recreated if you run the DSI Studio QC on your raw data. The slicewise stdevs in the slice_qc json file will tell you which slices eddy will replace with interpolated data if you have outlier replacement enabled.