Hi all,
First off, thanks so much for all you do.
I’m feeling pretty stuck trying to preprocess my data and any advice is welcome. My two main questions are:
1. How should one debug just one step of the fmriprep pipeline without running the whole thing? I have tried to figure out the function it uses for fieldmap distortion correction but not found a clear answer.
2. In a case where fmri and B0 maps were collected with different PE directions, which should be used? Or should we just not do SDC?
Here are more details about my situation:
I have a data set of resting state fMRI and B0 maps from GE direct fieldmapping. Some of the data were collected with different PE directions for the fMRI and the fieldmaps- A/P for fMRI and R/L for fieldmaps. After this was corrected, the rest of the data is all A/P. Checking the json sidecars for the fMRI data, the “PhaseEncodingDirection” is either “i” or “j-”. However, when I run fmriprep, neither seems correct; the output of SDC looks works than before.
It’s not clear to me how dcm2niix infers PE direction for GE dicoms. In my case, the “PhaseEncodingDirection” maps to the “InPlanePhaseEncodingDirectionDICOM” variable: “i” corresponds with “ROW” and “j-” corresponds with “COL”. I’ve come to understand that i,j,k refer to the first, second, and thirds dimensions of the image, and when I check the nifti header info, these generally do correspond with what I know of the acquisition parameters. However, I’m wondering if the “PhaseEncodingDirection” in the func jsons is derived from the fmap files?
To give a concrete example, I have a func nifti that says:
qform_xorient Right-to-Left
qform_yorient Posterior-to-Anterior
qform_zorient Inferior-to-Superior
the corresponding json says:
"PhaseEncodingDirection": "i",
"InPlanePhaseEncodingDirectionDICOM": "ROW",
Assuming the “i” refers to the “xorient”, it would be R/L, which is how the fieldmap was acquired. Or at least that’s how I’m understanding it.
I used a dcm2bids conda environment to convert the dicoms to bids. The info is as follows:
“ConversionSoftware”: “dcm2niix”,
“ConversionSoftwareVersion”: “v1.0.20211006”,
“Dcm2bidsVersion”: “2.1.6”,
I’m using a fmriprep singularity container, version 20.2.3