A. The plot top left shows the processed GABA-edited difference spectrum, the key output of the GannetLoad module. This plot shows the spectrum before frequency and phase correction above in green and the spectrum after frequency and phase correction below in blue. Hopefully the spectrum below should look nicer than the spectrum above. B. The plot top right shows the frequency of the maximum point in the spectrum (usually residual water signal) plotted against time. Time is measured at the resolution of time-resolved data is fed in. The y-axis is free to scale according to the data, so be sure to check the y-range. This information can be interpreted in several ways, but it gives qualitative information on the stability of the experiment, e.g. field drift, subject motion, accuracy of prospective frequency correction etc. Field drift will appear as a non-zero slope in this trace, and movement as a discontinuity in the trace. Some datapoints may be circled in red in this plot. These are datapoints that have been rejected – see more below. C. The plot bottom left presents the Cr signal over the duration of the experiment (same x-axis as B). The y-axis here represents the frequency in ppm of the Cr signal. The spectra at each timepoint are presented as a vertical stripe in the image, color-coded according to signal intensity, so the Cr signal should appear as a ‘hot’ stripe running through the image. In the upper half (PRE), the stripe should vary in frequency in a similar fashion to the water plot in B. In the lower half (POST), the result of frequency and phase correction (default is spectral registration SR3) is shown and ideally a more uniform horizontal stripe should appear. In the lower half (POST), some rows will appear as a dark blue stripe (i.e. no Cr peak at all). These rows, corresponding to the red circled points in B, have been rejected because one of the fitting parameters used for frequency correction lie more than three standard deviations from the mean. When an outlier is identified for rejection, rejection is always performed pairwise, i.e. if an OFF scan is rejected, a neighbouring ON scan will also be rejected, so as to balance the number of OFFs and ONs for subtraction.
A. The plot top left shows the modeling of the GABA signal. The GABA-edited spectrum is shown in blue (across a more limited ppm range than in the GannetLoad output). Overlaid in red is the model of best fit (using a simple Gaussian model by default). Below the plot, the residual between these two is shown in black. B. The plot bottom left shows the modeling of the signal against which GABA is quantified. Again data are blue, models are red and residuals below are black. If no water data is provided, the spectrum shown will be the Cr signal from the OFF spectrum. If unsuppressed water data are supplied, then the main spectrum will be the water signal and the Cr signal will be shown in an inset. The water signal is modeled as a mixed Gaussian-Lorentzian. From Gannet 2.0 onwards, Cr and Choline (Cho) are modeled as two Lorentzians (with the same linewidth and a fixed frequency separation). In red both the full model and the Cr component of that model are shown. C. The right-hand panel contains the results of the fitting, including the file name, number of averages, the width of the fitted GABA signal, the integral area of GABA, Cr and water models, the fit error of the models (defined as the standard deviation of the residuals expressed as a percentage of the signal height), the GABA concentration expressed in institutional units relative to water and as an integral ratio relative to Cr, and the code versions of GannetFit and GannetLoad used.
GannetCoRegister takes location and orientation information from the headers of MRI and image data, and generates a binary mask representing the voxel location in the matrix of the image. This is then visualized in three planes.
GannetSegment calls an SPM segmentation of the T1-weighted anatomical image, and reports the tissue fractions of the voxel mask generated by GannetCoRegister. If the segmentation has already been run, the prior output files will be used instead (segmentation is realtively slow).
GannetQuantify is the final step, combining modeled peak areas from GannetFit and voxel tissue fractions from GannetSegment with preset values for GABA and water relaxation and visibility, to deliver concentration values. Currently several values are output, which correct for tissue fractions to differing degrees.
The Commonest Error
The single commonest error in Gannet arises from mis-setting the switches onofforder or WaterPositive in GannetPreinitialise.m. These switches correspond respectively to whether the first average is an edit-ON or edit-OFF average, and whether the residual water signal is positive or negative with respect to the spectrum (which is a largely stable outcome depending on what water suppression scheme is used). In the cases of this dataset (right), the Cr signal (bottom left) is phased positively, so WaterPositive is set correctly, but the edited difference spectrum (top left) is negative, so onofforder needs to be flipped.