Merge branch 'develop'
This commit is contained in:
		
						commit
						2b6297859b
					
				
							
								
								
									
										14
									
								
								QtPyLoT.py
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								QtPyLoT.py
									
									
									
									
									
								
							| @ -55,9 +55,9 @@ except ImportError: | ||||
| from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar     | ||||
| from matplotlib.figure import Figure | ||||
| 
 | ||||
| from pylot.core.analysis.magnitude import RichterMagnitude, MomentMagnitude | ||||
| from pylot.core.analysis.magnitude import LocalMagnitude, MomentMagnitude | ||||
| from pylot.core.io.data import Data | ||||
| from pylot.core.io.inputs import FilterOptions, AutoPickParameter | ||||
| from pylot.core.io.inputs import FilterOptions, PylotParameter | ||||
| from autoPyLoT import autoPyLoT | ||||
| from pylot.core.pick.compare import Comparison | ||||
| from pylot.core.pick.utils import symmetrize_error | ||||
| @ -73,7 +73,7 @@ from pylot.core.util.utils import fnConstructor, getLogin, \ | ||||
| from pylot.core.io.location import create_creation_info, create_event | ||||
| from pylot.core.util.widgets import FilterOptionsDialog, NewEventDlg, \ | ||||
|     WaveformWidget, WaveformWidgetPG, PropertiesDlg, HelpForm, createAction, PickDlg, \ | ||||
|     getDataType, ComparisonDialog, TuneAutopicker, AutoPickParaBox | ||||
|     getDataType, ComparisonDialog, TuneAutopicker, PylotParaBox | ||||
| from pylot.core.util.map_projection import map_projection | ||||
| from pylot.core.util.structure import DATASTRUCTURE | ||||
| from pylot.core.util.thread import AutoPickThread, Thread | ||||
| @ -103,7 +103,7 @@ class MainWindow(QMainWindow): | ||||
|             self.infile = infile[0] | ||||
|         else: | ||||
|              self.infile = infile | ||||
|         self._inputs = AutoPickParameter(infile) | ||||
|         self._inputs = PylotParameter(infile) | ||||
|         self._props = None | ||||
| 
 | ||||
|         self.dirty = False | ||||
| @ -799,7 +799,7 @@ class MainWindow(QMainWindow): | ||||
|                 self.paraBox.setValue(box, dirs[directory]) | ||||
|                 #show needed parameter in box | ||||
|                 self.paraBox.show_parameter(directory) | ||||
|             dirs_box = self.paraBox.get_groupbox_exclusive('Directories') | ||||
|             dirs_box = self.paraBox.get_groupbox_dialog('Directories') | ||||
|             if not dirs_box.exec_(): | ||||
|                 return | ||||
|             self.project.rootpath = dirs['rootpath'] | ||||
| @ -2150,7 +2150,7 @@ class MainWindow(QMainWindow): | ||||
|         # if not rest_flag: | ||||
|         #     raise ProcessingError('Restitution of waveform data failed!') | ||||
|         if type == 'ML': | ||||
|             local_mag = RichterMagnitude(corr_wf, self.get_data().get_evt_data(), self.inputs.get('sstop'), verbosity = True) | ||||
|             local_mag = LocalMagnitude(corr_wf, self.get_data().get_evt_data(), self.inputs.get('sstop'), verbosity = True) | ||||
|             return local_mag.updated_event() | ||||
|         elif type == 'Mw': | ||||
|             moment_mag = MomentMagnitude(corr_wf, self.get_data().get_evt_data(), self.inputs.get('vp'), self.inputs.get('Qp'), self.inputs.get('rho'), verbosity = True) | ||||
| @ -2331,7 +2331,7 @@ class MainWindow(QMainWindow): | ||||
| 
 | ||||
|     def setParameter(self, show=True): | ||||
|         if not self.paraBox: | ||||
|             self.paraBox = AutoPickParaBox(self._inputs) | ||||
|             self.paraBox = PylotParaBox(self._inputs) | ||||
|             self.paraBox._apply.clicked.connect(self._setDirty) | ||||
|             self.paraBox._okay.clicked.connect(self._setDirty) | ||||
|         if show: | ||||
|  | ||||
							
								
								
									
										22
									
								
								autoPyLoT.py
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								autoPyLoT.py
									
									
									
									
									
								
							| @ -16,9 +16,9 @@ import pylot.core.loc.focmec as focmec | ||||
