Subject: Noise estimation
From: Thomas Goddard
Date: Jul 19, 2006



Date: Thu, 29 Jun 2006 14:12:07 -0400
From: Dustin Ryan Hadden
To: sparky@...
Subject: peak estimation

Hello,

I am having trouble reconciling some signal to noise values. I would like to
know the algorithm that sparky uses to estimate noise. Any help is much
appreciated.

Thank You,

Dustin Hadden


Hi Dustin,

The spectrum settings dialog (st) lets you set the noise value for
a spectrum that will be used in computing signal / noise. It also allows
you to compute a noise value as the median of N randomly chosen points
in the spectrum. This is described in the Sparky manual:

Estimated noise

The spectrum settings dialog (st) lets you adjust the estimated noise
level. This value is used in peak lists when data height is shown as a
signal/noise ratio. By default it is estimated as the median of 30
randomly sampled absolute value data heights. You can reestimate the
value by specifying how many data points to sample and pressing the
Recompute button. The new noise estimate will be displayed. This does
not become the new noise value for the spectrum unless you press Ok or
Apply. Taking 1000 samples gives a noise estimate that will vary by
about 3% with different samples. Estimating with more samples can take
alot of time because typically only a small portion of a spectrum is
kept in memory and most data points will be accessed from the hard
disk.

This is may not be a statistically useful measure of noise, particularly
if noise values are both positive and negative.

Another approach to get a noise values is use the Region RMSD tool (rm),
menu entry Extensions / Spectrum / Spectrum region RMSD. This allows you
to drag a box in a spectrum and reports the root mean square deviation
from the mean in that box

sqrt(sum((spectrum value)**2 - (mean value in region)**2)) / (number of values)

where the sub is over all spectrum grid points in the box. You could drag
a box in a region you consider to be just noise (no peaks). The tool
also reports the mean and number of grid points in the box. Unfortunately
it does not report the root mean square (deviation from 0) which might be
most useful. You can compute this using the reported values. If you were
really ambitious you could add that the the python code regionrmsd.py
in directory sparky/python/sparky if needed.

Sorry for the long delay in replying. I was on vacation June 27 to July 18.

Tom