Qiang,
Some of the things I mention may be specific to the parameters used and
outputed by our scanner, we have a GE Signa HDx 14.
I don't know if you did this or not, but the values of the phase maps should
be in "radian compatible units." For example, by manipulating some of the
user control variables in the scanner, we were able to get it output values
that ranged from -pi to pi x 1000. So all I have to do is divide these
values by 1000 and add pi to get the values to be add the recommended 0 ro
2pi. Anyways, here is the current pipeline which Mark helped me to get to:
1. Convert phase maps to appropriate radian values as mentioned above. I do
fslmaths phase_map -div 1000 -add 3.14159 phase_map_rad -odt float
2. BET the magnitude images for use with prelude, this makes prelude work
much faster. When you BT these images you can also make a mask which will be
used in the next step. Then use BETed images to produce unwrap both phase
maps: prelude -a mag_BET -p phase_map_rad -o phase_map_unwrap.
3. Make a joint mask from the magnitude images. As Mark stated to me, "you
need to create a mask which excludes non-brain areas in either image, and
also excludes badly partial volumed voxels." If you made the masks of the
magnitude images when BETing, just do the following:
fslamths mag1_BET_mask -mul mag2_BET_mask avg_mask
fslmaths avg_mask -ero avg_mask_eroded
The latter command corrects for the partial volumes.
4. The next step I need to do because I have a large phase ramp in z, which
causes some problems between the two phase maps. You can also do this step,
wouldn't hurt.
fslmerge -t phase_all_unwrap phase_map1_unwrap phase_map2_unwrap
This combines the phase maps into one file
5. Next step is to make the fieldmap using fugue.
fugue --mask=avg_mask_eroded -p phase_all_unwrap --save=fieldmap --asym=what
ever the difference in TE is in microseconds. For example, my TE difference
is 2.2ms so I type --asym=0.0022
I hope this helps, let me know if you have any questions.
-Carlos
|