| import pylot.core.loc.hash as hash | ||||
| import pylot.core.loc.nll as nll | ||||
| #from PySide.QtGui import QWidget, QInputDialog | ||||
| from pylot.core.analysis.magnitude import MomentMagnitude, RichterMagnitude | ||||
| from pylot.core.analysis.magnitude import MomentMagnitude, LocalMagnitude | ||||
| from pylot.core.io.data import Data | ||||
| from pylot.core.io.inputs import AutoPickParameter | ||||
| from pylot.core.io.inputs import PylotParameter | ||||
| from pylot.core.pick.autopick import autopickevent, iteratepicker | ||||
| from pylot.core.util.dataprocessing import restitute_data, read_metadata, \ | ||||
|     remove_underscores | ||||
| @ -35,7 +35,7 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | ||||
| 
 | ||||
|     :param inputfile: path to the input file containing all parameter | ||||
|     information for automatic picking (for formatting details, see. | ||||
|     `~pylot.core.io.inputs.AutoPickParameter` | ||||
|     `~pylot.core.io.inputs.PylotParameter` | ||||
|     :type inputfile: str | ||||
|     :return: | ||||
| 
 | ||||
| @ -71,13 +71,13 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | ||||
| 
 | ||||
|     if not parameter: | ||||
|         if inputfile: | ||||
|             parameter = AutoPickParameter(inputfile) | ||||
|             parameter = PylotParameter(inputfile) | ||||
|             iplot = parameter['iplot'] | ||||
|         else: | ||||
|             print('No parameters set and no input file given. Choose either of both.') | ||||
|             return | ||||
|     else: | ||||
|         if not type(parameter) == AutoPickParameter: | ||||
|         if not type(parameter) == PylotParameter: | ||||
|             print('Wrong input type for parameter: {}'.format(type(parameter))) | ||||
|             return | ||||
|         if inputfile: | ||||
| @ -252,9 +252,9 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | ||||
|                         for station, props in moment_mag.moment_props.items(): | ||||
|                             picks[station]['P'].update(props) | ||||
|                         evt = moment_mag.updated_event() | ||||
|                         local_mag = RichterMagnitude(corr_dat, evt, | ||||
|                                                      parameter.get('sstop'), True,\ | ||||
|                                                      iplot) | ||||
|                         local_mag = LocalMagnitude(corr_dat, evt, | ||||
|                                                    parameter.get('sstop'), parameter.get('WAscaling'), \ | ||||
|                                                    True, iplot) | ||||
|                         for station, amplitude in local_mag.amplitudes.items(): | ||||
|                             picks[station]['S']['Ao'] = amplitude.generic_amplitude | ||||
|                         evt = local_mag.updated_event() | ||||
| @ -310,9 +310,9 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | ||||
|                             for station, props in moment_mag.moment_props.items(): | ||||
|                                 picks[station]['P'].update(props) | ||||
|                             evt = moment_mag.updated_event() | ||||
|                             local_mag = RichterMagnitude(corr_dat, evt, | ||||
|                                                          parameter.get('sstop'), True, \ | ||||
|                                                          iplot) | ||||
|                             local_mag = LocalMagnitude(corr_dat, evt, | ||||
|                                                        parameter.get('sstop'), parameter.get('WAscaling'), \ | ||||
|                                                        True, iplot) | ||||
|                             for station, amplitude in local_mag.amplitudes.items(): | ||||
|                                 picks[station]['S']['Ao'] = amplitude.generic_amplitude | ||||
|                             evt = local_mag.updated_event() | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 6feff-dirty | ||||
| f91e1-dirty | ||||
|  | ||||
| @ -38,10 +38,10 @@ class Magnitude(object): | ||||
| 
 | ||||
|     def __init__(self, stream, event, verbosity=False, iplot=0): | ||||
|         self._type = "M" | ||||
|         self._stream = stream | ||||
|         self._plot_flag = iplot | ||||
|         self._verbosity = verbosity | ||||
|         self._event = event | ||||
|         self._stream = stream | ||||
|         self._magnitudes = dict() | ||||
| 
 | ||||
|     def __str__(self): | ||||
| @ -136,7 +136,7 @@ class Magnitude(object): | ||||
|         return None | ||||
| 
 | ||||
| 
 | ||||
| class RichterMagnitude(Magnitude): | ||||
| class LocalMagnitude(Magnitude): | ||||
|     """ | ||||
|     Method to derive peak-to-peak amplitude as seen on a Wood-Anderson- | ||||
|     seismograph. Has to be derived from instrument corrected traces! | ||||
| @ -153,10 +153,11 @@ class RichterMagnitude(Magnitude): | ||||
| 
 | ||||
|     _amplitudes = dict() | ||||
| 
 | ||||
|     def __init__(self, stream, event, calc_win, verbosity=False, iplot=0): | ||||
|         super(RichterMagnitude, self).__init__(stream, event, verbosity, iplot) | ||||
|     def __init__(self, stream, event, calc_win, wascaling=None, verbosity=False, iplot=0): | ||||
|         super(LocalMagnitude, self).__init__(stream, event, verbosity, iplot) | ||||
| 
 | ||||
|         self._calc_win = calc_win | ||||
|         self._wascaling = wascaling | ||||
|         self._type = 'ML' | ||||
|         self.calc() | ||||
| 
 | ||||
| @ -168,6 +169,10 @@ class RichterMagnitude(Magnitude): | ||||
|     def calc_win(self, value): | ||||
|         self._calc_win = value | ||||
| 
 | ||||
|     @property | ||||
|     def wascaling(self): | ||||
|         return self._wascaling | ||||
| 
 | ||||
|     @property | ||||
|     def amplitudes(self): | ||||
|         return self._amplitudes | ||||
| @ -251,10 +256,16 @@ class RichterMagnitude(Magnitude): | ||||
|             self.event.amplitudes.append(amplitude) | ||||
|             self.amplitudes = (station, amplitude) | ||||
|             # using standard Gutenberg-Richter relation | ||||
|             # TODO make the ML calculation more flexible by allowing | ||||
|             # use of custom relation functions | ||||
|             magnitude = ope.StationMagnitude( | ||||
|                 mag=np.log10(a0) + richter_magnitude_scaling(delta)) | ||||
|             # or scale WA amplitude with given scaling relation | ||||
|             if self.wascaling == None: | ||||
|                 print("Calculating original Richter magnitude ...") | ||||
|                 magnitude = ope.StationMagnitude(mag=np.log10(a0) \ | ||||
|                             + richter_magnitude_scaling(delta)) | ||||
|             else: | ||||
|                 print("Calculating scaled local magnitude ...") | ||||
|                 magnitude = ope.StationMagnitude(mag=np.log10(a0) \ | ||||
|                             + self.wascaling[0] * np.log10(delta) + self.wascaling[1]  | ||||
|                             * delta + self.wascaling[2]) | ||||
|             magnitude.origin_id = self.origin_id | ||||
|             magnitude.waveform_id = pick.waveform_id | ||||
|             magnitude.amplitude_id = amplitude.resource_id | ||||
|  | ||||
| @ -277,13 +277,13 @@ defaults = {'rootpath': {'type': str, | ||||
|                              'tooltip': 'maximum allowed deviation from Wadati-diagram', | ||||
|                              'value': 1.0}, | ||||
|              | ||||
|             'WAscaling': {'type': float, | ||||
|                          'tooltip': 'Scaling relation of Wood-Anderson amplitude [nm]', | ||||
|                          'value': 1.0}, | ||||
|             'WAscaling': {'type': (float, float, float), | ||||
|                          'tooltip': 'Scaling relation (log(Ao)+Alog(r)+Br+C) of Wood-Anderson amplitude Ao [nm]', | ||||
|                          'value': (1.0, 1.0, 1.0)}, | ||||
| 
 | ||||
|             'magscaling': {'type': float, | ||||
|             'magscaling': {'type': (float, float), | ||||
|                          'tooltip': 'Scaling relation for derived local magnitude [a*Ml+b]', | ||||
|                          'value': 1.0} | ||||
|                          'value': (1.0, 1.0)} | ||||
| } | ||||
| 
 | ||||
| settings_main={ | ||||
|  | ||||
| @ -4,9 +4,9 @@ | ||||
| from pylot.core.util.errors import ParameterError | ||||
| import default_parameters | ||||
| 
 | ||||
| class AutoPickParameter(object): | ||||
| class PylotParameter(object): | ||||
|     ''' | ||||
|     AutoPickParameters is a parameter type object capable to read and/or write | ||||
|     PylotParameter is a parameter type object capable to read and/or write | ||||
|     parameter ASCII. | ||||
| 
 | ||||
|     :param fn str: Filename of the input file | ||||
| @ -78,7 +78,7 @@ class AutoPickParameter(object): | ||||
|          | ||||
|     # String representation of the object | ||||
|     def __repr__(self): | ||||
|         return "AutoPickParameter('%s')" % self.__filename | ||||
|         return "PylotParameter('%s')" % self.__filename | ||||
| 
 | ||||
|     # Boolean test | ||||
|     def __nonzero__(self): | ||||
|  | ||||
| @ -8,7 +8,7 @@ import scipy.io as sio | ||||
| import warnings | ||||
| from obspy.core import UTCDateTime | ||||
| 
 | ||||
| from pylot.core.io.inputs import AutoPickParameter | ||||
| from pylot.core.io.inputs import PylotParameter | ||||
| from pylot.core.io.location import create_arrival, create_event, \ | ||||
|     create_magnitude, create_origin, create_pick | ||||
| from pylot.core.pick.utils import select_for_phase | ||||
| @ -116,7 +116,7 @@ def picksdict_from_pilot(fn): | ||||
|     picks = dict() | ||||
|     phases_pilot = sio.loadmat(fn) | ||||
|     stations = stations_from_pilot(phases_pilot['stat']) | ||||
|     params = AutoPickParameter(TIMEERROR_DEFAULTS) | ||||
|     params = PylotParameter(TIMEERROR_DEFAULTS) | ||||
|     timeerrors = dict(P=params.get('timeerrorsP'), | ||||
|                       S=params.get('timeerrorsS')) | ||||
|     for n, station in enumerate(stations): | ||||
| @ -295,14 +295,14 @@ def reassess_pilot_db(root_dir, db_dir, out_dir=None, fn_param=None, verbosity=0 | ||||
| def reassess_pilot_event(root_dir, db_dir, event_id, out_dir=None, fn_param=None, verbosity=0): | ||||
|     from obspy import read | ||||
| 
 | ||||
|     from pylot.core.io.inputs import AutoPickParameter | ||||
|     from pylot.core.io.inputs import PylotParameter | ||||
|     from pylot.core.pick.utils import earllatepicker | ||||
| 
 | ||||
|     if fn_param is None: | ||||
|         import pylot.core.util.defaults as defaults | ||||
|         fn_param = defaults.AUTOMATIC_DEFAULTS | ||||
| 
 | ||||
|     default = AutoPickParameter(fn_param, verbosity) | ||||
|     default = PylotParameter(fn_param, verbosity) | ||||
| 
 | ||||
|     search_base = os.path.join(root_dir, db_dir, event_id) | ||||
|     phases_file = glob.glob(os.path.join(search_base, 'PHASES.mat')) | ||||
|  | ||||
| @ -11,7 +11,7 @@ function conglomerate utils. | ||||
| 
 | ||||
| import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
| from pylot.core.io.inputs import AutoPickParameter | ||||
| from pylot.core.io.inputs import PylotParameter | ||||
| from pylot.core.pick.picker import AICPicker, PragPicker | ||||
| from pylot.core.pick.charfuns import CharacteristicFunction | ||||
| from pylot.core.pick.charfuns import HOScf, AICcf, ARZcf, ARHcf, AR3Ccf | ||||
| @ -81,7 +81,7 @@ def autopickstation(wfstream, pickparam, verbose=False, iplot=0, fig_dict=None): | ||||
| 
 | ||||
|     :param pickparam: container of picking parameters from input file, | ||||
|            usually autoPyLoT.in | ||||
|     :type pickparam: AutoPickParameter | ||||
|     :type pickparam: PylotParameter | ||||
|     :param verbose: | ||||
|     :type verbose: bool | ||||
| 
 | ||||
|  | ||||
| @ -10,7 +10,7 @@ import re | ||||
| import warnings | ||||
| import subprocess | ||||
| from obspy import UTCDateTime, read | ||||
| from pylot.core.io.inputs import AutoPickParameter | ||||
| from pylot.core.io.inputs import PylotParameter | ||||
| 
 | ||||
| 
 | ||||
| def _pickle_method(m): | ||||
| @ -497,7 +497,7 @@ def which(program, infile=None): | ||||
|             bpath = os.path.join(os.path.expanduser('~'), '.pylot', infile) | ||||
|              | ||||
|         if os.path.exists(bpath): | ||||
|             nllocpath = ":" + AutoPickParameter(bpath).get('nllocbin') | ||||
|             nllocpath = ":" + PylotParameter(bpath).get('nllocbin') | ||||
|             os.environ['PATH'] += nllocpath | ||||
|     except ImportError as e: | ||||
|         print(e.message) | ||||
|  | ||||
| @ -36,7 +36,7 @@ from PySide.QtCore import QSettings, Qt, QUrl, Signal, Slot | ||||
| from PySide.QtWebKit import QWebView | ||||
| from obspy import Stream, UTCDateTime | ||||
| from pylot.core.io.data import Data | ||||
| from pylot.core.io.inputs import FilterOptions, AutoPickParameter | ||||
| from pylot.core.io.inputs import FilterOptions, PylotParameter | ||||
| from pylot.core.pick.utils import getSNR, earllatepicker, getnoisewin, \ | ||||
|     getResolutionWindow | ||||
| from pylot.core.pick.compare import Comparison | ||||
| @ -1662,7 +1662,7 @@ class TuneAutopicker(QWidget): | ||||
|         self.stb_names = ['aicARHfig', 'refSpick', 'el_S1pick', 'el_S2pick'] | ||||
| 
 | ||||
|     def add_parameters(self): | ||||
|         self.paraBox = AutoPickParaBox(self.parameter) | ||||
|         self.paraBox = PylotParaBox(self.parameter) | ||||
|         self.paraBox.set_tune_mode(True) | ||||
|         self.update_eventID() | ||||
|         self.parameter_layout.addWidget(self.paraBox) | ||||
| @ -1968,13 +1968,13 @@ class TuneAutopicker(QWidget): | ||||
|         self.qmb.show()         | ||||
|      | ||||
|                  | ||||
| class AutoPickParaBox(QtGui.QWidget):      | ||||
| class PylotParaBox(QtGui.QWidget):      | ||||
|     def __init__(self, parameter, parent=None): | ||||
|         ''' | ||||
|         Generate Widget containing parameters for automatic picking algorithm. | ||||
| 
 | ||||
|         :param: parameter | ||||
|         :type: AutoPickParameter (object) | ||||
|         :type: PylotParameter (object) | ||||
| 
 | ||||
|         ''' | ||||
|         QtGui.QWidget.__init__(self, parent) | ||||
| @ -1987,6 +1987,7 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|         self.labels = {} | ||||
|         self.boxes = {} | ||||
|         self.groupboxes = {} | ||||
|         self._exclusive_widgets = [] | ||||
|         self._init_sublayouts() | ||||
|         self.setLayout(self.layout) | ||||
|         self.add_main_parameters_tab() | ||||
| @ -2034,7 +2035,7 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|          | ||||
|     def _create_advanced_cb(self): | ||||
|         self._advanced_cb = QtGui.QCheckBox('Enable Advanced Settings') | ||||
|         self._advanced_layout.addWidget(self._advanced_cb) | ||||
|         self._advanced_layout.insertWidget(0, self._advanced_cb) | ||||
|         self._advanced_cb.toggled.connect(self._toggle_advanced_settings) | ||||
| 
 | ||||
|     def _toggle_advanced_settings(self): | ||||
| @ -2140,13 +2141,13 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
| 
 | ||||
|     def add_special_pick_parameters_tab(self): | ||||
|         self.add_to_layout(self._advanced_layout, 'Z-component', | ||||
|                            self.parameter.get_special_para_names()['z'], 0) | ||||
|                            self.parameter.get_special_para_names()['z'], 1) | ||||
|         self.add_to_layout(self._advanced_layout, 'H-components', | ||||
|                            self.parameter.get_special_para_names()['h'], 1) | ||||
|                            self.parameter.get_special_para_names()['h'], 2) | ||||
|         self.add_to_layout(self._advanced_layout, 'First-motion picker', | ||||
|                            self.parameter.get_special_para_names()['fm'], 2) | ||||
|                            self.parameter.get_special_para_names()['fm'], 3) | ||||
|         self.add_to_layout(self._advanced_layout, 'Quality assessment', | ||||
|                            self.parameter.get_special_para_names()['quality'], 3) | ||||
|                            self.parameter.get_special_para_names()['quality'], 4) | ||||
|         self.add_tab(self._advanced_layout, 'Advanced Settings') | ||||
| 
 | ||||
|     # def gen_h_seperator(self): | ||||
| @ -2168,20 +2169,29 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|             layout.insertWidget(position, groupbox) | ||||
| 
 | ||||
|     def get_groupbox_exclusive(self, name): | ||||
|         widget = QtGui.QWidget(self, 1) | ||||
|         layout = QtGui.QVBoxLayout() | ||||
|         widget.setLayout(layout) | ||||
|         layout.addWidget(self.groupboxes[name]) | ||||
|         self._exclusive_widgets.append(widget) | ||||
|         return widget | ||||
| 
 | ||||
|     def get_groupbox_dialog(self, name): | ||||
|         widget = self.get_groupbox_exclusive(name) | ||||
|         dialog = QtGui.QDialog(self.parent()) | ||||
|         buttonbox = QtGui.QDialogButtonBox(QDialogButtonBox.Ok | | ||||
|                                            QDialogButtonBox.Cancel) | ||||
|         self._exclusive_dialog = dialog | ||||
|         layout = QtGui.QVBoxLayout() | ||||
|         dialog.setLayout(layout) | ||||
|         layout.addWidget(self.groupboxes[name]) | ||||
|         layout.addWidget(buttonbox) | ||||
|         buttonbox = QtGui.QDialogButtonBox(QDialogButtonBox.Ok | | ||||
|                                            QDialogButtonBox.Cancel) | ||||
|         buttonbox.accepted.connect(dialog.accept) | ||||
|         buttonbox.accepted.connect(self.refresh) | ||||
|         buttonbox.accepted.connect(self.params_from_gui) | ||||
|         buttonbox.rejected.connect(dialog.reject) | ||||
|         buttonbox.rejected.connect(self.refresh) | ||||
|         buttonbox.rejected.connect(self.params_to_gui) | ||||
|         layout.addWidget(widget) | ||||
|         layout.addWidget(buttonbox) | ||||
|         self._exclusive_dialog = dialog | ||||
|         return dialog | ||||
|          | ||||
|     def add_to_layout(self, layout, name, items, position): | ||||
| @ -2342,6 +2352,7 @@ class AutoPickParaBox(QtGui.QWidget): | ||||
|         self.show_parameter() | ||||
|         if hasattr(self, '_exclusive_dialog'): | ||||
|             self._exclusive_dialog.close() | ||||
|         self._exclusive_widgets = [] | ||||
|         QtGui.QWidget.show(self) | ||||
|              | ||||
|     def _warn(self, message): | ||||
| @ -2510,7 +2521,7 @@ class InputsTab(PropTab): | ||||
|         return values | ||||
| 
 | ||||
|     def resetValues(self, infile): | ||||
|         para = AutoPickParameter(infile) | ||||
|         para = PylotParameter(infile) | ||||
|         datstruct = para.get('datastructure') | ||||
|         if datstruct == 'SeisComp': | ||||
|            index = 0 | ||||
| @ -2766,7 +2777,7 @@ class LocalisationTab(PropTab): | ||||
|         return values | ||||
| 
 | ||||
|     def resetValues(self, infile): | ||||
|         para = AutoPickParameter(infile) | ||||
|         para = PylotParameter(infile) | ||||
|         nllocroot = para.get('nllocroot') | ||||
|         nllocbin = para.get('nllocbin') | ||||
|         loctool = self.locToolComboBox.setCurrentIndex(3) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user