Balanced SSFP sequences provide images that, theoretically
have very well refocused signal. Thus, the signal should be
purely real, and alternating in sign for different resonant
frequency bands. Please see
Hargreaves et al, MRM June 2003
for a full description.
Phase in the image can result from the use of surface coils,
timing mismatches between gradients and acquisition, or
the 3D slab profile used. In these cases, a region-growing
phase correction can be used after Fourier Image Reconstruction.
Following the phase correction, voxels can be separated into
water (negative real part) and fat (positive real part).
Region-Growing Phase Correction
Rather than use a low-frequency field map scheme, we take
advantage of the fact that both fat and water voxels will
usually have high signal. The image is broken up into small
cells, 4x4x4 or so voxels each (or larger). The average phase
of each cell is calculated, by finding the best fit line
through a complex scatter of all points AND the origin. This
technique leaves a 180-degree ambiguity in the detected phase,
which is then resolved by keeping the phase added to neighboring
cells similar.
Matlab Code Included
For now, I have included matlab functions for the region-growing
phase correction. There is a primitive 3D viewer for image
data, and a sample data set to test these. Note that the
sample dataset is rather large, 38 MB. Please send me
any comments on what worked and did not -- I will try to maintain
this software. Here are some Matlab functions of interest:
disp3dmp.m -- Primitive 3D image viewer in Matlab. Allows you
to interactively view different planes of image
magnitude and phase. Left button changes the plane,
Right button exits.
rgphcorr.m -- Region-growing phase correction function. Some day
we hope to write this in C, but it hasn't yet
happened! Not that the result of this function
is to give fat pixels a phase of about 0, and
water pixels a phase of about 180 degrees.
Matlab Download/Example Instructions
Save the tar file, psssfp.tar.gz
to your computer. To extract the files, execute "tar -xzvf psssfp.tar.gz"
from the directory where you have saved the file.
I have not written much of a guide, but you are welcome
to try using the following C-code, which is pretty well
commented, and will do the same
thing as the above Matlab code. Please see the
files/readme.txt
file for a description of the other files. You must compile
the C code (such as sample.c) using a gcc or other compiler.