Dear Jesper,
I manually edited the dz variables in the headers of the relevant DWI scans (rounding down to 2 decimals) and that did the trick. Eddy_cuda now works.
Thanks!
Chris
-----Oorspronkelijk bericht-----
Van: FSL - FMRIB's Software Library <[log in to unmask]> Namens Jesper Andersson
Verzonden: maandag 11 februari 2019 14:49
Aan: [log in to unmask]
Onderwerp: Re: [FSL] eddy_cuda scan<->susc mismatch error
Dear Chris,
>
> Dear FSL experts,
>
> I have a problem with eddy_cuda.
> I'm trying to run the following commands:
>
> # top up
>
> topup --imain=${refscans} --datain=dti_refparams.txt --config=b02b0.cnf --out=dti_topup_bu_td --iout=dti_un_img > ${name}_topup.log
>
> # create nodif mask
> fslmaths dti_un_img -Tmean nodif
> bet nodif nodif_brain -m -f 0.2
>
> # run eddy
> eddy_cuda --imain=${DWIimage_denoised} --mask=nodif_brain_mask.nii.gz --topup=dti_topup_bu_td --acqp=dti_acqparams.txt --index=index.txt --bvecs=${bvec} --bvals=${bval} --out=DWI_${x}_ECV \
> --mporder=4 --slspec=slspec.txt --s2v_niter=5 --s2v_lambda=1 --s2v_interp=trilinear --repol --verbose
>
> when doing so I get the following error from eddy_cuda:
> Loading prediction makereddy: msg=EddyInternalGpuUtils::field_for_scan_to_model_transform: scan<->susc mismatch.
>
> after some searching I found out that this likely means that there was a mismatch between the DWI scan and the susceptibility scan, i.e.
> dti_topup_bu_td_fieldcoef.nii.gz (--out from topup).
>
> Indeed, fslinfo shows that the eddy imain scan has the following dimension
> dim1 128
> dim2 128
> dim3 56
> dim4 80
> pixdim1 1.875000
> pixdim2 1.875000
> pixdim3 2.500151
>
> and dti_topup_bu_td_fieldcoef.nii.gz
> dim1 67
> dim2 67
> dim3 31
> dim4 1
> datatype 16
> pixdim1 2.000000
> pixdim2 2.000000
> pixdim3 2.000000
> pixdim4 1.000000
>
>
> Does topup perform some type of reslicing that results in this image having smaller matrix dimensions and another voxel size?
the main output from topup is the coefficients for a spline field. So the 67x67x31 coefficients will be convolved with a 2x2x2 voxel spline kernel to produce the final field.
> Because the input scans for topup (A/P en P/A in 4D image) have the following dimensions
> dim1 128
> dim2 128
> dim3 56
> dim4 2
> datatype 4
> pixdim1 1.875000
> pixdim2 1.875000
> pixdim3 2.500148
>
> This is the same as for the DWI image apart perhaps from pixdim3 which is slightly different (2.500148 vs 2.500151).
Yes, I am afraid that is the problem. It performs checks to make sure people hasn’t mistakenly passed in the wrong field. And that check looks for identical image matrices and voxel sizes that don’t differ more than 10^{-6} mm in any direction. I think the easiest for you would be to edit the header of the input file to topup to have the same voxel size in the z-direction as the input to eddy, rerun topup and then feed the new field into eddy.
Jesper
>
> How can I prevent dti_topup_bu_td_fieldcoef.nii.gz from getting other dimensions than the topup input image and DWI image or correct for it afterwards? Or are there other ways to fix the error with eddy_cuda? Note that with eddy the command does work (apart of course from the slice-to-volume correction for which I want to use eddy_cuda)
>
> thanks and all the best,
>
> Chris
>
> ########################################################################
>
> To unsubscribe from the FSL list, click the following link:
> https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=FSL&A=1
########################################################################
To unsubscribe from the FSL list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=FSL&A=1
______________________________________________________
VUmc disclaimer : www.vumc.nl/disclaimer
AMC disclaimer : www.amc.nl/disclaimer
########################################################################
To unsubscribe from the FSL list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=FSL&A=1
|