[add] remove picks with weight > 3 from pickdictionary after autopicking
This commit is contained in:
parent
1afc6bdcf1
commit
c760ea394c
@ -64,7 +64,7 @@ from pylot.core.io.data import Data
|
||||
from pylot.core.io.inputs import FilterOptions, PylotParameter
|
||||
from autoPyLoT import autoPyLoT
|
||||
from pylot.core.pick.compare import Comparison
|
||||
from pylot.core.pick.utils import symmetrize_error, getQualityFromUncertainty
|
||||
from pylot.core.pick.utils import symmetrize_error, getQualityFromUncertainty, removePicksAbove
|
||||
from pylot.core.io.phases import picksdict_from_picks
|
||||
import pylot.core.loc.nll as nll
|
||||
from pylot.core.util.defaults import FILTERDEFAULTS, SetChannelComponents
|
||||
@ -1999,6 +1999,7 @@ class MainWindow(QMainWindow):
|
||||
def finalizeAutoPick(self, result):
|
||||
self.apw.enable(True)
|
||||
if result:
|
||||
result = removePicksAbove(result, 3)
|
||||
self.init_canvas_dict_wadatijack()
|
||||
for eventID in result.keys():
|
||||
event = self.get_event_from_id(eventID)
|
||||
|
@ -1146,6 +1146,30 @@ def getQualityFromUncertainty(uncertainty, Errors):
|
||||
|
||||
return quality
|
||||
|
||||
def removePicksAbove(pickDic, minWeight):
|
||||
'''remove picks from pick dicitonary with a weight > minweight'''
|
||||
newdic = {}
|
||||
for event in pickDic.keys():
|
||||
newdic[event] = {}
|
||||
|
||||
for eventKey, eventDic in pickDic.items():
|
||||
for station, phases in eventDic.items():
|
||||
if phases['P']['weight'] < minWeight or phases['S']['weight'] < minWeight:
|
||||
# dont append stations that will be empty to output dict
|
||||
newdic[eventKey][station] = {}
|
||||
if len(phases) > 2:
|
||||
# copy over other values beside P/S information
|
||||
additional_info = phases.copy()
|
||||
if 'P' in phases.keys():
|
||||
additional_info.pop('P')
|
||||
if 'S' in phases.keys():
|
||||
additional_info.pop('S')
|
||||
newdic[eventKey][station].update(additional_info)
|
||||
for phasename, phaseinfo in phases.items():
|
||||
if phasename in ('P', 'S') and phaseinfo['weight'] < minWeight:
|
||||
newdic[eventKey][station].update({phasename: phaseinfo})
|
||||
return newdic
|
||||
|
||||
if __name__ == '__main__':
|
||||
import doctest
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user