Demean: Mean to be subtracted from time series is now calculated from noise part only.

This commit is contained in:
Ludger Küperkoch 2015-06-24 09:29:59 +02:00
parent 123634924b
commit 728cf15f19

View File

@ -47,14 +47,11 @@ def earllatepicker(X, nfac, TSNR, Pick1, iplot=None):
x = X[0].data x = X[0].data
t = np.arange(0, X[0].stats.npts / X[0].stats.sampling_rate, t = np.arange(0, X[0].stats.npts / X[0].stats.sampling_rate,
X[0].stats.delta) X[0].stats.delta)
# get latest possible pick
# get noise window
inoise = getnoisewin(t, Pick1, TSNR[0], TSNR[1]) inoise = getnoisewin(t, Pick1, TSNR[0], TSNR[1])
# get signal window # get signal window
isignal = getsignalwin(t, Pick1, TSNR[2]) isignal = getsignalwin(t, Pick1, TSNR[2])
# remove mean # remove mean
meanwin = np.hstack((inoise, isignal)) x = x - np.mean(x[inoise])
x = x - np.mean(x[meanwin])
# calculate noise level # calculate noise level
nlevel = np.sqrt(np.mean(np.square(x[inoise]))) * nfac nlevel = np.sqrt(np.mean(np.square(x[inoise]))) * nfac
# get time where signal exceeds nlevel # get time where signal exceeds nlevel
@ -337,7 +334,7 @@ def getSNR(X, TSNR, t1):
return return
# demean over entire snr window # demean over entire snr window
x -= x[inoise[0]:isignal[-1]].mean() x = x - np.mean(x[np.hstack([inoise, isignal])])
# calculate ratios # calculate ratios
noiselevel = np.sqrt(np.mean(np.square(x[inoise]))) noiselevel = np.sqrt(np.mean(np.square(x[inoise])))