class EEGPanel(FigurePanelWx): def __init__(self, *args, **kwargs): super(EEGPanel, self).__init__(*args, **kwargs) self._eegfile = None self._plotter = None self._events = [] self.axes = None def set_mode(self, name): super(EEGPanel, self).set_mode(name) if not self.figure.get_axes(): self.figure.add_axes([0.1, 0.1, 0.8, 0.8]) self.axes, = self.figure.get_axes() if self._plotter: self._plotter.set_mode(self.get_mode()) def set_eegfile(self, eegfile): self._eegfile = eegfile if self._eegfile: self._plotter = EEGPlotterCache(self._eegfile) self._plotter.set_mode(self.get_mode()) def set_events(self, events): self._events = events if self._plotter: self._plotter.set_events(self._events) def set_selected_event(self, *args, **kwargs): if self._plotter: return self._plotter.set_selected_event(*args, **kwargs) def draw(self, xlim, scale): if self._plotter: self._plotter.draw(self.axes, xlim, scale) self.canvas.draw() def time_chan_from_coords(self, coords): p = self._plotter if p: x, y = coords return p.as_datetime(x), p.as_chan(y) else: raise ValueError("No _plotter object yet")
def set_eegfile(self, eegfile): self._eegfile = eegfile if self._eegfile: self._plotter = EEGPlotterCache(self._eegfile) self._plotter.set_mode(self.get_mode())