Exemplo n.º 1
0
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")
Exemplo n.º 2
0
 def set_eegfile(self, eegfile):
     self._eegfile = eegfile
     if self._eegfile:
         self._plotter = EEGPlotterCache(self._eegfile)
         self._plotter.set_mode(self.get_mode())