[add] finished remove picks feature, testing needed
This commit is contained in:
		
							parent
							
								
									dbb3fab6d0
								
							
						
					
					
						commit
						37875d5c87
					
				@ -1751,7 +1751,7 @@ class MainWindow(QMainWindow):
 | 
				
			|||||||
                          autopicks=self.getPicksOnStation(station, 'auto'))
 | 
					                          autopicks=self.getPicksOnStation(station, 'auto'))
 | 
				
			||||||
        pickDlg.nextStation.setChecked(nextStation)
 | 
					        pickDlg.nextStation.setChecked(nextStation)
 | 
				
			||||||
        if pickDlg.exec_():
 | 
					        if pickDlg.exec_():
 | 
				
			||||||
            if pickDlg.getPicks():
 | 
					            if pickDlg._dirty:
 | 
				
			||||||
                self.setDirty(True)
 | 
					                self.setDirty(True)
 | 
				
			||||||
                self.update_status('picks accepted ({0})'.format(station))
 | 
					                self.update_status('picks accepted ({0})'.format(station))
 | 
				
			||||||
                replot = self.addPicks(station, pickDlg.getPicks())
 | 
					                replot = self.addPicks(station, pickDlg.getPicks())
 | 
				
			||||||
@ -1864,12 +1864,12 @@ class MainWindow(QMainWindow):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    def addPicks(self, station, picks, type='manual'):
 | 
					    def addPicks(self, station, picks, type='manual'):
 | 
				
			||||||
        stat_picks = self.getPicksOnStation(station, type)
 | 
					        stat_picks = self.getPicksOnStation(station, type)
 | 
				
			||||||
        if not stat_picks:
 | 
					        if not stat_picks and picks:
 | 
				
			||||||
            rval = False
 | 
					            rval = False
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            # set picks (ugly syntax?)
 | 
					 | 
				
			||||||
            self.getPicks(type=type)[station] = picks
 | 
					 | 
				
			||||||
            rval = True
 | 
					            rval = True
 | 
				
			||||||
 | 
					        # set picks (ugly syntax?)
 | 
				
			||||||
 | 
					        self.getPicks(type=type)[station] = picks
 | 
				
			||||||
        return rval
 | 
					        return rval
 | 
				
			||||||
        # if not stat_picks:
 | 
					        # if not stat_picks:
 | 
				
			||||||
        #     stat_picks = picks
 | 
					        #     stat_picks = picks
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
1918-dirty
 | 
					dbb3-dirty
 | 
				
			||||||
 | 
				
			|||||||
@ -83,6 +83,11 @@ class Event(ObsPyEvent):
 | 
				
			|||||||
    def setPick(self, station, pick):
 | 
					    def setPick(self, station, pick):
 | 
				
			||||||
        if pick:
 | 
					        if pick:
 | 
				
			||||||
            self.pylot_picks[station] = pick
 | 
					            self.pylot_picks[station] = pick
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            try:
 | 
				
			||||||
 | 
					                self.pylot_picks.pop(station)
 | 
				
			||||||
 | 
					            except Exception as e:
 | 
				
			||||||
 | 
					                print('Could not remove pick {} from station {}: {}'.format(pick, station, e))
 | 
				
			||||||
        self.picks = picks_from_picksdict(self.pylot_picks)
 | 
					        self.picks = picks_from_picksdict(self.pylot_picks)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def setPicks(self, picks):
 | 
					    def setPicks(self, picks):
 | 
				
			||||||
 | 
				
			|||||||
@ -370,7 +370,7 @@ def key_for_set_value(d):
 | 
				
			|||||||
    return r
 | 
					    return r
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def prepTimeAxis(stime, trace):
 | 
					def prepTimeAxis(stime, trace, verbosity=0):
 | 
				
			||||||
    '''
 | 
					    '''
 | 
				
			||||||
    takes a starttime and a trace object and returns a valid time axis for
 | 
					    takes a starttime and a trace object and returns a valid time axis for
 | 
				
			||||||
    plotting
 | 
					    plotting
 | 
				
			||||||
