GE fieldmap correction with real/imaginary files

Hi @Alina_Tetereva

This reminds me old memories. I believe on HDxt system the B0Map pulse sequence (giving directly the fielmap in Hertz and a magnitude image) was not available so, at that time, people were using either a 2-echo pulse sequence or 2 acquisitions with two different TEs. And you seems to be in this last case.

You need to make some basic calculation to get the basic fieldmap and magnitude to input into fsl_prepare_fieldmap. This can be done with FSL tools or others (like mrcalc).

  1. Convert the real+imag data of the shortest TE (=TE1) into a complex volume (e.g. using fslcomplex). Let’s call that complex image I1.
  2. Convert the real+imag data of the longest TE (=TE2) into a complex volume (e.g. using fslcomplex). This second image will be called I2.
  3. Get the magnitude image of I1 (or if you wish also the magnitude of I2)
  4. Compute deltaTE (TE2-TE1) in milliseconds.
  5. Compute the phase difference as phase_diff=phase(I2./I1). This can be done with fslmaths and fslcomplex.
  6. With that you can input that in fsl_prepare_fieldmap using SIEMENS mode
    fsl_prepare_fieldmap SIEMENS phase_diff magnitude_of_I1 your_output deltaTE

A possible alternative is to do the following for point 5 and point 6.

  1. Compute the Fieldmap in Hertz as fieldmap_hertz = phase(I2./I1)/(2piDeltaTE). Not that DeltaTE should be in seconds here. This can be done with fslmaths and fslcomplex.
  2. Run fsl_prepare_fieldmap using GEHC_FIELDMAPHZ mode
    fsl_prepare_fieldmap GEHC_FIELDMAPHZ fieldmap_hertz magnitude_of_I1 your_output deltaTE

Then you should be good to go.