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, \ | ||||
|     QWidget, QHBoxLayout, QStyle, QKeySequence, QLabel, QFrame, QAction, \ | ||||
|     QDialog, QErrorMessage, QApplication, QPixmap, QMessageBox, QSplashScreen, \ | ||||
|     QActionGroup | ||||
|     QActionGroup, QListWidget | ||||
| import numpy as np | ||||
| 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, \ | ||||
|     checkurl, FormatError, FilterOptionsDialog, \ | ||||
|     NewEventDlg, createEvent, MPLWidget, PropertiesDlg, HelpForm, \ | ||||
|     DatastructureError, createAction, getLogin, createCreationInfo, PickDlg | ||||
| from pylot.core.util.thread import WorkerThread | ||||
| from pylot.core.util.structure import DATASTRUCTURE | ||||
| import icons_rc | ||||
| 
 | ||||
| @ -147,11 +148,13 @@ class MainWindow(QMainWindow): | ||||
|         filter_icon = QIcon() | ||||
|         filter_icon.addPixmap(QPixmap(':/icons/filter.png')) | ||||
|         z_icon = QIcon() | ||||
|         z_icon.addPixmap((QPixmap(':/icons/key_Z.png'))) | ||||
|         z_icon.addPixmap(QPixmap(':/icons/key_Z.png')) | ||||
|         n_icon = QIcon() | ||||
|         n_icon.addPixmap((QPixmap(':/icons/key_N.png'))) | ||||
|         n_icon.addPixmap(QPixmap(':/icons/key_N.png')) | ||||
|         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 ...", | ||||
|                                            self.createNewEvent, | ||||
| @ -261,6 +264,17 @@ class MainWindow(QMainWindow): | ||||
|         componentToolBar.setObjectName("PhaseTools") | ||||
|         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") | ||||
|         # pickToolActions = (selectStation, ) | ||||
|         # pickToolBar.setObjectName("PickTools") | ||||
| @ -570,6 +584,20 @@ class MainWindow(QMainWindow): | ||||
|         else: | ||||
|             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): | ||||
|         stat_picks = self.getPicksOnStation(station) | ||||
|         if not stat_picks: | ||||
|  | ||||
| @ -15,6 +15,7 @@ | ||||
|         <file>icons/key_W.png</file> | ||||
| 		<file>icons/key_Z.png</file> | ||||
|         <file>icons/filter.png</file> | ||||
|         <file>icons/sync.png</file> | ||||
|         <file>icons/zoom_in.png</file> | ||||
|         <file>icons/zoom_out.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 matplotlib.pyplot as plt | ||||
| from obspy.core import Stream, UTCDateTime | ||||
| from pylot.core.pick.run_autopicking import run_autopicking | ||||
| import warnings | ||||
| 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): | ||||
|     ''' | ||||
|     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): | ||||
|     message = Signal(str) | ||||
| 
 | ||||
|     def __init__(self, func, data, param): | ||||
|     def __init__(self, parent, func, data, param): | ||||
|         super(WorkerThread, self).__init__() | ||||
|         self.setParent(parent) | ||||
|         self.func = func | ||||
|         self.data = data | ||||
|         self.param = param | ||||
| @ -13,7 +14,12 @@ class WorkerThread(QThread): | ||||
|     def run(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): | ||||
|         self.message.emit(text) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user