[bugfix] various, pick delete/plot behaviour
This commit is contained in:
parent
12082cb2a9
commit
90e26cbd8f
19
PyLoT.py
19
PyLoT.py
@ -2669,6 +2669,16 @@ class MainWindow(QMainWindow):
|
|||||||
self.drawPicks(station, picktype=picktype, stime=stime)
|
self.drawPicks(station, picktype=picktype, stime=stime)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if self.pg:
|
||||||
|
pw = self.getPlotWidget().plotWidget
|
||||||
|
else:
|
||||||
|
ax = self.getPlotWidget().axes[0]
|
||||||
|
|
||||||
|
if station in self.drawnPicks[picktype].keys():
|
||||||
|
for item in self.drawnPicks[picktype][station]:
|
||||||
|
pw.removeItem(item)
|
||||||
|
self.drawnPicks[picktype][station] = []
|
||||||
|
|
||||||
# check for station key in dictionary, else return
|
# check for station key in dictionary, else return
|
||||||
if not station in self.getPicks(type=picktype):
|
if not station in self.getPicks(type=picktype):
|
||||||
return
|
return
|
||||||
@ -2677,19 +2687,10 @@ class MainWindow(QMainWindow):
|
|||||||
plotID = self.getStationID(station)
|
plotID = self.getStationID(station)
|
||||||
if plotID is None:
|
if plotID is None:
|
||||||
return
|
return
|
||||||
if self.pg:
|
|
||||||
pw = self.getPlotWidget().plotWidget
|
|
||||||
else:
|
|
||||||
ax = self.getPlotWidget().axes[0]
|
|
||||||
ylims = np.array([-.5, +.5]) + plotID
|
ylims = np.array([-.5, +.5]) + plotID
|
||||||
|
|
||||||
stat_picks = self.getPicks(type=picktype)[station]
|
stat_picks = self.getPicks(type=picktype)[station]
|
||||||
|
|
||||||
if station in self.drawnPicks[picktype].keys():
|
|
||||||
for item in self.drawnPicks[picktype][station]:
|
|
||||||
pw.removeItem(item)
|
|
||||||
self.drawnPicks[picktype][station] = []
|
|
||||||
|
|
||||||
for phase in stat_picks:
|
for phase in stat_picks:
|
||||||
if phase == 'SPt': continue # wadati SP time
|
if phase == 'SPt': continue # wadati SP time
|
||||||
picks = stat_picks[phase]
|
picks = stat_picks[phase]
|
||||||
|
@ -271,7 +271,7 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
|||||||
if not wfdat:
|
if not wfdat:
|
||||||
print('Could not find station {}. STOP!'.format(station))
|
print('Could not find station {}. STOP!'.format(station))
|
||||||
return
|
return
|
||||||
wfdat = remove_underscores(wfdat)
|
#wfdat = remove_underscores(wfdat)
|
||||||
# trim components for each station to avoid problems with different trace starttimes for one station
|
# trim components for each station to avoid problems with different trace starttimes for one station
|
||||||
wfdat = check4gaps(wfdat)
|
wfdat = check4gaps(wfdat)
|
||||||
wfdat = check4doubled(wfdat)
|
wfdat = check4doubled(wfdat)
|
||||||
|
@ -405,7 +405,7 @@ class Data(object):
|
|||||||
|
|
||||||
# various pre-processing steps:
|
# various pre-processing steps:
|
||||||
# remove possible underscores in station names
|
# remove possible underscores in station names
|
||||||
self.wfdata = remove_underscores(self.wfdata)
|
#self.wfdata = remove_underscores(self.wfdata)
|
||||||
# check for stations with rotated components
|
# check for stations with rotated components
|
||||||
if checkRotated and metadata is not None:
|
if checkRotated and metadata is not None:
|
||||||
self.wfdata = check4rotated(self.wfdata, metadata, verbosity=0)
|
self.wfdata = check4rotated(self.wfdata, metadata, verbosity=0)
|
||||||
|
@ -580,7 +580,7 @@ def restitute_data(data, metadata, unit='VEL', force=False, ncores=0):
|
|||||||
|
|
||||||
restflag = list()
|
restflag = list()
|
||||||
|
|
||||||
data = remove_underscores(data)
|
#data = remove_underscores(data)
|
||||||
|
|
||||||
# loop over traces
|
# loop over traces
|
||||||
input_tuples = []
|
input_tuples = []
|
||||||
|
@ -185,6 +185,7 @@ class Event(ObsPyEvent):
|
|||||||
self.pylot_picks[station] = pick
|
self.pylot_picks[station] = pick
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
if station in self.pylot_picks:
|
||||||
self.pylot_picks.pop(station)
|
self.pylot_picks.pop(station)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('Could not remove pick {} from station {}: {}'.format(pick, station, e))
|
print('Could not remove pick {} from station {}: {}'.format(pick, station, e))
|
||||||
@ -236,6 +237,7 @@ class Event(ObsPyEvent):
|
|||||||
self.pylot_autopicks[station] = pick
|
self.pylot_autopicks[station] = pick
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
if station in self.pylot_autopicks:
|
||||||
self.pylot_autopicks.pop(station)
|
self.pylot_autopicks.pop(station)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('Could not remove pick {} from station {}: {}'.format(pick, station, e))
|
print('Could not remove pick {} from station {}: {}'.format(pick, station, e))
|
||||||
|
@ -399,6 +399,10 @@ def full_range(stream):
|
|||||||
:return: minimum start time and maximum end time
|
:return: minimum start time and maximum end time
|
||||||
:rtype: (`~maximum start time and minimum end time`, maximum start time and minimum end time)
|
:rtype: (`~maximum start time and minimum end time`, maximum start time and minimum end time)
|
||||||
"""
|
"""
|
||||||
|
if not stream:
|
||||||
|
print('full_range: Empty Stream!')
|
||||||
|
return None, None
|
||||||
|
|
||||||
min_start = min([trace.stats.starttime for trace in stream])
|
min_start = min([trace.stats.starttime for trace in stream])
|
||||||
max_end = max([trace.stats.endtime for trace in stream])
|
max_end = max([trace.stats.endtime for trace in stream])
|
||||||
|
|
||||||
@ -831,9 +835,9 @@ def remove_underscores(data):
|
|||||||
:return: data stream
|
:return: data stream
|
||||||
:rtype: `~obspy.core.stream.Stream`
|
:rtype: `~obspy.core.stream.Stream`
|
||||||
"""
|
"""
|
||||||
for tr in data:
|
#for tr in data:
|
||||||
# remove underscores
|
# # remove underscores
|
||||||
tr.stats.station = tr.stats.station.strip('_')
|
# tr.stats.station = tr.stats.station.strip('_')
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
@ -2525,8 +2525,9 @@ class PickDlg(QDialog):
|
|||||||
if phase in self.phaseLines.keys():
|
if phase in self.phaseLines.keys():
|
||||||
del (self.phaseLines[phase])
|
del (self.phaseLines[phase])
|
||||||
# information output
|
# information output
|
||||||
msg = 'Deleted {} pick for phase {}, at timestamp {} (relative time: {} s)'
|
msg = 'Deleted {} pick for phase {}, station {} at timestamp {} (relative time: {} s)'
|
||||||
print(msg.format(picktype, phase, self.getStartTime() + pick_rel, pick_rel))
|
print(msg.format(picktype, phase, '{}.{}'.format(self.network, self.station),
|
||||||
|
self.getStartTime() + pick_rel, pick_rel))
|
||||||
self.setDirty(True)
|
self.setDirty(True)
|
||||||
|
|
||||||
def identify_selected_picks(self, x):
|
def identify_selected_picks(self, x):
|
||||||
@ -3167,7 +3168,7 @@ class TuneAutopicker(QWidget):
|
|||||||
self.data.setWFData(fnames)
|
self.data.setWFData(fnames)
|
||||||
wfdat = self.data.getWFData() # all available streams
|
wfdat = self.data.getWFData() # all available streams
|
||||||
# remove possible underscores in station names
|
# remove possible underscores in station names
|
||||||
wfdat = remove_underscores(wfdat)
|
#wfdat = remove_underscores(wfdat)
|
||||||
# rotate misaligned stations to ZNE
|
# rotate misaligned stations to ZNE
|
||||||
# check for gaps and doubled channels
|
# check for gaps and doubled channels
|
||||||
check4gaps(wfdat)
|
check4gaps(wfdat)
|
||||||
|
Loading…
Reference in New Issue
Block a user