In Gannet, frequency and phase correction of individual dynamics is performed by fitting the Cr signal in the frequency domain to estimate the frequency and phase shift (as per Waddell et al. MRI 2007). This approach has at least two limitations. Firstly, there is some similarity (over a small frequency range) between a small frequency shift and a small phase shift, leading to ambiguity in the fitting parameters. Secondly, the approach is SNR-restrictive because it focuses in on one peak (of many) to figure out the frequency and phase. For this reason, the correction will fall over below a certain voxel size (separate from the question of whether the final GABA signal is of good SNR through averaging).
Therefore we are in the process of implementing a new time-domain algorithm discussed by Jamie Near at ISMRM 2013, which estimates frequency and phase shifts by using all of the available signal. This approach seems to result in substantially improved correction, as typified by the example below.
Comparison of GannetLoad output using the old frequency correction (left) and the new Spectral Registration algorithm (right). The post-correction spectrum has substanitally smaller subtraction artefacts using Spectral Registration, and the frequency-correction output below shows much improved consistency between spectra post-alignment.
Algorithm courtesy of Jamie Near; Figure courtesy of Ashley Harris.