Summary of what happened:
I have a double-shell dwi dataset and each shell acquired in 2 opposite phase-encoding directions. The preprocessing for some of my subjects did not execute cleanly and I got an error message (please see below).
Command used (and if a helper script was used, a link to the helper script or the command generated):
docker run --rm -it -v /home/moye/software/licenses/license.txt:/opt/freesurfer/license.txt:ro -v /media/moye/Data/test/data_bids:/data:ro -v /media/moye/Data/test/eddy_params.json:/sngl/eddy/eddy_config.json:ro -v /media/moye/Data/test/data_output/output1:/out pennbbl/qsiprep:0.16.1 /data /out participant --eddy-config /sngl/eddy/eddy_config.json --output_space T1w --output_resolution 3 --nthreads 4 --omp_nthreads 2 --distortion-group-merge average --dwi_only
Version:
0.16.1
Environment (Docker, Singularity, custom installation):
Docker
Data formatted according to a validatable standard? Please provide the output of the validator:
Relevant log outputs (up to 20 lines):
Traceback:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 398, in run
runtime = self._run_interface(runtime)
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/interfaces/nilearn.py", line 134, in _run_interface
new_nii = concat_imgs(self.inputs.in_files, dtype=self.inputs.dtype)
File "/usr/local/miniconda/lib/python3.8/site-packages/nilearn/_utils/niimg_conversions.py", line 487, in concat_niimgs
for index, (size, niimg) in enumerate(zip(lengths, _iter_check_niimg(
File "/usr/local/miniconda/lib/python3.8/site-packages/nilearn/_utils/niimg_conversions.py", line 160, in _iter_check_niimg
raise ValueError(
ValueError: Field of view of image #1 is different from reference FOV.
Reference affine:
array([[-1.49574971e+00, -1.03281870e-01, 4.54510152e-02,
1.11821228e+02],
[-1.12779170e-01, 1.38819790e+00, -5.56944251e-01,
-5.48834076e+01],
[ 3.71517451e-03, 5.58783770e-01, 1.39202881e+00,
-8.33356552e+01],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00]])
Image affine:
array([[-1.49574971e+00, -1.03281826e-01, 4.54506166e-02,
1.11821251e+02],
[-1.12778962e-01, 1.38819790e+00, -5.56944311e-01,
-5.48833923e+01],
[ 3.71482549e-03, 5.58783770e-01, 1.39202881e+00,
-8.33356323e+01],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00]])
Reference shape:
(140, 140, 92)
Image shape:
(140, 140, 92, 208)
Screenshots / relevant information:
I also found similar problems on githubhttps://github.com/PennLINC/qsiprep/issues/225, but there is no clear solution。
My file structure is as follows:
├── sub-1009_acq-dir107AP_dwi.bval
├── sub-1009_acq-dir107AP_dwi.bvec
├── sub-1009_acq-dir107AP_dwi.json
├── sub-1009_acq-dir107AP_dwi.nii.gz
├── sub-1009_acq-dir107AP_sbref.json
├── sub-1009_acq-dir107AP_sbref.nii.gz
├── sub-1009_acq-dir107PA_dwi.bval
├── sub-1009_acq-dir107PA_dwi.bvec
├── sub-1009_acq-dir107PA_dwi.json
├── sub-1009_acq-dir107PA_dwi.nii.gz
├── sub-1009_acq-dir107PA_sbref.json
├── sub-1009_acq-dir107PA_sbref.nii.gz
├── sub-1009_acq-dir99AP_dwi.bval
├── sub-1009_acq-dir99AP_dwi.bvec
├── sub-1009_acq-dir99AP_dwi.json
├── sub-1009_acq-dir99AP_dwi.nii.gz
├── sub-1009_acq-dir99AP_sbref.json
├── sub-1009_acq-dir99AP_sbref.nii.gz
├── sub-1009_acq-dir99PA_dwi.bval
├── sub-1009_acq-dir99PA_dwi.bvec
├── sub-1009_acq-dir99PA_dwi.json
├── sub-1009_acq-dir99PA_dwi.nii.gz
├── sub-1009_acq-dir99PA_sbref.json
└── sub-1009_acq-dir99PA_sbref.nii.gz
I want to end up with just one dwi file with a size of dir-208。