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 | ||||
|  | ||||
							
								
								
									
										46
									
								
								autoPyLoT.py
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								autoPyLoT.py
									
									
									
									
									
								
							| @ -130,21 +130,35 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | ||||
|             print("!!No source parameter estimation possible!!") | ||||
|             print("                 !!!              ") | ||||
| 
 | ||||
|         datapath = datastructure.expandDataPath() | ||||
|         if fnames == 'None' and not parameter.hasParam('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'): | ||||
|             # single event processing | ||||
|             events = glob.glob(os.path.join(datapath, parameter.get('eventID'))) | ||||
|         if not input_dict: | ||||
|             # started in production mode | ||||
|             datapath = datastructure.expandDataPath() | ||||
|             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['eventID']: | ||||
|                 # single event processing | ||||
|                 events = glob.glob(os.path.join(datapath, parameter.get('eventID'))) | ||||
|             else: | ||||
|                 # autoPyLoT was initialized from GUI | ||||
|                 events = [] | ||||
|                 events.append(eventid) | ||||
|                 evID = os.path.split(eventid)[-1] | ||||
|                 locflag = 2 | ||||
|         else: | ||||
|             # autoPyLoT was initialized from GUI | ||||
|             # started in tune mode | ||||
|             datapath = os.path.join(parameter['rootpath'], | ||||
|                                     parameter['datapath']) | ||||
|             events = [] | ||||
|             events.append(eventid) | ||||
|             evID = os.path.split(eventid)[-1] | ||||
|             locflag = 2 | ||||
|             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': | ||||
|                 data.setWFData(glob.glob(os.path.join(datapath, event, '*'))) | ||||
| @ -385,9 +399,5 @@ if __name__ == "__main__": | ||||
| 
 | ||||
|     cla = parser.parse_args() | ||||
|      | ||||
|     try: | ||||
|         picks, mainFig = 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.") | ||||
|                               | ||||
|     picks = autoPyLoT(inputfile=str(cla.inputfile), fnames=str(cla.fnames),  | ||||
|                       eventid=str(cla.eventid), savepath=str(cla.spath)) | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 1b17-dirty | ||||
| ab97-dirty | ||||
|  | ||||
| @ -275,7 +275,11 @@ defaults = {'rootpath': {'type': str, | ||||
|              | ||||
|             'wdttolerance': {'type': float, | ||||
|                              'tooltip': 'maximum allowed deviation from Wadati-diagram', | ||||
|                              'value': 1.0} | ||||
|                              'value': 1.0}, | ||||
|              | ||||
|             'localMag': {'type': float, | ||||
|                          'tooltip': 'maximum allowed deviation from Wadati-diagram', | ||||
|                          'value': 1.0} | ||||
| } | ||||
| 
 | ||||
| settings_main={ | ||||
| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user