Started implementing automated first-motion picking within manual

picking.
This commit is contained in:
Ludger Küperkoch 2020-09-28 16:55:25 +02:00
parent 5351043493
commit 8f1ab87045
2 changed files with 12 additions and 1 deletions

View File

@ -892,7 +892,7 @@ class AutopickStation(object):
# weight P-onset using symmetric error
self.p_results.weight = get_quality_class(self.p_results.spe, self.pickparams["timeerrorsP"])
if self.p_results.weight <= self.pickparams["minfmweight"] and self.p_results.snr >= self.pickparams["minFMSNR"]:
# if SNR is low enough, try to determine first motion of onset
# if SNR is high enough, try to determine first motion of onset
self.set_current_figure('fm_picker')
self.p_results.fm = fmpicker(self.zstream, z_copy, self.pickparams["fmpickwin"], self.p_results.mpp,
self.iplot, self.current_figure, self.current_linecolor)

View File

@ -46,6 +46,7 @@ from pylot.core.io.inputs import FilterOptions, PylotParameter
from pylot.core.pick.utils import getSNR, earllatepicker, getnoisewin, \
getResolutionWindow, get_quality_class
from pylot.core.pick.compare import Comparison
from pylot.core.pick.autopick import fmpicker
from pylot.core.util.defaults import OUTPUTFORMATS, FILTERDEFAULTS
from pylot.core.util.utils import prepTimeAxis, full_range, demeanTrace, isSorted, findComboBoxIndex, clims, \
pick_linestyle_plt, pick_color_plt, \
@ -2564,6 +2565,16 @@ class PickDlg(QDialog):
pick - stime_diff, verbosity=1)
mpp = stime + pick
# get first motion and quality classes
if self.getPhaseID(phase) == 'P':
# get first motion quality of P onset is sufficeint
minFMweight = parameter.get('minfmweight')
minFMSNR = parameter.get('minFMSNR')
quality = get_quality_class(spe, parameter.get('timeerrorsP'))
if quality <= minFMweight:
FM = fmpicker(self.getWFData().select(channel=channel), wfdata, parameter.get('fmpickwin'), mpp)
if epp:
epp = stime + epp + stime_diff
if lpp: