diff --git a/PyLoT.py b/PyLoT.py index d728b055..6e3bc177 100644 --- a/PyLoT.py +++ b/PyLoT.py @@ -1633,7 +1633,7 @@ class MainWindow(QMainWindow): if self.pg: self.finish_pg_plot() else: - self._max_xlims = self.dataPlot.getXLims() + self._max_xlims = self.dataPlot.getXLims(self.dataPlot.axes[0]) plotWidget = self.getPlotWidget() plotDict = plotWidget.getPlotDict() pos = plotDict.keys() @@ -1707,7 +1707,7 @@ class MainWindow(QMainWindow): self.dataPlot.plotWidget.hideAxis('bottom') self.dataPlot.plotWidget.hideAxis('left') else: - self.dataPlot.getAxes().cla() + self.dataPlot.axes[0].cla() self.loadlocationaction.setEnabled(False) self.auto_tune.setEnabled(False) self.auto_pick.setEnabled(False) @@ -2314,7 +2314,7 @@ class MainWindow(QMainWindow): if self.pg: pw = self.getPlotWidget().plotWidget else: - ax = self.getPlotWidget().axes + ax = self.getPlotWidget().axes[0] ylims = np.array([-.5, +.5]) + plotID stat_picks = self.getPicks(type=picktype)[station] @@ -2572,7 +2572,7 @@ class MainWindow(QMainWindow): lon = event.origins[0].longitude self.array_map.eventLoc = (lat, lon) if self.get_current_event(): - self.array_map.refresh_drawings(self.get_current_event().getPicks()) + self.array_map.refresh_drawings(self.get_current_event().getAutopicks()) self._eventChanged[1] = False def init_event_table(self, tabindex=2): diff --git a/README.md b/README.md index 02fd23dd..ed879ae1 100644 --- a/README.md +++ b/README.md @@ -66,20 +66,34 @@ PyLoT has been tested on Mac OSX (10.11), Debian Linux 8 and on Windows 10. #### Features: -- event organisation in project files and waveform visualisation -- consistent manual phase picking through predefined SNR dependant zoom level -- consistent automatic phase picking routines using Higher Order Statistics, AIC and Autoregression -- interactive tuning of auto-pick parameters -- uniform uncertainty estimation from waveform's properties for automatic and manual picks -- pdf representation and comparison of picks taking the uncertainty intrinsically into account -- Richter and moment magnitude estimation -- location determination with external installation of [NonLinLoc](http://alomax.free.fr/nlloc/index.html) +- centralize all functionalities of PyLoT and control them from within the main GUI +- handling multiple events inside GUI with project files (save and load work progress) +- GUI based adjustments of pick parameters and I/O +- interactive tuning of parameters from within the GUI +- call automatic picking algorithm from within the GUI +- comparison of automatic with manual picks for multiple events using clear differentiation of manual picks into 'tune' and 'test-set' (beta) +- manual picking of different (user defined) phase types +- phase onset estimation with ObsPy TauPy +- interactive zoom/scale functionalities in all plots (mousewheel, pan, pan-zoom) +- array map to visualize stations and control onsets (beta feature, switch to manual picks not implemented) -#### Known issues: +##### Platform support: +- Python 3 support +- Windows support -- Sometimes an error might occur when using Qt +##### Performance: +- multiprocessing for automatic picking and restitution of multiple stations +- use pyqtgraph library for better performance on main waveform plot -We hope to solve these with the next release. +##### Visualization: +- pick uncertainty (quality classes) visualization with gradients +- pick color unification for all plots +- new icons and stylesheets + +#### Known Issues: +- some Qt related errors might occur at runtime +- filter toggle not working in pickDlg +- PyLoT data structure requires at least three parent directories for waveform data directory ## Staff diff --git a/pylot/core/util/widgets.py b/pylot/core/util/widgets.py index 14809d73..1fec0706 100644 --- a/pylot/core/util/widgets.py +++ b/pylot/core/util/widgets.py @@ -624,6 +624,7 @@ class PylotCanvas(FigureCanvas): # initialize super class super(PylotCanvas, self).__init__(self.figure) self.setParent(parent) + self.orig_parent = parent if multicursor: # add a cursor for station selection @@ -917,7 +918,7 @@ class PylotCanvas(FigureCanvas): nsc.sort() nsc.reverse() - style = self.parent()._style + style = self.orig_parent._style linecolor = style['linecolor']['rgba_mpl'] for n, (network, station, channel) in enumerate(nsc):