Dear Aldana,
as I thought the problem comes from the dual echo-time fieldmaps. It looks like they have not been masked sufficiently conservatively. When I look at them I see an “edge” of 1--2 voxels with nonsense values, and these are what creates your problem. You are “lucky” in that your diffusion data has a very high bandwidth, which means that the problem isn’t as severe as one might have feared from just looking at your fieldmaps.
If you for example look at voxels [29 56 20] and [29 57 20] in the fieldmap of the subject that didn’t work you see that the “field” jumps from 54Hz to -175Hz in just one voxel, which with your bandwidth and PE is the same as going from a -2 voxel shift to a +7.5 voxel shift in just a single voxel. This causes the inversion of the field (done internally in eddy) to fail completely, and ultimately causes the problems you see.
I would suggest the following, small, change to your pipeline below
> 3. Transform T1 brain mask to phase space
> flirt -in wT1_brain_spm_mask.nii.gz -ref phase.nii -applyxfm -init inv_phase_to_T1 -o wT1_brain_spm_mask_PHASEspace
>
3b. Make sure only voxels where at least half of the voxel falls within the mask are considered
fslmaths wT1_brain_spm_mask_PHASEspace -thr 0.5 wT1_brain_spm_mask_PHASEspace
> 4. Prepare fieldmap
> fsl_prepare_fieldmap SIEMENS phase.nii wT1_brain_spm_mask_PHASEspace field_map_rad_s 2.46
>
> 5. Transform rad/s to Hz
> fslmaths field_map_rad_s -div 6.2831853072 field_map_Hz
>
> 6. Transform the field_map to DWI space
> flirt -in field_map_Hz -ref b0_brain.nii.gz -dof 6 -omat field_map_Hz_to_b0_mat -applyxfm -usesqform -out field_map_Hz_to_b0
6b. Apply some smoothing to the field remove the sharpe edges of the field
fslmaths field_map_Hz_to_b0 -s 5 field_map_Hz_to_b0
>
> 7. Eddy corrections
> eddy_openmp --imain=data.nii --acqp=acqparams_004386.txt --index=index.txt --bvecs=bvecs --bvals=bvals --mask=b0_brain_mask.nii.gz --field=field_map_Hz_to_b0 --repol --cnr_maps --very_verbose --out=myeddy
This worked for me on the data set you sent me that didn’t work with your current pipeline.
It is not 100% ideal to have to smooth the fieldmap, but the reality is that the “true” field will be smooth so some additional smoothing is not the end of the world.
There is likely to be a tradeoff between the thresholding step and the smoothing step, such that if you threshold a little more aggressively (for example 0.1 instead of 0.5) you may get away with less smoothing (for example 2.5 instead of 5), but you would have to do a little trial and error for that.
Good luck. I hope this will work for you.
Jesper
> On 30 Aug 2019, at 08:01, Aldana Lizarraga <[log in to unmask]> wrote:
>
> Dear Jesper,
>
> Thanks for your help. I agree on that total readout time (0.043). I run Eddy with that value and it worked for many subjects, but not for all. It's strange because the acquisition parameters were the same. These are the steps I followed to get the field map and correct the images:
>
> 1. Transform the phase to T1 space
> flirt -in phase -ref wT1_brain_spm.nii.gz -dof 6 -omat phase_to_T1 -applyxfm -usesqform -out phase_to_T1
>
> 2. Matrix Inversion
> convert_xfm -omat inv_phase_to_T1 -inverse phase_to_T1
>
> 3. Transform T1 brain mask to phase space
> flirt -in wT1_brain_spm_mask.nii.gz -ref phase.nii -applyxfm -init inv_phase_to_T1 -o wT1_brain_spm_mask_PHASEspace
>
> 4. Prepare fieldmap
> fsl_prepare_fieldmap SIEMENS phase.nii wT1_brain_spm_mask_PHASEspace field_map_rad_s 2.46
>
> 5. Transform rad/s to Hz
> fslmaths field_map_rad_s -div 6.2831853072 field_map_Hz
>
> 6. Transform the field_map to DWI space
> flirt -in field_map_Hz -ref b0_brain.nii.gz -dof 6 -omat field_map_Hz_to_b0_mat -applyxfm -usesqform -out field_map_Hz_to_b0
>
> 7. Eddy corrections
> eddy_openmp --imain=data.nii --acqp=acqparams_004386.txt --index=index.txt --bvecs=bvecs --bvals=bvals --mask=b0_brain_mask.nii.gz --field=field_map_Hz_to_b0 --repol --cnr_maps --very_verbose --out=myeddy
>
> I uploaded here https://drive.google.com/file/d/1MB5IT5Q-7ae0lOpQxJHL8U_HRCePz0cK/view two examples of "good" and "bad" Eddy performance (as well as the intermediate steps). I would really appreciate if you can take a look at them to find out what I should correct.
>
> Best regards,
>
> Aldana
>
########################################################################
To unsubscribe from the FSL list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=FSL&A=1
|