Misaligned Peaks After Processing in HERMES Data

Dear Experts,

I’m noticing that our Cho, Cr, and NAA peaks in one of our HERMES datasets are pretty drastically misaligned for several participants. Please find below screenshots of OspreyProcess output for example participants.

We are using the following approach in Osprey 2.5.0:

"seqType": "HERMES",
  "editTarget": [
  "dataScenario": "invivo",
  "MM3coModel": "3to2MM",
  "FWHMMM3co": "",
  "SpecReg": "RobSpecReg",
  "SubSpecAlignment": "L2Norm",
  "UnstableWater": "0",
  "method": "Osprey",
  "ECCmetab": "1",
  "ECCmm": "1",
  "includeMetabs": [
  "style": "Separate",
  "lolim_range": "0.5",
  "uplim_range": "4.0",
  "lolim_rangew": "2.0",
  "uplim_rangew": "7.4",
  "bLineKnotSpace": "0.4",
  "fitMM": "1"

I have tried L1Norm with no visible improvement in alignment quality. Is there another fix we can make on our end to improve alignment?

I’m happy to provide anything that may be helpful!

Warm regards,


Hi Mark,

Just to clarify, do you mean the shift in the left-hand panels? To my eye, it looks like the alignment between the individual transients and sub-spectra is good, there’s just an overall frequency shift in the data, which (I think) is coming from the initial frequency offset in your acquisition as shown in the top-right panel. However, this is removed in the fourth panel, so I think the data should be fine from the processing standpoint.

Also, in case it’s useful for future reference, the parameter “SubSpecAlignment” is used for alignment of the sub-spectra following spectral registration, which—as evidenced by the bottom-right plot—appears to be doing a decent job. The method to change the alignment procedure of the individual transients is prescribed by opts.SpecReg, which can be set to ‘ProbSpecReg’ or ‘RestrSpecReg’.

Hope that helps,

1 Like

Thank you for the very informative answer! To clarify, as long as the frequency offset is eliminated by the fourth panel, the data should be fine?

Hi Mark,

From a data processing perspective, I’d say yes. I believe there’s an overall frequency adjustment made for the compiled sub-spectra using the function osp_XReferencing, and I don’t think this is visible in the other three panels. (Worth double-checking in the modeling window, though)

However, this doesn’t correct the data completely. If the scanner was off resonance, then it would mean that the editing pulses applied during your HERMES scan were also off. This reduces the editing efficiency and therefore the signal amplitude of GABA/GSH etc. and we don’t correct for this in Osprey.


1 Like

Thank you for the very comprehensive explanation! I will have a look at the function you reference to get a better sense of how it works/what it is doing.

1 Like