MEGA-PRESS preprocessing and fitting

Hi everyone,
I’m facing problems with the analysis of my MEGA-PRESS Phantom spectra (TE = 68ms and TE = 80ms). They get acquired on a Siemens 3T scanner with the Minnesota package.

For preprocessing I use Osprey functions from the FID-A library. Raw spectra get alignet (op_align_averages_fd), averaged (op_averaging) and again aligned (op_alignMPSubspecs) for ON and OFF acquisitions.
After that I try fitting with LCModel. However in the fittet data I get very bad fitment for Glu peaks around 3.7ppm.
I already tried simulating new basisspectra with TE1 = 17.2ms which helped but could not eliminate the problem. I did that with the Matlab functions of MRICloud.

I also tried calculating temperature effects and added them to the metabolite spectra for simulation of basisspectra which also did not really help.

Do you know how I can fix this problem?

Thank you for your help

Two possible explanations:

  • Can you provide more details about how you tried to calculate temperature effects that you added to the metabolite spectra? I don’t see how that would work. You need to either adjust the editing pulse frequencies for difference between in-vivo body (37C) and water phantom (presumably room-temperature) during the acquisition, or you need to change the editing pulse frequencies in the simulation accordingly. The scanner software calculates the required editing pulse frequency offsets relative to the observed water frequency. If you don’t adjust for the temperature shift, the pulses will be off-target, and you cannot retrospectively recover that information unless you completely re-simulate with different settings.
  • Another explanation might be strong differences in T2 relaxation between the two Glu multiplets… doesn’t seem terribly likely and I didn’t find much literature evidence for that, so my best bet is the editing pulse frequency offset.


Hi Georg,

thank you for your quick response.

For temperature effects I looked up chemical shift differences depending on temperature.

“Temperature dependence of 1H NMR chemical shifts and its
influence on estimated metabolite concentrations” - Felizitas C. Wermter · Nico Mitschke · Christian Bock · Wolfgang Dreher, DOI: 10.1007/s10334-017-0642-z

I calculated the new chemical shifts for scanner room temperature (21°) and saved them in the spinSystems.mat used for the simulation of basisspectra by MRICloud.

So you guess its because of differences of editing pulse frequencies in the simulations and the acquired spectra?


Hi Lennart,

I guess this option could work, although it feels very tedious to me. How much did you shift the metabolites by?

The other thing I remembered is that MRSCloud is generally geared towards helping beginners simulate ‘common’ in-vivo acquisition protocols and deliberately doesn’t give a lot of flexibility to customize the simulations. The MEGA-PRESS that MRSCloud simulates is, IIRC, the Siemens WIP version, which will have different sequence timings and probably even different editing pulses. You could contact the Minnesota folks to see if they are willing to share a phantom basis set with you.


Hi Georg,

the maximum shift I calculated was in the region of 0,015ppm. I’m just curious why every other peak gets fittet quite nice but not the Glu around 3,7ppm.

Thats a good idear. I’m going to do that.

Thanks a lot for your help again!

A total shift of 0.015 ppm doesn’t sound like it’s enough. The temperature shift is approximately 0.01 ppm per degree Celsius.

Okay. I used the values of table 1 of this paper:

There it seems as if the temperature dependence would be between 0 and 8 *10^-4 ppm/K.

Do you know where I can get better values?

These are relative changes of the chemical shifts within each spin system. As you say, they are small and (probably) negligible. The main problem for spectral editing is the large thermal shift of the water signal (see, e.g. , Non-invasive MR thermography using the water proton chemical shift: International Journal of Hyperthermia: Vol 21, No 6 (

The scanner internally calculates the required editing pulse frequency offset relative to the frequency of the observed maximum water signal. The internal assumption is that water at in-vivo temperature and physiological pH appears at a chemical shift of 4.68 ppm. A 1.9-ppm editing pulse will therefore be applied with an offset frequency corresponding to a chemical shift of (4.68 - 1.9) ppm, that’s approximately 340 Hz at 3T.

This pulse offset will be incorrect at room temperature because the thermal shift of water is greater than that of the metabolites, but the scanner still applies the pulse at the same offset (340 Hz) relative to the observed water signal.

The easiest way to correct for this in-vitro is to actually measure the required offset. I usually run a quick short-TE scan and then eyeball the difference between the water peak and the NAA peak with the scanner MRS visualization. Nominally (in-vivo), this should be (4.68 - 2.01) = 2.67 ppm. In-vitro, this will shift toward (4.68 - 1.9 ppm) = 2.78 ppm. I then shift my editing pulse frequencies by the difference between the nominal and observed difference, here, I’m shifting my 1.9-ppm pulse to 2.01 ppm. They should then hit the metabolites in the same spots as they would in-vivo.

Does that make sense?

Yes, I could understand you perfectly! I Never thougth abput this effect. I’m going to try that.

Thank you!

Hi Georg,
If the chemical shift differences at in-vivo temperature are
for NAA (4.68 - 2.01) ppm = 2.67 ppm and for the
MEGA pulse (4.68 - 1.9) ppm = 2.78 ppm and at in-vitro temperature
for NAA (4.68 - 2.01 + 0.11) ppm = 2.78 ppm, the chemical shift difference to water will be
(4.68 - 1.9 + 0.11) = 2.89 ppm. So you have to shift the MEGA pulse from 1.9ppm (in-vivo) to 1.79 (in-vitro) - in case there are no other temperature effects than the shift of the water signal.


1 Like

You’re of course right - I messed up the direction. If the shift between water and metabolite grows, then the editing pulse frequency offset needs to grow as well.