I ran Osprey on Philips MEGA-PRESS data using the latest Github version, but was not happy with how the loaded spectra appeared. Using version 2.5.0 instead produced noticeably different results. Looks like the latest version introduces some kind of distortion in the spectra compared to latest release version?
The only relevant commit I could find was from June 27:
%Remove phase cycle for Philips data
if isfield(hdr_ext, ‘Manufacturer’) && strcmp(hdr_ext.Manufacturer,‘Philips’)
fids = fids .* repmat(conj(fids(1,:,:))./abs(fids(1,:,:)),[size(fids,1) 1]);
Below are outputs from the respective versions. Which one should I trust?
Plot from latest code:
Plot from version 2.5.0:
Thanks for reporting the issue.
I am more concerned with the overall phase in your data which is interfering with the spectral registration (unfortunately it is working better in version 2.5.0) Any chance that you can share this dataset? I want to try something to improve the results.
Thank you for helping out! I sent you a PM with the dataset in the above example.
I noticed now that a recent option was added to toggle undoPhaseCycling. Is the recommendation to leave this off in cases such as the above?
I note that in most cases, undoPhaseCycling (I assume this is the culprit) indeed seems to correct phase in our data (see below example). Curiously though, it always results in slighly lower SNR and wider FWHM for GABA. Is this expected?
Sorry, I have dropped the ball to tell you that I have added this flag.
I’d recommend you use it for all subjects in your study to be consistent.
The lower SNR comes from the fact that the creatine artifact contributes to a higher ‘signal’ if the alignment isn’t optimal. If the alignment is optimal there’s no creatine artifact (as visible in your first figure) and the apparent signal is lower. And a decrease in linewidth is also a good thing as this indicates a better alignment between the transients. Out of curiosity do you see the same for the edit-OFF linewidth?
That makes total sense that creatine would contribute to a “false” increase in SNR. In off-spectra, it does seem like SNR for tCr is slightly decreased with undoPhaseCycling while FWHM is virtually unchanged, see below: