diff --git a/pylot/core/pick/CharFuns.py b/pylot/core/pick/CharFuns.py index 64c4f06e..d52b7898 100644 --- a/pylot/core/pick/CharFuns.py +++ b/pylot/core/pick/CharFuns.py @@ -155,7 +155,7 @@ class CharacteristicFunction(object): stop = self.cut[1] / self.dt zz = self.orig_data.copy() z1 = zz[0].copy() - zz[0].data = z1.data[start:stop] + zz[0].data = z1.data[int(start):int(stop)] data = zz return data elif len(self.orig_data) == 2: @@ -171,8 +171,8 @@ class CharacteristicFunction(object): hh = self.orig_data.copy() h1 = hh[0].copy() h2 = hh[1].copy() - hh[0].data = h1.data[start:stop] - hh[1].data = h2.data[start:stop] + hh[0].data = h1.data[int(start):int(stop)] + hh[1].data = h2.data[int(start):int(stop)] data = hh return data elif len(self.orig_data) == 3: @@ -189,9 +189,9 @@ class CharacteristicFunction(object): h1 = hh[0].copy() h2 = hh[1].copy() h3 = hh[2].copy() - hh[0].data = h1.data[start:stop] - hh[1].data = h2.data[start:stop] - hh[2].data = h3.data[start:stop] + hh[0].data = h1.data[int(start):int(stop)] + hh[1].data = h2.data[int(start):int(stop)] + hh[2].data = h3.data[int(start):int(stop)] data = hh return data else: @@ -263,10 +263,9 @@ class HOScf(CharacteristicFunction): #Initialisation #t2: long term moving window - ilta = round(self.getTime2() / self.getIncrement()) + ilta = int(round(self.getTime2() / self.getIncrement())) lta = y[0] lta1 = y1[0] - #moving windows LTA = np.zeros(len(xnp)) for j in range(0, len(xnp)): diff --git a/pylot/core/pick/Picker.py b/pylot/core/pick/Picker.py index 6e6f4d8d..a7c3d154 100644 --- a/pylot/core/pick/Picker.py +++ b/pylot/core/pick/Picker.py @@ -17,7 +17,6 @@ autoregressive prediction: application ot local and regional distances, Geophys. import numpy as np import matplotlib.pyplot as plt from pylot.core.pick.CharFuns import CharacteristicFunction -import pdb class AutoPicking(object): ''' @@ -173,7 +172,7 @@ class PragPicker(AutoPicking): self.Pick = -1 #smooth CF - ismooth = round(self.Tsmooth / self.dt); + ismooth = int(round(self.Tsmooth / self.dt)) cfsmooth = np.zeros(len(self.cf)) if len(self.cf) < ismooth: print 'PragPicker: Tsmooth larger than CF!' diff --git a/pylot/core/pick/run_makeCF.py b/pylot/core/pick/run_makeCF.py index 37bfeee6..56f7f228 100755 --- a/pylot/core/pick/run_makeCF.py +++ b/pylot/core/pick/run_makeCF.py @@ -13,13 +13,12 @@ from CharFuns import * from Picker import * import glob import argparse -import pdb def run_makeCF(project, database, event, iplot, station=None): #parameters for CF calculation t2 = 7 #length of moving window for HOS calculation [sec] p = 4 #order of statistics - cuttimes = [5, 40] #start and end time for CF calculation + cuttimes = [10, 40] #start and end time for CF calculation bpz = [2, 30] #corner frequencies of bandpass filter, vertical component bph = [2, 15] #corner frequencies of bandpass filter, horizontal components tdetz= 1.2 #length of AR-determination window [sec], vertical component @@ -151,11 +150,11 @@ def run_makeCF(project, database, event, iplot, station=None): plt.figure() tr = st[0] tdata = np.arange(0, tr.stats.npts / tr.stats.sampling_rate, tr.stats.delta) - p1 = plt.plot(tdata, tr_filt.data/max(tr_filt.data), 'k') - p2 = plt.plot(hoscf.getTimeArray(), hoscf.getCF() / max(hoscf.getCF()), 'r') - p3 = plt.plot(aiccf.getTimeArray(), aiccf.getCF()/max(aiccf.getCF()), 'b') - p4 = plt.plot(arzcf.getTimeArray(), arzcf.getCF()/max(arzcf.getCF()), 'g') - p5 = plt.plot(araiccf.getTimeArray(), araiccf.getCF()/max(araiccf.getCF()), 'y') + p1, = plt.plot(tdata, tr_filt.data/max(tr_filt.data), 'k') + p2, = plt.plot(hoscf.getTimeArray(), hoscf.getCF() / max(hoscf.getCF()), 'r') + p3, = plt.plot(aiccf.getTimeArray(), aiccf.getCF()/max(aiccf.getCF()), 'b') + p4, = plt.plot(arzcf.getTimeArray(), arzcf.getCF()/max(arzcf.getCF()), 'g') + p5, = plt.plot(araiccf.getTimeArray(), araiccf.getCF()/max(araiccf.getCF()), 'y') plt.plot([aicpick.getpick(), aicpick.getpick()], [-1, 1], 'b--') plt.plot([aicpick.getpick()-0.5, aicpick.getpick()+0.5], [1, 1], 'b') plt.plot([aicpick.getpick()-0.5, aicpick.getpick()+0.5], [-1, -1], 'b') @@ -176,14 +175,14 @@ def run_makeCF(project, database, event, iplot, station=None): plt.legend([p1, p2, p3, p4, p5], ['Data', 'HOS-CF', 'HOSAIC-CF', 'ARZ-CF', 'ARZAIC-CF']) #plot horizontal traces plt.figure(2) - plt.subplot(211) + plt.subplot(2,1,1) tsteph = tpredh / 4 th1data = np.arange(0, trH1_filt.stats.npts / trH1_filt.stats.sampling_rate, trH1_filt.stats.delta) th2data = np.arange(0, trH2_filt.stats.npts / trH2_filt.stats.sampling_rate, trH2_filt.stats.delta) tarhcf = np.arange(0, len(arhcf.getCF()) * tsteph, tsteph) + cuttimes[0] + tdeth +tpredh - p21 = plt.plot(th1data, trH1_filt.data/max(trH1_filt.data), 'k') - p22 = plt.plot(arhcf.getTimeArray(), arhcf.getCF()/max(arhcf.getCF()), 'r') - p23 = plt.plot(arhaiccf.getTimeArray(), arhaiccf.getCF()/max(arhaiccf.getCF())) + p21, = plt.plot(th1data, trH1_filt.data/max(trH1_filt.data), 'k') + p22, = plt.plot(arhcf.getTimeArray(), arhcf.getCF()/max(arhcf.getCF()), 'r') + p23, = plt.plot(arhaiccf.getTimeArray(), arhaiccf.getCF()/max(arhaiccf.getCF())) plt.plot([aicarhpick.getpick(), aicarhpick.getpick()], [-1, 1], 'b--') plt.plot([aicarhpick.getpick()-0.5, aicarhpick.getpick()+0.5], [1, 1], 'b') plt.plot([aicarhpick.getpick()-0.5, aicarhpick.getpick()+0.5], [-1, -1], 'b') @@ -192,7 +191,7 @@ def run_makeCF(project, database, event, iplot, station=None): plt.title([trH1_filt.stats.station, trH1_filt.stats.channel]) plt.suptitle(trH1_filt.stats.starttime) plt.legend([p21, p22, p23], ['Data', 'ARH-CF', 'ARHAIC-CF']) - plt.subplot(212) + plt.subplot(2,1,2) plt.plot(th2data, trH2_filt.data/max(trH2_filt.data), 'k') plt.plot(arhaiccf.getTimeArray(), arhaiccf.getCF()/max(arhaiccf.getCF())) plt.plot([aicarhpick.getpick(), aicarhpick.getpick()], [-1, 1], 'b--') @@ -205,22 +204,22 @@ def run_makeCF(project, database, event, iplot, station=None): #plot 3-component window plt.figure(3) tar3ccf = np.arange(0, len(ar3ccf.getCF()) * tsteph, tsteph) + cuttimes[0] + tdetz +tpredz - plt.subplot(311) - p31 = plt.plot(tdata, tr_filt.data/max(tr_filt.data), 'k') - p32 = plt.plot(tar3ccf, ar3ccf.getCF()/max(ar3ccf.getCF()), 'r') + plt.subplot(3,1,1) + p31, = plt.plot(tdata, tr_filt.data/max(tr_filt.data), 'k') + p32, = plt.plot(tar3ccf, ar3ccf.getCF()/max(ar3ccf.getCF()), 'r') plt.yticks([]) plt.xticks([]) plt.ylabel('Normalized Counts') plt.title([tr.stats.station, tr.stats.channel]) plt.legend([p31, p32], ['Data', 'AR3C-CF']) - plt.subplot(312) + plt.subplot(3,1,2) plt.plot(th1data, trH1_filt.data/max(trH1_filt.data), 'k') plt.plot(tar3ccf, ar3ccf.getCF()/max(ar3ccf.getCF()), 'r') plt.yticks([]) plt.xticks([]) plt.ylabel('Normalized Counts') plt.title([trH1_filt.stats.station, trH1_filt.stats.channel]) - plt.subplot(313) + plt.subplot(3,1,3) plt.plot(th2data, trH2_filt.data/max(trH2_filt.data), 'k') plt.plot(tar3ccf, ar3ccf.getCF()/max(ar3ccf.getCF()), 'r') plt.yticks([])