distortion correction using field maps in AFNI

Hello,

The unit of Hz/s was chosen as it would give an easy way to scale the field offset, without having to pass along the additional parameter of the echo-time difference used to generate the B[sub]0[/sub] map. This was not for “GE data.” This was a custom sequence written by me to generate B[sub]0[/sub] map data. Frequency to radians (per second) is a trivial scaling (lines 352 - 357 in this file). I am not sure what Siemens’ B[sub]0[/sub] sequence produces - I thought it was the phase difference between the 2 echoes. In that case, you would need to use ‘3dcalc’ to scale that data appropriately to frequency offset, so the afniB0 module in distortionFix.py can be used directly, or to RPS …

The choices made for smoothing and generally dealing with the B[sub]0[/sub] maps were the results of several weeks of iterations and trying to match a set of parameters that would be given to FSL’s distortion correction pipeline, so that field maps would be regularized / smoothed to similar extents by both pipelines. You can take a look at the “fslB0” function in the same file to see what parameter choices were passed along to fugue. If you are accustomed to using different field map smoothings with FSL/fugue, then you would need to figure out the appropriate mappings of your favorite parameter sets to AFNI commands.

I am not sure about using reg/unwarp outputs, primarily b/c I don’t know what these are. If it is a warp field, then it is technically possible that they might be usable in AFNI by 3dNWarpApply. But you would need to ensure the outputs of FSL are consistent (from geometry, orientations, scaling, etc) would be consistent with what AFNI’s commands expect.

Cheers!