Summary of what happened:
I am trying to run fMRIPrep with fieldmap‐less SDC using the --use-syn-sdc
(and --force-syn
) options on my BIDS dataset. Although both my functional and T1w JSON files include the "PhaseEncodingDirection"
field (and I added "TotalReadoutTime": 0.0350402
to the T1w JSON), I still encounter the error:
ValueError: Fieldmap-less (SyN) estimation was requested, but PhaseEncodingDirection information appears to be absent.
I originally used a two-step process (an anat-only run followed by a functional run with derivatives) but suspect that this approach might cause some metadata propagation issues. I have now consolidated everything into a single fMRIPrep run per subject, yet the error persists.
Command used (and if a helper script was used, a link to the helper script or the command generated):
I’m running fMRIPrep via Docker with a custom Bash script. The core command used is as follows:
sudo docker run --rm -ti \
-v "/Volumes/Dragon/wenwu/QC/BIDS_data":/data:ro \
-v "/Volumes/Dragon/wenwu/QC/fmriprep_output_fieldmaptesting":/out \
-v "/path/to/tmp_work_dir":/work \
-v "/Users/wsun40/Downloads/license.txt":/opt/freesurfer/license.txt \
nipreps/fmriprep:latest \
/data /out participant \
--participant-label 506 \
--fs-license-file /opt/freesurfer/license.txt \
--fs-no-reconall \
--output-spaces T1w MNI152NLin2009cAsym \
--nthreads 8 \
--omp-nthreads 2 \
--mem_mb 32000 \
--use-syn-sdc \
--force-syn \
-w /work
Version:
I am using fMRIPrep version 23.02 (via Docker).
Environment (Docker, Singularity / Apptainer, custom installation):
I am running fMRIPrep using Docker.
Data formatted according to a validatable standard? Please provide the output of the validator:
My dataset is organized according to the BIDS standard (BIDSVersion: 1.6.0). I ran the BIDS Validator, and the output was:
All checks passed. Your dataset is BIDS valid.
Relevant log outputs (up to 20 lines):
ValueError: Fieldmap-less (SyN) estimation was requested, but PhaseEncodingDirection information appears to be absent.
Traceback (most recent call last):
File "/opt/fmriprep/fmriprep/workflow/scripts/fmap_estimation.py", line 123, in <module>
raise ValueError("Fieldmap-less (SyN) estimation was requested, but PhaseEncodingDirection information appears to be absent.")
Extra information:
I saw this thread on NeuroStars and tried the solution suggested at the end of the thread, but it did not work for me (I don’t have the DatasetType
and GeneratedBy
fields in my dataset_description.json
). You can find the discussion here: NeuroStars Thread
Thanks in advance!