Description
What happened?
I am attempting to process some HCP data that has been internally curated. The curators chose to use all four AP-PA field map pairs as the B0FieldSource for the functional runs. Based on a discussion with @effigies (see https://mattermost.brainhack.org/brainhack/pl/wnupxzxja786bcjt1yqtwo95dy), SDCFlows should be able to handle this scenario, as long as we use B0Field*
fields instead of IntendedFor
(see nipreps/sdcflows#342), but I am getting an error when I run fMRIPrep.
I have modified ds002156 to reproduce the problem with publicly-shareable data. The modified dataset is available at https://upenn.box.com/s/alwtsx9y1m143ylvyfy2o72uixfydg6g. It's about 50 MB.
What command did you use?
singularity run --home $HOME --cleanenv --containall \
-B /cbica/home/salot/datasets/sdcflows-test/data:/data \
-B /cbica/home/salot/datasets/sdcflows-test/derivatives:/out \
-B /cbica/home/salot/datasets/sdcflows-test/work:/work \
-B /cbica/home/salot/datasets/mobile-phenomics/freesurfer_license.txt:/license.txt \
/cbica/home/salot/datasets/hcpd-derivatives/code/singularity/fmriprep-23_2_1.sif \
/data \
/out/fmriprep \
participant \
-w /work \
--nprocs 1 \
--omp-nthreads 1 \
--output-spaces func T1w MNI152NLin6Asym \
--output-layout bids \
--cifti-output \
--fs-license-file /license.txt
What version of fMRIPrep are you running?
23.2.1
How are you running fMRIPrep?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
Process Process-2:
Traceback (most recent call last):
File "/opt/conda/envs/fmriprep/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/opt/conda/envs/fmriprep/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/opt/conda/envs/fmriprep/lib/python3.10/site-packages/fmriprep/cli/workflow.py", line 115, in build_workflow
retval["workflow"] = init_fmriprep_wf()
File "/opt/conda/envs/fmriprep/lib/python3.10/site-packages/fmriprep/workflows/base.py", line 94, in init_fmriprep_wf
single_subject_wf = init_single_subject_wf(subject_id)
File "/opt/conda/envs/fmriprep/lib/python3.10/site-packages/fmriprep/workflows/base.py", line 577, in init_single_subject_wf
raise NotImplementedError("Sophisticated PEPOLAR schemes are unsupported.")
NotImplementedError: Sophisticated PEPOLAR schemes are unsupported.
Additional information / screenshots
When I run the sdcflows command line within the fMRIPrep singularity image, I get the following. This seems to imply that fMRIPrep should be able to handle these data.
>>> singularity shell /cbica/home/salot/datasets/hcpd-derivatives/code/singularity/fmriprep-23_2_1.sif
>>> sdcflows data derivatives participant --dry-run
Estimation for </cbica/home/salot/datasets/sdcflows-test/data> complete. Found:
sub-23638
FieldmapEstimation(sources=<6 files>, method=<EstimatorType.PEPOLAR: 2>, bids_id='pepolarall')
j ses-01/fmap/sub-23638_ses-01_acq-rest_dir-match_run-1_epi.nii.gz
j ses-01/fmap/sub-23638_ses-01_acq-rest_dir-match_run-2_epi.nii.gz
j ses-01/fmap/sub-23638_ses-01_acq-rest_dir-match_run-3_epi.nii.gz
j- ses-01/fmap/sub-23638_ses-01_acq-rest_dir-opp_run-1_epi.nii.gz
j- ses-01/fmap/sub-23638_ses-01_acq-rest_dir-opp_run-2_epi.nii.gz
j- ses-01/fmap/sub-23638_ses-01_acq-rest_dir-opp_run-3_epi.nii.gz