Signal to noise calculations

Hi,

I have been trying to extract S/N for peaks in a 2D and I am not sure I am fully understanding the behaviour. I understand there were changes in how S/N is calculated from 3.2.2 (Signal / Noise).
What I don’t understand is why the S/N value for a peak does not change when noise level is changed. Should it not be updated automatically?
For testing I have manually changed the noise level in Properties for a 2D spectrum. Changing that does absolutely nothing to the S/N value. I like Luca’s suggestion for visualising the noise in a 1D slice. When I use get(‘SP:spectrumND_name’).noiseLevel = get(‘SP:spectrum1D_name’).noiseLevel to change the noise level to the level adjusted in a 1D slice the noise level gets updated but S/N, again, does not.
The only situation I can see S/N change is when I use the Set Noise Level button in Estimate Noise after Re-estimating noise level. Strangely, when I use the commands displayed in the Console when I do the button click that does not change the S/N.
Is this intended behaviour (and I am missing something) or is this a bug?
Could I somehow force the recalculation of the S/N after changing the noise level?

Thanks,
Józef

P.S. I am using v. 3.3.4.1 on a Mac

Hi Józef,

this is almost certainly a bug. In reality any change to a spectrum’s noise level should trigger a recalculation of the S/N values in its peak lists. I suspect at the moment it is only does this when the button in the Estimate Noise pop-up is pressed. We’ll look into it!

Vicky

Hi Józef,

I had rather forgotten about all this signal/noise stuff. We’ve got some documentation on all of this at

The signal/noise is actually calculated using the standard deviation of the noise, not the noise level itself! Changing the noise level will therefore not trigger a change in the peak S/N, since the SD (calculated automatically - I can give you a code/algorithm/equation if you like) won’t change.

You may, of course, want to take issue with the equations we are using, but that is a different issue, and perhaps we need to allow people to use different equations. So it looks like the behaviour you found is a feature, not a bug!

Vicky

Thanks, Vicky. Yes, could I get the code for calculating SD? Could I specify the region of noise to calculate SD (I mean I can do it now manually but that is a bit cumbersome, especially if I want to check a few cases)? I think in some cases the algorithm picks up some signal in the SD calculation and as a result get a too high value.
The reason I was expecting S/N ratio to change when changing the noise level is because if I understand correctly the noise level is set to the mean + 3.5*SD. If the noise level is set too high it means that the data points used for the calculation include something with too much deviation from the mean (like some weak signal - I think in my case it is not completely suppressed solvent signal). So if the noise level is adjusted then the region for which calculation is done for also should have smaller SD.
Anyway it would be nice if I could use some macros to recalculate noise SD for specific regions.
Thanks,
Józef