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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user