@ -384,16 +384,18 @@ def prepTimeAxis(stime, trace):
 | 
				
			|||||||
    etime = stime + nsamp / srate
 | 
					    etime = stime + nsamp / srate
 | 
				
			||||||
    time_ax = np.arange(stime, etime, tincr)
 | 
					    time_ax = np.arange(stime, etime, tincr)
 | 
				
			||||||
    if len(time_ax) < nsamp:
 | 
					    if len(time_ax) < nsamp:
 | 
				
			||||||
        print('elongate time axes by one datum')
 | 
					        if verbosity:
 | 
				
			||||||
 | 
					            print('elongate time axes by one datum')
 | 
				
			||||||
        time_ax = np.arange(stime, etime + tincr, tincr)
 | 
					        time_ax = np.arange(stime, etime + tincr, tincr)
 | 
				
			||||||
    elif len(time_ax) > nsamp:
 | 
					    elif len(time_ax) > nsamp:
 | 
				
			||||||
        print('shorten time axes by one datum')
 | 
					        if verbosity:
 | 
				
			||||||
 | 
					            print('shorten time axes by one datum')
 | 
				
			||||||
        time_ax = np.arange(stime, etime - tincr, tincr)
 | 
					        time_ax = np.arange(stime, etime - tincr, tincr)
 | 
				
			||||||
    if len(time_ax) != nsamp:
 | 
					    if len(time_ax) != nsamp:
 | 
				
			||||||
        print('Station {0}, {1} samples of data \n '
 | 
					        print('Station {0}, {1} samples of data \n '
 | 
				
			||||||
                      '{2} length of time vector \n'
 | 
					              '{2} length of time vector \n'
 | 
				
			||||||
                      'delta: {3}'.format(trace.stats.station,
 | 
					              'delta: {3}'.format(trace.stats.station,
 | 
				
			||||||
                                   nsamp, len(time_ax), tincr))
 | 
					                                  nsamp, len(time_ax), tincr))
 | 
				
			||||||
        time_ax = None
 | 
					        time_ax = None
 | 
				
			||||||
    return time_ax
 | 
					    return time_ax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -753,6 +753,7 @@ class PickDlg(QDialog):
 | 
				
			|||||||
        settings = QSettings()
 | 
					        settings = QSettings()
 | 
				
			||||||
        pylot_user = getpass.getuser()
 | 
					        pylot_user = getpass.getuser()
 | 
				
			||||||
        self._user = settings.value('user/Login', pylot_user)
 | 
					        self._user = settings.value('user/Login', pylot_user)
 | 
				
			||||||
 | 
					        self._dirty = False
 | 
				
			||||||
        if picks:
 | 
					        if picks:
 | 
				
			||||||
            self.picks = picks
 | 
					            self.picks = picks
 | 
				
			||||||
            self._init_picks = copy.deepcopy(picks)
 | 
					            self._init_picks = copy.deepcopy(picks)
 | 
				
			||||||
@ -952,6 +953,9 @@ class PickDlg(QDialog):
 | 
				
			|||||||
        self.setLayout(_outerlayout)
 | 
					        self.setLayout(_outerlayout)
 | 
				
			||||||
        self.resize(1280, 720)        
 | 
					        self.resize(1280, 720)        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def setDirty(self, bool):
 | 
				
			||||||
 | 
					        self._dirty = bool
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
    def get_arrivals(self):
 | 
					    def get_arrivals(self):
 | 
				
			||||||
        phases = self.prepare_phases()
 | 
					        phases = self.prepare_phases()
 | 
				
			||||||
        station_id = self.data.traces[0].get_id()
 | 
					        station_id = self.data.traces[0].get_id()
 | 
				
			||||||
@ -1558,6 +1562,7 @@ class PickDlg(QDialog):
 | 
				
			|||||||
        self.zoomAction.setEnabled(True)
 | 
					        self.zoomAction.setEnabled(True)
 | 
				
			||||||
        self.pick_block = self.togglePickBlocker()
 | 
					        self.pick_block = self.togglePickBlocker()
 | 
				
			||||||
        self.leave_picking_mode()
 | 
					        self.leave_picking_mode()
 | 
				
			||||||
 | 
					        self.setDirty(True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def drawAllPicks(self):
 | 
					    def drawAllPicks(self):
 | 
				
			||||||
        self.removePhaseText()
 | 
					        self.removePhaseText()
 | 
				
			||||||
@ -1654,6 +1659,7 @@ class PickDlg(QDialog):
 | 
				
			|||||||
        # information output
 | 
					        # information output
 | 
				
			||||||
        msg = 'Deleted pick for phase {}, {}[s] from starttime {}'
 | 
					        msg = 'Deleted pick for phase {}, {}[s] from starttime {}'
 | 
				
			||||||
        print(msg.format(phase, pick_rel, starttime))
 | 
					        print(msg.format(phase, pick_rel, starttime))
 | 
				
			||||||
 | 
					        self.setDirty(True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def drawPhaseText(self):
 | 
					    def drawPhaseText(self):
 | 
				
			||||||
        return self.drawPicks(picktype='manual', textOnly=True)
 | 
					        return self.drawPicks(picktype='manual', textOnly=True)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user