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).
- 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.
- 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.
- Get the magnitude image of I1 (or if you wish also the magnitude of I2)
- Compute deltaTE (TE2-TE1) in milliseconds.
- Compute the phase difference as phase_diff=phase(I2./I1). This can be done with fslmaths and fslcomplex.
- With that you can input that in
fsl_prepare_fieldmapusing 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.
- 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.
- Run
fsl_prepare_fieldmapusing GEHC_FIELDMAPHZ mode
fsl_prepare_fieldmap GEHC_FIELDMAPHZ fieldmap_hertz magnitude_of_I1 your_output deltaTE
Then you should be good to go.