[update] some smaller changes in GUI and array_map

This commit is contained in:
Marcel Paffrath 2020-01-14 13:57:12 +01:00
parent 492f5b96f2
commit 78eca1b222
3 changed files with 23 additions and 12 deletions

View File

@ -30,6 +30,8 @@ import platform
import shutil
import sys
import traceback
import json
from datetime import datetime
@ -1546,6 +1548,7 @@ class MainWindow(QMainWindow):
self.dump_deleted_picks(event.path)
except Exception as e:
print('WARNING! Could not save information on deleted picks {}. Reason: {}'.format(event.path, e))
print(traceback.format_exc())
try:
self.saveData(event, event.path, outformats)
event.dirty = False
@ -1712,7 +1715,6 @@ class MainWindow(QMainWindow):
self.test_event_button.setChecked(False)
self.get_current_event().setTestEvent(False)
self.get_current_event().setRefEvent(ref)
self.fill_eventbox()
self.refreshTabs()
if self.tap:
self.tap.fill_eventbox()
@ -1725,7 +1727,6 @@ class MainWindow(QMainWindow):
self.ref_event_button.setChecked(False)
self.get_current_event().setRefEvent(False)
self.get_current_event().setTestEvent(test)
self.fill_eventbox()
self.refreshTabs()
if self.tap:
self.tap.fill_eventbox()
@ -1771,6 +1772,7 @@ class MainWindow(QMainWindow):
# Loading an existing project from array_tab leads to two calls of newWF
# which will read in data input twice. Therefore current tab is changed to 0
# in loadProject before calling this function.
self.fill_eventbox()
plotted = False
if self.tabs.currentIndex() == 2:
self.init_event_table()
@ -1793,7 +1795,6 @@ class MainWindow(QMainWindow):
if self.tabs.currentIndex() == 1:
if self._eventChanged[1]:
self.refresh_array_map()
self.fill_eventbox()
if not plotted and self._eventChanged[0]:
# newWF(plot=False) = load data without plotting
self.newWF(plot=False)
@ -2805,7 +2806,9 @@ class MainWindow(QMainWindow):
' Check deleted picks file in path {} before continuing'
print(msg.format(e, event_path))
self.safetyCopy(event_path)
deleted_picks_event = self.deleted_picks[event_path]
deleted_picks_event = self.deleted_picks.get(event_path)
if deleted_picks_event is None:
return
for pick in deleted_picks_from_file:
if not pick in deleted_picks_event:
@ -3270,11 +3273,11 @@ class MainWindow(QMainWindow):
else:
item_test.setCheckState(QtCore.Qt.Unchecked)
column = [item_delete, item_path, item_time, item_lat, item_lon, item_depth, item_mag,
row = [item_delete, item_path, item_time, item_lat, item_lon, item_depth, item_mag,
item_nmp, item_nap, item_ref, item_test, item_notes]
self.project._table.append(column)
self.project._table.append(row)
self.setItemColor(column, index, event, current_event)
self.setItemColor(row, index, event, current_event)
if event == current_event:
scroll_item = item_path
@ -3662,7 +3665,8 @@ class MainWindow(QMainWindow):
for index, pick in reversed(list(enumerate(event.picks))):
if pick.method_id.id.endswith('auto'):
event.picks.pop(index)
self.refreshEvents()
self.plotWaveformDataThread()
self.refreshTabs()
def PyLoTprefs(self):

View File

@ -409,7 +409,7 @@ class Array_map(QtGui.QWidget):
levels = np.linspace(self.get_min_from_picks(), self.get_max_from_picks(), nlevel)
self.contourf = self.basemap.contour(self.longrid, self.latgrid, self.picksgrid_active, levels,
linewidths=self.linewidth, latlon=True, zorder=9, alpha=0.7,
linewidths=self.linewidth, latlon=True, zorder=8, alpha=0.7,
cmap=self.get_colormap())
def get_colormap(self):
@ -502,7 +502,7 @@ class Array_map(QtGui.QWidget):
if st in self.marked_stations:
color = 'red'
self.annotations.append(self.main_ax.annotate(' %s' % st, xy=(x, y),
fontsize=self.pointsize/6., fontweight='semibold',
fontsize=self.pointsize/4., fontweight='semibold',
color=color, zorder=14))
self.legend = self.main_ax.legend(loc=1)
self.legend.get_frame().set_facecolor((1, 1, 1, 0.75))

View File

@ -1,5 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# small script that creates array maps for each event within a previously generated PyLoT project
import os
import multiprocessing
@ -42,12 +43,14 @@ def array_map_worker(input_dict):
autopicks = event.getAutopicks()
# prepare event and get metadata
metadata_path = os.path.join(eventdir, 'resp')
metadata = Metadata(inventory=metadata_path, verbosity=0)
metadata = None
for pick_type in ['manual', 'auto']:
if pick_type == 'manual' and (not manualpicks or not input_dict['manual']):
continue
if pick_type == 'auto' and (not autopicks or not input_dict['auto']):
continue
if not metadata:
metadata = Metadata(inventory=metadata_path, verbosity=0)
# create figure to plot on
fig = plt.figure(figsize=(16,9))
# create array map object
@ -63,6 +66,10 @@ def array_map_worker(input_dict):
print('Wrote file: {}'.format(fpath_out))
if __name__ == '__main__':
main('/home/marcel/alparray_m6.0-6.4_mantle_correlated_v3.plp', f_ext='_correlated_0.5Hz', ncores=40)
dataroot = '/home/marcel'
infiles=['alparray_all_events_0.03-0.5_mantle_correlated_v3_revised.plp']
for infile in infiles:
main(os.path.join(dataroot, infile), f_ext='_correlated_0.5Hz', ncores=20)
#main('E:\Shared\AlpArray\\test_aa.plp', f_ext='_correlated_0.5Hz', ncores=1)
#main('/home/marcel/alparray_m6.5-6.9_mantle_correlated_v3.plp', f_ext='_correlated_0.5Hz')