Dwifslpreproc running "forever" on IVIM data

Hi,

I am attempting to run dwifslpreproc on some IVIM data, but even after running the command for many days, it does not progress from the step shown below:

Here is the call I use:
dwifslpreproc mTBI-01_day3_IVIM_re_combined_den_gibbs.mif mTBI-01_day3_IVIM_prep.mif -pe_dir IS -rpe_none -eddy_mask mTBI-01_day3_dwi_mask.nii.gz -eddy_options “–slm=linear --data_is_shelled”

I have used this call on very similar DKI data on the same pc. In this case, the CUDA version also failed, but it still proceeded to finish in around 1 hour.

Here is a list of my b-values used (rounded for readability):
24.7 24.7 24.7 24.7 24.7 31.6 44.4 71.1 122.9 224.2 530.2 31.9 41.7 64.0 109.7 206.7 509.5 31.6 42.0 64.8 112.6 212.6 512.6 1044.3 1037.8 1038.8 1034.6 1034.1 1031.8 1033.2 1026.9 1034.4 1027.4 1029.1 1024.9 1023.7 1026.7 1020.8 1019.2 1022.5 1019.4 1013.2 1022.2 1012.7 1008.1 1010.3 1009.7 1013.8 1007.5 1010.7 1009.5 1007.0 1009.8

The first five b-values (24.7) are the b0s. I then have 6 low b-value shells acquired in 3 directions, followed by a b=1000 shell acquired in 30 directions.

I have been stuck on this issue for months, and would really appreciate some help and guidance. Let me know if you require any additional information.

All the best,
Tobias

Hi,

If you remove the -eddy_option, does the processing still not progress?

Hi,

When removing the -eddy_options, the command does not run, but causes a weird error, as pasted below. I’m not sure how to interpret it. Adding in “–slm_linear” results in the same error, so it seems to stem from the lack of “–data_is_shelled”.

"
(py3.10) wei@t640:~/data/tobias/data_test/IVIM_test$ dwifslpreproc test_bep400.mif test_bep400_prep.mif -pe_dir IS -rpe_none -eddy_mask mTBI-01_day3_dwi_mask.nii.gz
dwifslpreproc:
dwifslpreproc: Note that this script makes use of commands / algorithms that have relevant articles for citation; INCLUDING FROM EXTERNAL SOFTWARE PACKAGES. Please consult the help page (-help option) for more information.
dwifslpreproc:
dwifslpreproc: Generated scratch directory: /home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/
Command: mrconvert /home/wei/data/tobias/data_test/IVIM_test/test_bep400.mif /home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/dwi.mif -json_export /home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/dwi.json
Command: mrconvert /home/wei/data/tobias/data_test/IVIM_test/mTBI-01_day3_dwi_mask.nii.gz /home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/eddy_mask.mif -datatype bit
dwifslpreproc: Changing to scratch directory (/home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/)
Command: dirstat dwi.mif -output asym
dwifslpreproc: [WARNING] sampling of b=165 shell is strongly asymmetric; distortion correction may benefit from use of: -eddy_options " … --slm=linear … "
dwifslpreproc: [WARNING] sampling of b=1022 shell is strongly asymmetric; distortion correction may benefit from use of: -eddy_options " … --slm=linear … "
dwifslpreproc: Total readout time not provided at command-line; assuming sane default of 0.1
Command: mrinfo dwi.mif -export_grad_mrtrix grad.b
Command: mrconvert eddy_mask.mif eddy_mask.nii -datatype float32 -stride -1,+2,+3
Command: mrconvert dwi.mif -import_pe_table dwi_manual_pe_scheme.txt eddy_in.nii -strides -1,+2,+3,+4 -export_grad_fsl bvecs bvals -export_pe_eddy eddy_config.txt eddy_indices.txt
Command: eddy_cuda10.2 --imain=eddy_in.nii --mask=eddy_mask.nii --acqp=eddy_config.txt --index=eddy_indices.txt --bvecs=bvecs --bvals=bvals --out=dwi_post_eddy --verbose
dwifslpreproc: CUDA version of ‘eddy’ was not successful; attempting OpenMP version
Command: eddy_cpu --imain=eddy_in.nii --mask=eddy_mask.nii --acqp=eddy_config.txt --index=eddy_indices.txt --bvecs=bvecs --bvals=bvals --out=dwi_post_eddy --verbose

dwifslpreproc: [ERROR] eddy* --imain=eddy_in.nii --mask=eddy_mask.nii --acqp=eddy_config.txt --index=eddy_indices.txt --bvecs=bvecs --bvals=bvals --out=dwi_post_eddy --verbose (app.py:199)
dwifslpreproc: [ERROR] Information from failed command:
dwifslpreproc:
=============
eddy_cuda10.2
=============
Reading images
P�{U

           EDDY::: Eddy failed with message 
           
           
           ========
           eddy_cpu
           ========
           Reading images
           ��s�NV
           
           EDDY::: Eddy failed with message 
           
           
           =============
           eddy_cuda10.2
           =============
           
           
           ========
           eddy_cpu
           ========

dwifslpreproc:
dwifslpreproc: [ERROR] For debugging, inspect contents of scratch directory: /home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/
dwifslpreproc: Scratch directory retained; location: /home/wei/data/tobias/data_test/IVIM_test/dwifslpreproc-tmp-AQ4258/
"