non-working commit of autoPyLoT functionality in overview window
This commit is contained in:
parent
120f2743d2
commit
398a25f902
38
QtPyLoT.py
38
QtPyLoT.py
@ -34,15 +34,16 @@ from PySide.QtCore import QCoreApplication, QSettings, Signal, QFile, \
|
|||||||
from PySide.QtGui import QMainWindow, QInputDialog, QIcon, QFileDialog, \
|
from PySide.QtGui import QMainWindow, QInputDialog, QIcon, QFileDialog, \
|
||||||
QWidget, QHBoxLayout, QStyle, QKeySequence, QLabel, QFrame, QAction, \
|
QWidget, QHBoxLayout, QStyle, QKeySequence, QLabel, QFrame, QAction, \
|
||||||
QDialog, QErrorMessage, QApplication, QPixmap, QMessageBox, QSplashScreen, \
|
QDialog, QErrorMessage, QApplication, QPixmap, QMessageBox, QSplashScreen, \
|
||||||
QActionGroup
|
QActionGroup, QListWidget
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from obspy.core import UTCDateTime
|
from obspy.core import UTCDateTime
|
||||||
|
|
||||||
from pylot.core.read import Data, FilterOptions
|
from pylot.core.read import Data, FilterOptions, AutoPickParameter
|
||||||
from pylot.core.util import _getVersionString, FILTERDEFAULTS, fnConstructor, \
|
from pylot.core.util import _getVersionString, FILTERDEFAULTS, fnConstructor, \
|
||||||
checkurl, FormatError, FilterOptionsDialog, \
|
checkurl, FormatError, FilterOptionsDialog, \
|
||||||
NewEventDlg, createEvent, MPLWidget, PropertiesDlg, HelpForm, \
|
NewEventDlg, createEvent, MPLWidget, PropertiesDlg, HelpForm, \
|
||||||
DatastructureError, createAction, getLogin, createCreationInfo, PickDlg
|
DatastructureError, createAction, getLogin, createCreationInfo, PickDlg
|
||||||
|
from pylot.core.util.thread import WorkerThread
|
||||||
from pylot.core.util.structure import DATASTRUCTURE
|
from pylot.core.util.structure import DATASTRUCTURE
|
||||||
import icons_rc
|
import icons_rc
|
||||||
|
|
||||||
@ -147,11 +148,13 @@ class MainWindow(QMainWindow):
|
|||||||
filter_icon = QIcon()
|
filter_icon = QIcon()
|
||||||
filter_icon.addPixmap(QPixmap(':/icons/filter.png'))
|
filter_icon.addPixmap(QPixmap(':/icons/filter.png'))
|
||||||
z_icon = QIcon()
|
z_icon = QIcon()
|
||||||
z_icon.addPixmap((QPixmap(':/icons/key_Z.png')))
|
z_icon.addPixmap(QPixmap(':/icons/key_Z.png'))
|
||||||
n_icon = QIcon()
|
n_icon = QIcon()
|
||||||
n_icon.addPixmap((QPixmap(':/icons/key_N.png')))
|
n_icon.addPixmap(QPixmap(':/icons/key_N.png'))
|
||||||
e_icon = QIcon()
|
e_icon = QIcon()
|
||||||
e_icon.addPixmap((QPixmap(':/icons/key_E.png')))
|
e_icon.addPixmap(QPixmap(':/icons/key_E.png'))
|
||||||
|
auto_icon = QIcon()
|
||||||
|
auto_icon.addPixmap(QPixmap(':/icons/sync.png'))
|
||||||
|
|
||||||
newEventAction = self.createAction(self, "&New event ...",
|
newEventAction = self.createAction(self, "&New event ...",
|
||||||
self.createNewEvent,
|
self.createNewEvent,
|
||||||
@ -261,6 +264,17 @@ class MainWindow(QMainWindow):
|
|||||||
componentToolBar.setObjectName("PhaseTools")
|
componentToolBar.setObjectName("PhaseTools")
|
||||||
self.addActions(componentToolBar, componentActions)
|
self.addActions(componentToolBar, componentActions)
|
||||||
|
|
||||||
|
auto_pick = self.createAction(parent=self, text='autoPick',
|
||||||
|
slot=self.autoPick, shortcut='Alt+Ctrl+A',
|
||||||
|
icon=auto_icon, tip='Automatically pick'
|
||||||
|
' the entire dataset'
|
||||||
|
' displayed!',
|
||||||
|
checkable=False)
|
||||||
|
|
||||||
|
autoPickToolBar = self.addToolBar("autoPyLoT")
|
||||||
|
autoPickActions = (auto_pick,)
|
||||||
|
self.addActions(autoPickToolBar, autoPickActions)
|
||||||
|
|
||||||
# pickToolBar = self.addToolBar("PickTools")
|
# pickToolBar = self.addToolBar("PickTools")
|
||||||
# pickToolActions = (selectStation, )
|
# pickToolActions = (selectStation, )
|
||||||
# pickToolBar.setObjectName("PickTools")
|
# pickToolBar.setObjectName("PickTools")
|
||||||
@ -570,6 +584,20 @@ class MainWindow(QMainWindow):
|
|||||||
else:
|
else:
|
||||||
self.updateStatus('picks discarded ({0})'.format(station))
|
self.updateStatus('picks discarded ({0})'.format(station))
|
||||||
|
|
||||||
|
def autoPick(self):
|
||||||
|
list = QListWidget()
|
||||||
|
autopick_parameter = AutoPickParameter('autoPyLoT_local.in')
|
||||||
|
list.addItem(str(autopick_parameter))
|
||||||
|
|
||||||
|
# Create the worker thread and run it
|
||||||
|
self.thread = WorkerThread(parent=self,
|
||||||
|
func=autopickevent,
|
||||||
|
data=self.getData().getWFData(),
|
||||||
|
param=autopick_parameter)
|
||||||
|
self.thread.message.connect(list.addItem)
|
||||||
|
self.thread.start()
|
||||||
|
|
||||||
|
|
||||||
def addPicks(self, station, picks):
|
def addPicks(self, station, picks):
|
||||||
stat_picks = self.getPicksOnStation(station)
|
stat_picks = self.getPicksOnStation(station)
|
||||||
if not stat_picks:
|
if not stat_picks:
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
<file>icons/key_W.png</file>
|
<file>icons/key_W.png</file>
|
||||||
<file>icons/key_Z.png</file>
|
<file>icons/key_Z.png</file>
|
||||||
<file>icons/filter.png</file>
|
<file>icons/filter.png</file>
|
||||||
|
<file>icons/sync.png</file>
|
||||||
<file>icons/zoom_in.png</file>
|
<file>icons/zoom_in.png</file>
|
||||||
<file>icons/zoom_out.png</file>
|
<file>icons/zoom_out.png</file>
|
||||||
<file>splash/splash.png</file>
|
<file>splash/splash.png</file>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -12,8 +12,25 @@ import numpy as np
|
|||||||
import scipy as sc
|
import scipy as sc
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from obspy.core import Stream, UTCDateTime
|
from obspy.core import Stream, UTCDateTime
|
||||||
|
from pylot.core.pick.run_autopicking import run_autopicking
|
||||||
import warnings
|
import warnings
|
||||||
import pdb
|
import pdb
|
||||||
|
|
||||||
|
def autopickevent(data, param):
|
||||||
|
stations = []
|
||||||
|
|
||||||
|
for n in len(data):
|
||||||
|
station = data[n].stats.station
|
||||||
|
if station not in stations:
|
||||||
|
stations.append(station)
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
|
for station in stations:
|
||||||
|
topick = data.select(station=station)
|
||||||
|
|
||||||
|
stat_picks = run_autopicking(topick, param)
|
||||||
|
|
||||||
def earllatepicker(X, nfac, TSNR, Pick1, iplot=None):
|
def earllatepicker(X, nfac, TSNR, Pick1, iplot=None):
|
||||||
'''
|
'''
|
||||||
Function to derive earliest and latest possible pick after Diehl & Kissling (2009)
|
Function to derive earliest and latest possible pick after Diehl & Kissling (2009)
|
||||||
|
@ -4,8 +4,9 @@ from PySide.QtCore import QThread, Signal
|
|||||||
class WorkerThread(QThread):
|
class WorkerThread(QThread):
|
||||||
message = Signal(str)
|
message = Signal(str)
|
||||||
|
|
||||||
def __init__(self, func, data, param):
|
def __init__(self, parent, func, data, param):
|
||||||
super(WorkerThread, self).__init__()
|
super(WorkerThread, self).__init__()
|
||||||
|
self.setParent(parent)
|
||||||
self.func = func
|
self.func = func
|
||||||
self.data = data
|
self.data = data
|
||||||
self.param = param
|
self.param = param
|
||||||
@ -13,7 +14,12 @@ class WorkerThread(QThread):
|
|||||||
def run(self):
|
def run(self):
|
||||||
sys.stdout = self
|
sys.stdout = self
|
||||||
|
|
||||||
self.func(self.data, self.param)
|
picks = self.func(self.data, self.param)
|
||||||
|
|
||||||
|
try:
|
||||||
|
self.parent().addPicks(picks)
|
||||||
|
except AttributeError:
|
||||||
|
print picks
|
||||||
|
|
||||||
def write(self, text):
|
def write(self, text):
|
||||||
self.message.emit(text)
|
self.message.emit(text)
|
||||||
|
Loading…
Reference in New Issue
Block a user