Processing Lactate MEGA-PRESS Data in Gannet

Hi All,

I have been using Gannet to process lactate MEGA-PRESS phantom scans acquired according to the Saleh el al. (2019) universal sequence. The phantom contained only lactate and fatty acids. I have edited pre-initialization to indicate lactate as the editing target. I’ve also acquired 1) a water reference for eddy current correction and 2) modified pre-initialization settings consistent with scanning a phantom.

I can read the data into Matlab without issue, but once I get to the GannetFit module I don’t see outputs mentioning Lac. If anything, I see fit and quantification statistics involving GABA, Glx, and Cr. None of these compounds were included in my phantom, so I am unclear if this is a nomenclature issue, an issue with my code, or something else entirely.

I’d gladly appreciate any insight Gannet developers or users can provide. Thanks again for this neat software! I look forward to using it frequently going forward.


Wanted to include the output of the GannetLoad module as well:

Hi @tjgross,

Just to check, did you set the editing target to Lac in GannetPreInitialize? Gannet processes and fits the data depending on options specified there. There’s also a phantom flag in there that should be enabled for your data.

Hope that helps,

Hi @tjgross,

As @Chris_Davies-Jenkins mentioned, the phantom flag needs to be set to 1. Also, set alignment none. You should also use GannetFitPhantom instead of GannetFit if you want to fit your phantom data.


Thanks @Chris_Davies-Jenkins @mmikkel ,

I’ve attached a screenshot of my GannetPreInitialize script here. I’ve set the editing target to Lac, MRS_struct.p.phantom = 1, and MRS_struct.p.alignment = 'none' . I wonder if some of the issues could be because of how I’ve specified MRS_struct.p.ONOFForder = 'offfirst' ? Perhaps this is incorrect for the Hopkins universal sequence? I could be misinterpreting the pulse sequence diagrams of Saleh et al.'s Figure 1 from their 2019 paper.

If it helps to further diagnose the issue @mmikkel, GannetFitPhantom throws the following error when I run GannetPreInitialize with my modified (screenshotted) script followed by GannetLoad:

Fitting GABAGlx...
Error using GannetFitPhantom
Fitting GABAGlx not recognised


Please download and try using the latest version of Gannet, where ONOFForder has been removed.

Hi @mmikkel,

I’m circling back to this analysis and recalled your comment. Does this still apply to v3.3.1 of Gannet? I’m using the JHU universal sequence.

It looks like phantom data such as mine still require the specification of on/off order through GannetLoad :

if MRS_struct.p.phantom
    if MRS_struct.p.HERMES
        out = input('What was the order of the HERMES editing pulses in the experiment? E.g., CBAD: ','s');
        out = input('Which editing pulse was first in the experiment? ON or OFF: ','s');

Hi @tjgross,

In the current version of Gannet, when phantom data are indicated, you will manually need to enter the editing order, as shown in the code you’ve shown.

Assuming this is still lactate data acquired on a Siemens scanner, please enter 'ON' at the input prompt.