[update] add linecolor settings to autoPyLoT figs
This commit is contained in:
		
							parent
							
								
									7ef784f2d2
								
							
						
					
					
						commit
						104a8dda64
					
				
							
								
								
									
										24
									
								
								QtPyLoT.py
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								QtPyLoT.py
									
									
									
									
									
								
							| @ -1991,27 +1991,36 @@ class MainWindow(QMainWindow): | ||||
|             'el_S1pick', | ||||
|             'el_S2pick', | ||||
|             'refSpick', | ||||
|             'aicARHfig' | ||||
|             'aicARHfig', | ||||
|             'plot_style' | ||||
|         ] | ||||
|         for key in self.fig_keys: | ||||
|             fig = Figure() | ||||
|             if key == 'plot_style': | ||||
|                 fig = self._style | ||||
|             else: | ||||
|                 fig = Figure() | ||||
|             self.fig_dict[key] = fig | ||||
| 
 | ||||
|     def init_canvas_dict(self): | ||||
|         self.canvas_dict = {} | ||||
|         for key in self.fig_keys: | ||||
|             self.canvas_dict[key] = PylotCanvas(self.fig_dict[key], parent=self) | ||||
|             if not key == 'plot_style': | ||||
|                 self.canvas_dict[key] = PylotCanvas(self.fig_dict[key], parent=self) | ||||
| 
 | ||||
|     def init_fig_dict_wadatijack(self, eventIDs): | ||||
|         self.fig_dict_wadatijack = {} | ||||
|         self.fig_keys_wadatijack = [ | ||||
|             'jackknife', | ||||
|             'wadati' | ||||
|             'wadati', | ||||
|             'plot_style' | ||||
|         ] | ||||
|         for eventID in eventIDs: | ||||
|             self.fig_dict_wadatijack[eventID] = {} | ||||
|             for key in self.fig_keys_wadatijack: | ||||
|                 fig = Figure() | ||||
|                 if key == 'plot_style': | ||||
|                     fig = self._style | ||||
|                 else: | ||||
|                     fig = Figure() | ||||
|                 self.fig_dict_wadatijack[eventID][key] = fig | ||||
| 
 | ||||
|     def init_canvas_dict_wadatijack(self): | ||||
| @ -2019,8 +2028,9 @@ class MainWindow(QMainWindow): | ||||
|         for eventID in self.fig_dict_wadatijack.keys(): | ||||
|             self.canvas_dict_wadatijack[eventID] = {} | ||||
|             for key in self.fig_keys_wadatijack: | ||||
|                 self.canvas_dict_wadatijack[eventID][key] = PylotCanvas(self.fig_dict_wadatijack[eventID][key], | ||||
|                                                                         parent=self) | ||||
|                 if not key == 'plot_style': | ||||
|                     self.canvas_dict_wadatijack[eventID][key] = PylotCanvas(self.fig_dict_wadatijack[eventID][key], | ||||
|                                                                             parent=self) | ||||
| 
 | ||||
