Merge branch 'develop'
This commit is contained in:
commit
d5a7e1f35f
17
QtPyLoT.py
17
QtPyLoT.py
@ -44,8 +44,8 @@ from obspy import UTCDateTime
|
||||
|
||||
try:
|
||||
import pyqtgraph as pg
|
||||
except:
|
||||
print('QtPyLoT: Could not import pyqtgraph.')
|
||||
except Exception as e:
|
||||
print('QtPyLoT: Could not import pyqtgraph. {}'.format(e))
|
||||
pg = None
|
||||
|
||||
try:
|
||||
@ -943,9 +943,9 @@ class MainWindow(QMainWindow):
|
||||
settings = QSettings()
|
||||
fbasename = self.getEventFileName()
|
||||
exform = settings.value('data/exportFormat', 'QUAKEML')
|
||||
# try:
|
||||
# self.get_data().applyEVTData(self.getPicks())
|
||||
# except OverwriteError:
|
||||
try:
|
||||
self.get_data().applyEVTData(self.getPicks())
|
||||
except OverwriteError:
|
||||
# msgBox = QMessageBox()
|
||||
# msgBox.setText("Picks have been modified!")
|
||||
# msgBox.setInformativeText(
|
||||
@ -955,11 +955,11 @@ class MainWindow(QMainWindow):
|
||||
# msgBox.setDefaultButton(QMessageBox.Save)
|
||||
# ret = msgBox.exec_()
|
||||
# if ret == QMessageBox.Save:
|
||||
# self.get_data().resetPicks()
|
||||
# return self.saveData()
|
||||
self.get_data().resetPicks()
|
||||
return self.saveData()
|
||||
# elif ret == QMessageBox.Cancel:
|
||||
# return False
|
||||
# MP MP changed due to new event structure not uniquely refering to data object
|
||||
# MP MP changed to suppress unnecessary user prompt
|
||||
try:
|
||||
self.get_data().exportEvent(fbasename, exform)
|
||||
except FormatError as e:
|
||||
@ -985,7 +985,6 @@ class MainWindow(QMainWindow):
|
||||
# export to given path
|
||||
self.get_data().exportEvent(fbasename, exform)
|
||||
# all files save (ui clean)
|
||||
self.setDirty(False)
|
||||
self.update_status('Picks saved as %s' % (fbasename + exform))
|
||||
self.disableSaveManualPicksAction()
|
||||
return True
|
||||
|
24
autoPyLoT.py
24
autoPyLoT.py
@ -130,12 +130,14 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
||||
print("!!No source parameter estimation possible!!")
|
||||
print(" !!! ")
|
||||
|
||||
if not input_dict:
|
||||
# started in production mode
|
||||
datapath = datastructure.expandDataPath()
|
||||
if fnames == 'None' and not parameter.hasParam('eventID'):
|
||||
if fnames == 'None' and not parameter['eventID']:
|
||||
# multiple event processing
|
||||
# read each event in database
|
||||
events = [events for events in glob.glob(os.path.join(datapath, '*')) if os.path.isdir(events)]
|
||||
elif fnames == 'None' and parameter.hasParam('eventID'):
|
||||
elif fnames == 'None' and parameter['eventID']:
|
||||
# single event processing
|
||||
events = glob.glob(os.path.join(datapath, parameter.get('eventID')))
|
||||
else:
|
||||
@ -144,6 +146,18 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
||||
events.append(eventid)
|
||||
evID = os.path.split(eventid)[-1]
|
||||
locflag = 2
|
||||
else:
|
||||
# started in tune mode
|
||||
datapath = os.path.join(parameter['rootpath'],
|
||||
parameter['datapath'])
|
||||
events = []
|
||||
events.append(os.path.join(datapath,
|
||||
parameter['database'],
|
||||
parameter['eventID']))
|
||||
|
||||
if not events:
|
||||
print('autoPyLoT: No events given. Return!')
|
||||
return
|
||||
|
||||
for event in events:
|
||||
if fnames == 'None':
|
||||
@ -385,9 +399,5 @@ if __name__ == "__main__":
|
||||
|
||||
cla = parser.parse_args()
|
||||
|
||||
try:
|
||||
picks, mainFig = autoPyLoT(inputfile=str(cla.inputfile), fnames=str(cla.fnames),
|
||||
picks = autoPyLoT(inputfile=str(cla.inputfile), fnames=str(cla.fnames),
|
||||
eventid=str(cla.eventid), savepath=str(cla.spath))
|
||||
except ValueError:
|
||||
print("autoPyLoT was running in production mode.")
|
||||
|
||||
|
@ -1 +1 @@
|
||||
1b17-dirty
|
||||
ab97-dirty
|
||||
|
@ -274,6 +274,10 @@ defaults = {'rootpath': {'type': str,
|
||||
'value': 6.0},
|
||||
|
||||
'wdttolerance': {'type': float,
|
||||
'tooltip': 'maximum allowed deviation from Wadati-diagram',
|
||||
'value': 1.0},
|
||||
|
||||
'localMag': {'type': float,
|
||||
'tooltip': 'maximum allowed deviation from Wadati-diagram',
|
||||
'value': 1.0}
|
||||
}
|
||||
@ -297,7 +301,8 @@ settings_main={
|
||||
'smoment':[
|
||||
'vp',
|
||||
'rho',
|
||||
'Qp'],
|
||||
'Qp',
|
||||
'localMag'],
|
||||
'pick':[
|
||||
'extent',
|
||||
'pstart',
|
||||
|
@ -239,8 +239,8 @@ class AICPicker(AutoPicker):
|
||||
fig = self.fig
|
||||
ax = fig.add_subplot(111)
|
||||
x = self.Data[0].data
|
||||
ax.plot(self.Tcf, x / max(x), 'k', legend='(HOS-/AR-) Data')
|
||||
ax.plot(self.Tcf, aicsmooth / max(aicsmooth), 'r', legend='Smoothed AIC-CF')
|
||||
ax.plot(self.Tcf, x / max(x), 'k', label='(HOS-/AR-) Data')
|
||||
ax.plot(self.Tcf, aicsmooth / max(aicsmooth), 'r', label='Smoothed AIC-CF')
|
||||
ax.legend()
|
||||
ax.set_xlabel('Time [s] since %s' % self.Data[0].stats.starttime)
|
||||
ax.set_yticks([])
|
||||
|
@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import sys
|
||||
import sys, os
|
||||
from PySide.QtCore import QThread, Signal, Qt
|
||||
from PySide.QtGui import QDialog, QProgressBar, QLabel, QHBoxLayout
|
||||
|
||||
@ -64,7 +64,9 @@ class Thread(QThread):
|
||||
except Exception as e:
|
||||
self._executed = False
|
||||
self._executedError = e
|
||||
print(e)
|
||||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
|
||||
print('Exception: {}, file: {}, line: {}'.format(exc_type, fname, exc_tb.tb_lineno))
|
||||
sys.stdout = sys.__stdout__
|
||||
|
||||
def __del__(self):
|
||||
|
@ -2228,6 +2228,8 @@ class AutoPickParaBox(QtGui.QWidget):
|
||||
if type(box) == QtGui.QLineEdit:
|
||||
box.setText(str(value))
|
||||
elif type(box) == QtGui.QSpinBox or type(box) == QtGui.QDoubleSpinBox:
|
||||
if not value:
|
||||
value = 0.
|
||||
box.setValue(value)
|
||||
elif type(box) == QtGui.QCheckBox:
|
||||
if value == 'True':
|
||||
|
Loading…
Reference in New Issue
Block a user