Summary of what happened:
Hello!
In my eddy_config.json I included “slice_order”. But I got this error: EddyInputError: --mb, --slspec and --json mutually exclusive . I did not include “json”, so does QSIPrep automatically add this parameter when running eddy? And is there a way to disable this?
Previously, I have not had to do this and had no problems with Eddy. But for this batch of subject’s that I’m processing their DWI JSONs do not have a ‘SliceTiming’ field and as a result I am running into errors with slice2vol correction. I do however have a slspec.txt file for each subject, which is why I wanted to pass that in to eddy instead.
Thank you for your time.
Best,
Sofie
Command used (and if a helper script was used, a link to the helper script or the command generated):
apptainer run --nv --cleanenv --containall -B {root_dir} --env TEMPLATEFLOW_HOME={path} /opt/containers/qsiprep-1.1.1.sif {input_dir} {output_dir} participant --unringing-method mrdegibbs --participant-label 015138 --output-resolution 2 --fs-license-file /opt/freesurfer/license.txt --omp-nthreads 1 --eddy-config {root_dir}/eddy_config.json --bids-filter-file {root_dir}/bids_filter.json --separate-all-dwis --skip-bids-validation -w {work_dir}
Version:
1.1.1
Environment (Docker, Singularity / Apptainer, custom installation):
Apptainer
Data formatted according to a validatable standard? Please provide the output of the validator:
PASTE VALIDATOR OUTPUT HERE
Relevant log outputs (up to 20 lines):
EddyInputError: --mb, --slspec and --json mutually exclusive
Screenshots / relevant information:
eddy_cuda10.2 --cnr_maps --field={work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/hmc_sdc_wf/topup/fieldmap_HZ --field_mat=/{work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/hmc_sdc_wf/topup_to_eddy_reg/topup_reg_image_flirt.mat --flm=quadratic --ff=10.0 --acqp={work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/hmc_sdc_wf/gather_inputs/eddy_acqp.txt --bvals={input_dir}/sub-015138/ses-1/dwi/sub-015138_ses-1_acq-AP_run-001_dwi.bval --bvecs={input_dir}/sub-015138/ses-1/dwi/sub-015138_ses-1_acq-AP_run-001_dwi.bvec --imain=/{work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/pre_hmc_wf/merge_and_denoise_wf/dwi_denoise_ses_1_acq_AP_run_001_dwi_wf/degibbser/sub-015138_ses-1_acq-AP_run-001_dwi_denoised_mrdegibbs.nii.gz --index={work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/hmc_sdc_wf/gather_inputs/eddy_index.txt --mask={work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/hmc_sdc_wf/transform_mask_to_eddy/topup_imain_corrected_avg_trans_mask_trans_flirt.nii.gz --interp=spline --data_is_shelled --json={work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/pre_hmc_wf/merge_and_denoise_wf/merge_dwis/merged_metadata.json --resamp=jac --mporder=18 --niter=5 --nthr=1 --nvoxhp=1000 --out=/{work_dir}/qsiprep_1_1_wf/sub_015138_ses_1_wf/dwi_preproc_ses_1_acq_AP_run_001_wf/hmc_sdc_wf/eddy/eddy_corrected --repol --residuals --s2v_interp=trilinear --s2v_lambda=1 --s2v_niter=5 --slspec={input_dir}/sub-015138/ses-1/dwi/FSL_eddy_015138_slspec.txt --slm=none
Here is my eddy_config.json as well:
{
“flm”: “quadratic”,
“slm”: “none”,
“fep”: false,
“interp”: “spline”,
“nvoxhp”: 1000,
“fudge_factor”: 10,
“dont_sep_offs_move”: false,
“dont_peas”: false,
“niter”: 5,
“method”: “jac”,
“repol”: true,
“num_threads”: 1,
“is_shelled”: true,
“use_cuda”: true,
“cnr_maps”: true,
“residuals”: true,
“mporder”: 18,
“slice2vol_interp”: “trilinear”,
“slice2vol_niter”: 5,
“slice2vol_lambda”: 1,
“slice_order”: “{input_dir}/sub-015138/ses-1/dwi/slspec.txt”,
“output_type”: “NIFTI_GZ”,
“args”: “”
}
slspec.txt
1 38
3 40
5 42
7 44
9 46
11 48
13 50
15 52
17 54
19 56
21 58
23 60
25 62
27 64
29 66
31 68
33 70
35 72
0 37
2 39
4 41
6 43
8 45
10 47
12 49
14 51
16 53
18 55
20 57
22 59
24 61
26 63
28 65
30 67
32 69
34 71
36 73