Dear all,
I got following error message while running eddy with preproc script.
terminating with uncaught exception of type EDDY::KMatrixException: KMatrixException: msg=MultiShellKMatrix::SetDiffusionPar: Data not shelled
Top up works fine, but eddy failed.
Here is my logfile:
mrconvert /Users/..../E_merged_denoised.mif /Users/.../dwipreproc-tmp-H4MSKE/dwi.mif -fslgrad /Users/.../E_allbvecs.bvec /Users/..../E_allbvals.bval
mrconvert /Users/..../E_b0.mif /Users/..../dwipreproc-tmp-H4MSKE/topup_in.mif
mrinfo dwi.mif -export_grad_mrtrix grad.b
mrconvert topup_in.mif topup_in.nii -import_pe_table topup_manual_pe_scheme.txt -stride -1,+2,+3,+4 -export_pe_table topup_datain.txt
topup --imain=topup_in.nii --datain=topup_datain.txt --out=field --fout=field_map.nii.gz --config=/Applications/FSL/etc/flirtsch/b02b0.cnf
mrconvert dwi.mif -import_pe_table dwi_manual_pe_scheme.txt - | mrinfo - -export_pe_eddy applytopup_config.txt applytopup_indices.txt
dwiextract dwi.mif -import_pe_table dwi_manual_pe_scheme.txt -pe 0,-1,0,0.1 dwi_pe_1.nii
applytopup --imain=dwi_pe_1.nii --datain=applytopup_config.txt --inindex=1 --topup=field --out=dwi_post_topup.nii.gz --method=jac
mrconvert dwi_post_topup.nii.gz -grad grad.b - | dwi2mask - - | maskfilter - dilate - | mrconvert - mask.nii -datatype float32 -stride -1,+2,+3
mrconvert dwi.mif -import_pe_table dwi_manual_pe_scheme.txt dwi.nii -stride -1,+2,+3,+4 -export_grad_fsl bvecs bvals -export_pe_eddy eddy_config.txt eddy_indices.txt
On the Fsl email list I found some similar question https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1609&L=fsl&D=0&P=115815
but the answere was to run eddy with the –data_is_shelled option.
_This switch will override the internal check to ensure that date are acquired on a set of b-value shells (as opposed to DSI). It has emerged that the internal check is a little too stringent for some popular (shelled) acquisitions. By specifying --data_is_shelled you “promise” that is is actually shelled._
Because I want to use eddy on all my multishell data at the same time I merged all my shells to a big multishell dataset thus I dont have to do a registration an bmatrix rotation afterwards. I guess it would work with the recommended data_is_shelled option!
Maybe somebody had the same problem and could help me.
Thank you.
Max