|     def tune_autopicker(self): | ||||
|         ''' | ||||
|  | ||||
| @ -322,9 +322,11 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|         key = 'aicFig' | ||||
|         if fig_dict: | ||||
|             fig = fig_dict[key] | ||||
|             linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|         else: | ||||
|             fig = None | ||||
|         aicpick = AICPicker(aiccf, tsnrz, pickwinP, iplot, None, aictsmoothP, fig=fig) | ||||
|             linecolor = 'k' | ||||
|         aicpick = AICPicker(aiccf, tsnrz, pickwinP, iplot, None, aictsmoothP, fig=fig, linecolor=linecolor) | ||||
|         # add pstart and pstop to aic plot | ||||
|         if fig: | ||||
|             for ax in fig.axes: | ||||
| @ -347,12 +349,14 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                 key = 'slength' | ||||
|                 if fig_dict: | ||||
|                     fig = fig_dict[key] | ||||
|                     linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                 else: | ||||
|                     fig = None | ||||
|                     linecolor = 'k' | ||||
|                 Pflag = checksignallength(zne, aicpick.getpick(), tsnrz, | ||||
|                                           minsiglength / 2, | ||||
|                                           nfacsl, minpercent, iplot, | ||||
|                                           fig) | ||||
|                                           fig, linecolor) | ||||
|             else: | ||||
|                 # filter and taper horizontal traces | ||||
|                 trH1_filt = edat.copy() | ||||
| @ -369,12 +373,14 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                 zne += trH2_filt | ||||
|                 if fig_dict: | ||||
|                     fig = fig_dict['slength'] | ||||
|                     linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                 else: | ||||
|                     fig = None | ||||
|                     linecolor = 'k' | ||||
|                 Pflag = checksignallength(zne, aicpick.getpick(), tsnrz, | ||||
|                                           minsiglength, | ||||
|                                           nfacsl, minpercent, iplot, | ||||
|                                           fig) | ||||
|                                           fig, linecolor) | ||||
| 
 | ||||
|             if Pflag == 1: | ||||
|                 # check for spuriously picked S onset | ||||
| @ -387,10 +393,12 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                     if iplot > 1: | ||||
|                         if fig_dict: | ||||
|                             fig = fig_dict['checkZ4s'] | ||||
|                             linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                         else: | ||||
|                             fig = None | ||||
|                             linecolor = 'k' | ||||
|                     Pflag = checkZ4S(zne, aicpick.getpick(), zfac, | ||||
|                                      tsnrz[2], iplot, fig) | ||||
|                                      tsnrz[2], iplot, fig, linecolor) | ||||
|                     if Pflag == 0: | ||||
|                         Pmarker = 'SinsteadP' | ||||
|                         Pweight = 9 | ||||
| @ -442,10 +450,12 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                 algoP=algoP) | ||||
|             if fig_dict: | ||||
|                 fig = fig_dict['refPpick'] | ||||
|                 linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|             else: | ||||
|                 fig = None | ||||
|                 linecolor = 'k' | ||||
|             refPpick = PragPicker(cf2, tsnrz, pickwinP, iplot, ausP, tsmoothP, | ||||
|                                   aicpick.getpick(), fig) | ||||
|                                   aicpick.getpick(), fig, linecolor) | ||||
|             mpickP = refPpick.getpick() | ||||
|             ############################################################# | ||||
|             if mpickP is not None: | ||||
| @ -454,10 +464,13 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                 if iplot: | ||||
|                     if fig_dict: | ||||
|                         fig = fig_dict['el_Ppick'] | ||||
|                         linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                     else: | ||||
|                         fig = None | ||||
|                         linecolor = 'k' | ||||
|                     epickP, lpickP, Perror = earllatepicker(z_copy, nfacP, tsnrz, | ||||
|                                                             mpickP, iplot, fig=fig) | ||||
|                                                             mpickP, iplot, fig=fig, | ||||
|                                                             linecolor=linecolor) | ||||
|                 else: | ||||
|                     epickP, lpickP, Perror = earllatepicker(z_copy, nfacP, tsnrz, | ||||
|                                                             mpickP, iplot) | ||||
| @ -487,9 +500,10 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                     if iplot: | ||||
|                         if fig_dict: | ||||
|                             fig = fig_dict['fm_picker'] | ||||
|                             linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                         else: | ||||
|                             fig = None | ||||
|                         FM = fmpicker(zdat, z_copy, fmpickwin, mpickP, iplot, fig) | ||||
|                         FM = fmpicker(zdat, z_copy, fmpickwin, mpickP, iplot, fig, linecolor) | ||||
|                     else: | ||||
|                         FM = fmpicker(zdat, z_copy, fmpickwin, mpickP, iplot) | ||||
|                 else: | ||||
| @ -624,10 +638,12 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|         # of class AutoPicking | ||||
|         if fig_dict: | ||||
|             fig = fig_dict['aicARHfig'] | ||||
|             linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|         else: | ||||
|             fig = None | ||||
|             linecolor = 'k' | ||||
|         aicarhpick = AICPicker(haiccf, tsnrh, pickwinS, iplot, None, | ||||
|                                aictsmoothS, fig=fig) | ||||
|                                aictsmoothS, fig=fig, linecolor=linecolor) | ||||
|         ############################################################### | ||||
|         # go on with processing if AIC onset passes quality control | ||||
|         slope = aicarhpick.getSlope() | ||||
| @ -686,10 +702,12 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|             # get refined onset time from CF2 using class Picker | ||||
|             if fig_dict: | ||||
|                 fig = fig_dict['refSpick'] | ||||
|                 linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|             else: | ||||
|                 fig = None | ||||
|                 linecolor = 'k' | ||||
|             refSpick = PragPicker(arhcf2, tsnrh, pickwinS, iplot, ausS, | ||||
|                                   tsmoothS, aicarhpick.getpick(), fig) | ||||
|                                   tsmoothS, aicarhpick.getpick(), fig, linecolor) | ||||
|             mpickS = refSpick.getpick() | ||||
|             ############################################################# | ||||
|             if mpickS is not None: | ||||
| @ -699,12 +717,15 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                 if iplot: | ||||
|                     if fig_dict: | ||||
|                         fig = fig_dict['el_S1pick'] | ||||
|                         linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                     else: | ||||
|                         fig = None | ||||
|                         linecolor = 'k' | ||||
|                     epickS1, lpickS1, Serror1 = earllatepicker(h_copy, nfacS, | ||||
|                                                                tsnrh, | ||||
|                                                                mpickS, iplot, | ||||
|                                                                fig=fig) | ||||
|                                                                fig=fig, | ||||
|                                                                linecolor=linecolor) | ||||
|                 else: | ||||
|                     epickS1, lpickS1, Serror1 = earllatepicker(h_copy, nfacS, | ||||
|                                                                tsnrh, | ||||
| @ -714,12 +735,15 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|                 if iplot: | ||||
|                     if fig_dict: | ||||
|                         fig = fig_dict['el_S2pick'] | ||||
|                         linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|                     else: | ||||
|                         fig = None | ||||
|                         linecolor = '' | ||||
|                     epickS2, lpickS2, Serror2 = earllatepicker(h_copy, nfacS, | ||||
|                                                                tsnrh, | ||||
|                                                                mpickS, iplot, | ||||
|                                                                fig=fig) | ||||
|                                                                fig=fig, | ||||
|                                                                linecolor=linecolor) | ||||
|                 else: | ||||
|                     epickS2, lpickS2, Serror2 = earllatepicker(h_copy, nfacS, | ||||
|                                                                tsnrh, | ||||
| @ -828,8 +852,10 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|         if fig_dict == None or fig_dict == 'None': | ||||
|             fig = plt.figure() | ||||
|             plt_flag = 1 | ||||
|             linecolor = 'k' | ||||
|         else: | ||||
|             fig = fig_dict['mainFig'] | ||||
|             linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|         ax1 = fig.add_subplot(311) | ||||
|         tdata = np.arange(0, zdat[0].stats.npts / tr_filt.stats.sampling_rate, | ||||
|                           tr_filt.stats.delta) | ||||
| @ -837,7 +863,7 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|         wfldiff = len(tr_filt.data) - len(tdata) | ||||
|         if wfldiff < 0: | ||||
|             tdata = tdata[0:len(tdata) - abs(wfldiff)] | ||||
|         ax1.plot(tdata, tr_filt.data / max(tr_filt.data), 'k', label='Data') | ||||
|         ax1.plot(tdata, tr_filt.data / max(tr_filt.data), color=linecolor, linewidth=0.7, label='Data') | ||||
|         if Pweight < 4: | ||||
|             ax1.plot(cf1.getTimeArray(), cf1.getCF() / max(cf1.getCF()), | ||||
|                      'b', label='CF1') | ||||
| @ -896,7 +922,7 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|             wfldiff = len(trH1_filt.data) - len(th1data) | ||||
|             if wfldiff < 0: | ||||
|                 th1data = th1data[0:len(th1data) - abs(wfldiff)] | ||||
|             ax2.plot(th1data, trH1_filt.data / max(trH1_filt.data), 'k', label='Data') | ||||
|             ax2.plot(th1data, trH1_filt.data / max(trH1_filt.data), color=linecolor, linewidth=0.7, label='Data') | ||||
|             if Pweight < 4: | ||||
|                 ax2.plot(arhcf1.getTimeArray(), | ||||
|                          arhcf1.getCF() / max(arhcf1.getCF()), 'b', label='CF1') | ||||
| @ -945,7 +971,7 @@ def autopickstation(wfstream, pickparam, verbose=False, | ||||
|             wfldiff = len(trH2_filt.data) - len(th2data) | ||||
|             if wfldiff < 0: | ||||
|                 th2data = th2data[0:len(th2data) - abs(wfldiff)] | ||||
|             ax3.plot(th2data, trH2_filt.data / max(trH2_filt.data), 'k', label='Data') | ||||
|             ax3.plot(th2data, trH2_filt.data / max(trH2_filt.data), color=linecolor, linewidth=0.7, label='Data') | ||||
|             if Pweight < 4: | ||||
|                 p22, = ax3.plot(arhcf1.getTimeArray(), | ||||
|                                 arhcf1.getCF() / max(arhcf1.getCF()), 'b', label='CF1') | ||||
|  | ||||
| @ -35,7 +35,7 @@ class AutoPicker(object): | ||||
| 
 | ||||
|     warnings.simplefilter('ignore') | ||||
| 
 | ||||
|     def __init__(self, cf, TSNR, PickWindow, iplot=0, aus=None, Tsmooth=None, Pick1=None, fig=None): | ||||
|     def __init__(self, cf, TSNR, PickWindow, iplot=0, aus=None, Tsmooth=None, Pick1=None, fig=None, linecolor='k'): | ||||
|         ''' | ||||
|         :param: cf, characteristic function, on which the picking algorithm is applied | ||||
|         :type: `~pylot.core.pick.CharFuns.CharacteristicFunction` object | ||||
| @ -62,7 +62,8 @@ class AutoPicker(object): | ||||
|         ''' | ||||
| 
 | ||||
|         assert isinstance(cf, CharacteristicFunction), "%s is not a CharacteristicFunction object" % str(cf) | ||||
| 
 | ||||
|         self._linecolor = linecolor | ||||
|         self._pickcolor_p = 'b' | ||||
|         self.cf = cf.getCF() | ||||
|         self.Tcf = cf.getTimeArray() | ||||
|         self.Data = cf.getXCF() | ||||
| @ -264,13 +265,13 @@ class AICPicker(AutoPicker): | ||||
|                     print("Choose longer slope determination window!") | ||||
|                     if self.iplot > 1: | ||||
|                         if self.fig == None or self.fig == 'None': | ||||
|                             fig = plt.figure()  # self.iplot) ### WHY? MP MP | ||||
|                             fig = plt.figure() | ||||
|                             plt_flag = 1 | ||||
|                         else: | ||||
|                             fig = self.fig | ||||
|                         ax = fig.add_subplot(111) | ||||
|                         x = self.Data[0].data | ||||
|                         ax.plot(self.Tcf, x / max(x), 'k', label='(HOS-/AR-) Data') | ||||
|                         ax.plot(self.Tcf, x / max(x), color=self._linecolor, linewidth=0.7, label='(HOS-/AR-) Data') | ||||
|                         ax.plot(self.Tcf, aicsmooth / max(aicsmooth), 'r', label='Smoothed AIC-CF') | ||||
|                         ax.legend(loc=1) | ||||
|                         ax.set_xlabel('Time [s] since %s' % self.Data[0].stats.starttime) | ||||
| @ -307,7 +308,7 @@ class AICPicker(AutoPicker): | ||||
|             x = self.Data[0].data | ||||
|             if len(self.Tcf) > len(self.Data[0].data): # why? LK | ||||
|                 self.Tcf = self.Tcf[0:len(self.Tcf)-1] | ||||
|             ax1.plot(self.Tcf, x / max(x), 'k', label='(HOS-/AR-) Data') | ||||
|             ax1.plot(self.Tcf, x / max(x), color=self._linecolor, linewidth=0.7, label='(HOS-/AR-) Data') | ||||
|             ax1.plot(self.Tcf, aicsmooth / max(aicsmooth), 'r', label='Smoothed AIC-CF') | ||||
|             if self.Pick is not None: | ||||
|                 ax1.plot([self.Pick, self.Pick], [-0.1, 0.5], 'b', linewidth=2, label='AIC-Pick') | ||||
| @ -317,7 +318,7 @@ class AICPicker(AutoPicker): | ||||
| 
 | ||||
|             if self.Pick is not None: | ||||
|                 ax2 = fig.add_subplot(2, 1, 2, sharex=ax1) | ||||
|                 ax2.plot(self.Tcf, x, 'k', label='Data') | ||||
|                 ax2.plot(self.Tcf, x, color=self._linecolor, linewidth=0.7, label='Data') | ||||
|                 ax1.axvspan(self.Tcf[inoise[0]], self.Tcf[inoise[-1]], color='y', alpha=0.2, lw=0, label='Noise Window') | ||||
|                 ax1.axvspan(self.Tcf[isignal[0]], self.Tcf[isignal[-1]], color='b', alpha=0.2, lw=0, | ||||
|                             label='Signal Window') | ||||
| @ -473,10 +474,10 @@ class PragPicker(AutoPicker): | ||||
|                 else: | ||||
|                     fig = self.fig | ||||
|                 ax = fig.add_subplot(111) | ||||
|                 ax.plot(Tcfpick, cfipick, 'k', label='CF') | ||||
|                 ax.plot(Tcfpick, cfipick, color=self._linecolor, linewidth=0.7, label='CF') | ||||
|                 ax.plot(Tcfpick, cfsmoothipick, 'r', label='Smoothed CF') | ||||
|                 if pickflag > 0: | ||||
|                     ax.plot([self.Pick, self.Pick], [min(cfipick), max(cfipick)], 'b', linewidth=2, label='Pick') | ||||
|                     ax.plot([self.Pick, self.Pick], [min(cfipick), max(cfipick)], self._pickcolor_p, linewidth=2, label='Pick') | ||||
|                 ax.set_xlabel('Time [s] since %s' % self.Data[0].stats.starttime) | ||||
|                 ax.set_yticks([]) | ||||
|                 ax.set_title(self.Data[0].stats.station) | ||||
|  | ||||
| @ -15,7 +15,7 @@ import numpy as np | ||||
| from obspy.core import Stream, UTCDateTime | ||||
| 
 | ||||
| 
 | ||||
| def earllatepicker(X, nfac, TSNR, Pick1, iplot=0, verbosity=1, fig=None): | ||||
| def earllatepicker(X, nfac, TSNR, Pick1, iplot=0, verbosity=1, fig=None, linecolor='k'): | ||||
|     ''' | ||||
|     Function to derive earliest and latest possible pick after Diehl & Kissling (2009) | ||||
|     as reasonable uncertainties. Latest possible pick is based on noise level, | ||||
| @ -131,16 +131,16 @@ def earllatepicker(X, nfac, TSNR, Pick1, iplot=0, verbosity=1, fig=None): | ||||
|             fig = plt.figure()  # iplot) | ||||
|             plt_flag = 1 | ||||
|         ax = fig.add_subplot(111) | ||||
|         ax.plot(t, x, 'k', label='Data') | ||||
|         ax.plot(t, x, color=linecolor, linewidth=0.7, label='Data') | ||||
|         ax.axvspan(t[inoise[0]], t[inoise[-1]], color='y', alpha=0.2, lw=0, label='Noise Window') | ||||
|         ax.axvspan(t[isignal[0]], t[isignal[-1]], color='b', alpha=0.2, lw=0, label='Signal Window') | ||||
|         ax.plot([t[0], t[int(len(t)) - 1]], [nlevel, nlevel], '--k', label='Noise Level') | ||||
|         ax.plot([t[0], t[int(len(t)) - 1]], [nlevel, nlevel], color=linecolor, linewidth=0.7, linestyle='dashed', label='Noise Level') | ||||
|         ax.plot(t[pis[zc]], np.zeros(len(zc)), '*g', | ||||
|                 markersize=14, label='Zero Crossings') | ||||
|         ax.plot([t[0], t[int(len(t)) - 1]], [-nlevel, -nlevel], '--k') | ||||
|         ax.plot([t[0], t[int(len(t)) - 1]], [-nlevel, -nlevel], color=linecolor, linewidth=0.7, linestyle='dashed') | ||||
|         ax.plot([Pick1, Pick1], [max(x), -max(x)], 'b', linewidth=2, label='mpp') | ||||
|         ax.plot([LPick, LPick], [max(x) / 2, -max(x) / 2], '--k', label='lpp') | ||||
|         ax.plot([EPick, EPick], [max(x) / 2, -max(x) / 2], '--k', label='epp') | ||||
|         ax.plot([LPick, LPick], [max(x) / 2, -max(x) / 2], color=linecolor, linewidth=0.7, linestyle='dashed', label='lpp') | ||||
|         ax.plot([EPick, EPick], [max(x) / 2, -max(x) / 2], color=linecolor, linewidth=0.7, linestyle='dashed', label='epp') | ||||
|         ax.plot([Pick1 + PickError, Pick1 + PickError], | ||||
|                 [max(x) / 2, -max(x) / 2], 'r--', label='spe') | ||||
|         ax.plot([Pick1 - PickError, Pick1 - PickError], | ||||
| @ -160,7 +160,7 @@ def earllatepicker(X, nfac, TSNR, Pick1, iplot=0, verbosity=1, fig=None): | ||||
|     return EPick, LPick, PickError | ||||
| 
 | ||||
| 
 | ||||
| def fmpicker(Xraw, Xfilt, pickwin, Pick, iplot=0, fig=None): | ||||
| def fmpicker(Xraw, Xfilt, pickwin, Pick, iplot=0, fig=None, linecolor='k'): | ||||
|     ''' | ||||
|     Function to derive first motion (polarity) of given phase onset Pick. | ||||
|     Calculation is based on zero crossings determined within time window pickwin | ||||
| @ -324,7 +324,7 @@ def fmpicker(Xraw, Xfilt, pickwin, Pick, iplot=0, fig=None): | ||||
|             fig = plt.figure()  # iplot) | ||||
|             plt_flag = 1 | ||||
|         ax1 = fig.add_subplot(211) | ||||
|         ax1.plot(t, xraw, 'k') | ||||
|         ax1.plot(t, xraw, color=linecolor, linewidth=0.7) | ||||
|         ax1.plot([Pick, Pick], [max(xraw), -max(xraw)], 'b', linewidth=2, label='Pick') | ||||
|         if P1 is not None: | ||||
|             ax1.plot(t[islope1], xraw[islope1], label='Slope Window') | ||||
| @ -338,7 +338,7 @@ def fmpicker(Xraw, Xfilt, pickwin, Pick, iplot=0, fig=None): | ||||
| 
 | ||||
|         ax2 = fig.add_subplot(2, 1, 2, sharex=ax1) | ||||
|         ax2.set_title('First-Motion Determination, Filtered Data') | ||||
|         ax2.plot(t, xfilt, 'k') | ||||
|         ax2.plot(t, xfilt, color=linecolor, linewidth=0.7) | ||||
|         ax2.plot([Pick, Pick], [max(xfilt), -max(xfilt)], 'b', | ||||
|                  linewidth=2) | ||||
|         if P2 is not None: | ||||
| @ -668,15 +668,18 @@ def wadaticheck(pickdic, dttolerance, iplot=0, fig_dict=None): | ||||
|     if iplot > 0: | ||||
|         if fig_dict: | ||||
|             fig = fig_dict['wadati'] | ||||
|             linecolor = fig_dict['plot_style']['linecolor']['rgba_mpl'] | ||||
|             plt_flag = 0 | ||||
|         else: | ||||
|             fig = plt.figure() | ||||
|             linecolor = 'k' | ||||
|             plt_flag = 1 | ||||
|         ax = fig.add_subplot(111) | ||||
|         ax.plot(Ppicks, SPtimes, 'ro', label='Skipped S-Picks') | ||||
|         if wfitflag == 0: | ||||
|             ax.plot(Ppicks, wdfit, 'k', label='Wadati 1') | ||||
|             ax.plot(checkedPpicks, checkedSPtimes, 'ko', label='Reliable S-Picks') | ||||
|             ax.plot(Ppicks, wdfit, color=linecolor, linewidth=0.7, label='Wadati 1') | ||||
|             ax.plot(checkedPpicks, checkedSPtimes, color=linecolor, | ||||
|                     linewidth=0, marker='o', label='Reliable S-Picks') | ||||
|             ax.plot(checkedPpicks, wdfit2, 'g', label='Wadati 2') | ||||
|             ax.set_title('Wadati-Diagram, %d S-P Times, Vp/Vs(raw)=%5.2f,' \ | ||||
|                       'Vp/Vs(checked)=%5.2f' % (len(SPtimes), vpvsr, cvpvsr)) | ||||
| @ -699,7 +702,7 @@ def RMS(X): | ||||
|     return np.sqrt(np.sum(np.power(X, 2)) / len(X)) | ||||
| 
 | ||||
| 
 | ||||
| def checksignallength(X, pick, TSNR, minsiglength, nfac, minpercent, iplot=0, fig=None): | ||||
| def checksignallength(X, pick, TSNR, minsiglength, nfac, minpercent, iplot=0, fig=None, linecolor='k'): | ||||
|     ''' | ||||
|     Function to detect spuriously picked noise peaks. | ||||
|     Uses RMS trace of all 3 components (if available) to determine, | ||||
| @ -785,7 +788,7 @@ def checksignallength(X, pick, TSNR, minsiglength, nfac, minpercent, iplot=0, fi | ||||
|             fig = plt.figure()  # iplot) | ||||
|             plt_flag = 1 | ||||
|         ax = fig.add_subplot(111) | ||||
|         ax.plot(t, rms, 'k', label='RMS Data') | ||||
|         ax.plot(t, rms, color=linecolor, linewidth=0.7, label='RMS Data') | ||||
|         ax.axvspan(t[inoise[0]], t[inoise[-1]], color='y', alpha=0.2, lw=0, label='Noise Window') | ||||
|         ax.axvspan(t[isignal[0]], t[isignal[-1]], color='b', alpha=0.2, lw=0, label='Signal Window') | ||||
|         ax.plot([t[isignal[0]], t[isignal[len(isignal) - 1]]], | ||||
| @ -975,7 +978,7 @@ def jackknife(X, phi, h): | ||||
|     return PHI_jack, PHI_pseudo, PHI_sub | ||||
| 
 | ||||
| 
 | ||||
| def checkZ4S(X, pick, zfac, checkwin, iplot, fig=None): | ||||
| def checkZ4S(X, pick, zfac, checkwin, iplot, fig=None, linecolor='k'): | ||||
|     ''' | ||||
|     Function to compare energy content of vertical trace with | ||||
|     energy content of horizontal traces to detect spuriously | ||||
| @ -1103,7 +1106,7 @@ def checkZ4S(X, pick, zfac, checkwin, iplot, fig=None): | ||||
|                     plt_flag = 1 | ||||
|                 ax = fig.add_subplot(3, 1, i + 1, sharex=ax1) | ||||
|             ax.plot(t, abs(trace.data), color='b', label='abs') | ||||
|             ax.plot(t, trace.data, color='k') | ||||
|             ax.plot(t, trace.data, color=linecolor, linewidth=0.7) | ||||
|             name = str(trace.stats.channel) + ': {}'.format(rms) | ||||
|             ax.plot([pick, pick + checkwin], [rms, rms], 'r', label='RMS {}'.format(name)) | ||||
|             ax.plot([pick, pick], ax.get_ylim(), 'm', label='Pick') | ||||
|  | ||||
| @ -2766,7 +2766,8 @@ class TuneAutopicker(QWidget): | ||||
|                 'locflag': 0, | ||||
|                 'savexml': False} | ||||
|         for key in self.fig_dict.keys(): | ||||
|             self.fig_dict[key].clear() | ||||
|             if not key == 'plot_style': | ||||
|                 self.fig_dict[key].clear() | ||||
|         self.ap_thread = Thread(self, autoPyLoT, arg=args, | ||||
|                                 progressText='Picking trace...', | ||||
|                                 pb_widget=self.pb_widget, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user