예제 #1
0
    def __init__(self, eegplot, packstart=None, packend=None):    
        gtk.Window.__init__(self)
        Observer.__init__(self)
        self.set_size_request(*self._size)

        self.eegplot = eegplot
        self.eeg = eegplot.get_eeg()
        self.eoi = eegplot.get_eoi()

        self._filterButter = Filter(self)
        self._filter       = FilterBase()   # no filtering
        self._filterGM = self.eegplot.filterGM
        
        vbox = gtk.VBox()
        vbox.show()
        vbox.set_spacing(3)
        self.add(vbox)

        if packstart is not None:
            for w, expand, fill in packstart:
                vbox.pack_start(w, expand, fill)
        self.fig = Figure()
        self.axes = self.fig.add_subplot(111)        
        
        self.canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea
        self.canvas.set_size_request(0,0)
        self.canvas.show()
        vbox.pack_start(self.canvas, True, True)

        if packend is not None:
            for w, expand, fill in packend:
                vbox.pack_start(w, expand, fill)


        self.toolbar = self.make_toolbar()
        self.toolbar.show()
        vbox.pack_end(self.toolbar, False, False)


        self.set_title(self._title)
        self.set_border_width(10)

        def remove(*args):
            Observer.observers.remove(self)        
        self.connect('delete-event', remove)

        self._init()      # last call before make_plot
        self.make_plot()  #last line!
예제 #2
0
    def __init__(self, eegplot):
        gtk.Window.__init__(self)
        Observer.__init__(self)
        self.set_size_request(300, 300)
        self.eegplot = eegplot
        self.eeg = eegplot.get_eeg()
        self.eoi = eegplot.get_eoi()
        


        vbox = gtk.VBox()
        vbox.show()
        vbox.set_spacing(3)
        self.add(vbox)



        #print "EmbedWin.__init__(): making GLExtVTKRenderWindowInteractor"
        interactor = GtkGLExtVTKRenderWindowInteractor()
        vbox.pack_start(interactor, True, True)

        toolbar = self.make_toolbar()
        toolbar.show()
        vbox.pack_start(toolbar, False, False)

        #print "EmbedWin.__init__(): to interactor: show(), Initialize(), Start(), AddObserver('ExitEvent', ...)"
        interactor.show()
        interactor.Initialize()
        interactor.Start()
        interactor.AddObserver("ExitEvent", lambda o,e,x=None: x)

        self.renderer = vtk.vtkRenderer()
        #print "EmbedWin.__init__(): "
        interactor.GetRenderWindow().AddRenderer(self.renderer)
        self.interactor = interactor

        self.set_title("Embedding Window")
        self.set_border_width(10)

        self.scatterActor = None

        self.make_embed()  #last line!
예제 #3
0
    def __init__(self, eegplot):
        gtk.Window.__init__(self)
        Observer.__init__(self)
        self.set_size_request(300, 300)
        self.eegplot = eegplot
        self.eeg = eegplot.get_eeg()
        self.eoi = eegplot.get_eoi()

        vbox = gtk.VBox()
        vbox.show()
        vbox.set_spacing(3)
        self.add(vbox)

        #print "EmbedWin.__init__(): making GLExtVTKRenderWindowInteractor"
        interactor = GtkGLExtVTKRenderWindowInteractor()
        vbox.pack_start(interactor, True, True)

        toolbar = self.make_toolbar()
        toolbar.show()
        vbox.pack_start(toolbar, False, False)

        #print "EmbedWin.__init__(): to interactor: show(), Initialize(), Start(), AddObserver('ExitEvent', ...)"
        interactor.show()
        interactor.Initialize()
        interactor.Start()
        interactor.AddObserver("ExitEvent", lambda o, e, x=None: x)

        self.renderer = vtk.vtkRenderer()
        #print "EmbedWin.__init__(): "
        interactor.GetRenderWindow().AddRenderer(self.renderer)
        self.interactor = interactor

        self.set_title("Embedding Window")
        self.set_border_width(10)

        self.scatterActor = None

        self.make_embed()  #last line!
예제 #4
0
    def __init__(self, eoi, freq, t, data, trial_length, offset,
                 window_length):
        gtk.Window.__init__(self)
        Observer.__init__(self)
        self.choose_file()
        self.channels = eoi
        self.selected_channels = []
        # wavelets is a dict from name to np array
        self.wavelets = {}
        self.selected_wavelets = []
        self.eegfreq = freq
        self.t = t  # an array of ms exactly indexed into self.data[0]
        self.trial_length = trial_length
        self.offset = offset
        print t
        print data.shape
        print self.channels
        self.data = data

        self.fig = Figure(figsize=(15, 15), dpi=72)
        self.canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea
        self.canvas.show()

        self.resize(700, 512)
        self.set_title('Wavelet Runner')

        vbox = gtk.VBox()
        vbox.show()
        self.add(vbox)

        buttonChans = gtk.Button("Chans")
        buttonChans.show()
        buttonChans.connect('clicked', self.load_chans)

        buttonWB = gtk.Button("Wavelet Toolbox")
        buttonWB.show()
        buttonWB.connect('clicked', self.load_wavelets)

        buttonPlot = gtk.Button(stock=gtk.STOCK_EXECUTE)
        buttonPlot.show()
        buttonPlot.connect('clicked', self.execute)

        lwindow = gtk.Label()
        lwindow.set_text("window in ms")
        lwindow.show()
        self.window_length_entry = gtk.Entry()
        self.window_length_entry.set_text(
            str((window_length / float(self.eegfreq)) * 1000))
        self.window_length_entry.show()

        lmod = gtk.Label()
        lmod.set_text("modval")
        lmod.show()
        self.modval_entry = gtk.Entry()
        self.modval_entry.set_text('7.0')
        self.modval_entry.show()

        hbox = gtk.HBox()
        hbox.show()
        hbox.set_spacing(3)
        vbox.pack_start(hbox, False, False)
        hbox.pack_start(buttonChans, False, False)
        hbox.pack_start(buttonWB, False, False)
        hbox.pack_start(buttonPlot, False, False)
        hbox.pack_start(lwindow, False, False)
        hbox.pack_start(self.window_length_entry, False, False)
        hbox.pack_start(lmod, False, False)
        hbox.pack_start(self.modval_entry, False, False)

        self.statBar = gtk.Label()
        self.statBar.set_alignment(0, 0)
        self.statBar.show()
        self.progBar = gtk.ProgressBar()
        self.progBar.set_orientation(0)  # bottom-to-top
        self.progBar.set_fraction(0)
        self.progBar.show()

        vbox.pack_start(self.canvas, True, True)
        vbox.pack_start(self.statBar, False, False)
        vbox.pack_start(self.progBar, False, False)
예제 #5
0
    def __init__(self,
                 gridManager,
                 X,
                 channels,
                 amp,
                 addview3,
                 view3,
                 start_time=None,
                 end_time=None):
        ScalarMapper.__init__(self, gridManager)
        gtk.Window.__init__(self)
        Observer.__init__(self)
        self.resize(512, 570)
        self.set_title('Array data')
        self.view3 = view3
        self.addview3 = addview3
        self.channels = channels
        self.amp = amp
        self.trodes = [(gname, gnum) for cnum, gname, gnum in amp]
        self.X = X

        self.ax = None

        self.numChannels, self.numSamples = X.shape
        self.addview3destroy = False

        self.time_in_secs = False
        self.start_time = None
        self.end_time = None
        if ((start_time != None) & (end_time != None)):
            self.time_in_secs = True
            self.start_time = start_time
            self.end_time = end_time

        vbox = gtk.VBox()
        vbox.show()
        self.add(vbox)
        self.fig = self.make_fig(start_time, end_time)
        if self.addview3:
            button = gtk.Button('Remove from View3')
            button.show()
            #button.set_active(False)
            vbox.pack_start(button, False, False)
            button.connect('clicked', self.view3_remove)
            if self.addview3destroy == False:
                self.broadcast(Observer.ARRAY_CREATED, self.fig, True, False)
            self.addview3Button = button
        self.canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea
        self.canvas.show()
        vbox.pack_start(self.canvas, True, True)

        hbox = gtk.HBox()
        hbox.show()
        vbox.pack_start(hbox, False, False)

        label = gtk.Label('Sample num')
        label.show()
        hbox.pack_start(label, False, False)

        scrollbar = gtk.HScrollbar()
        scrollbar.show()
        hbox.pack_start(scrollbar, True, True)

        if (self.time_in_secs == True):
            scrollbar.set_range(start_time, end_time)
            #scrollbar.set_increments(1,1)
            print "set_increments(%f, %f)" % (
                (end_time - start_time) / float(self.numSamples),
                (end_time - start_time) / float(self.numSamples))
            scrollbar.set_increments(
                (end_time - start_time) / float(self.numSamples),
                (end_time - start_time) / float(self.numSamples))
            scrollbar.set_value(start_time + (end_time - start_time) / 2.0)

        else:
            scrollbar.set_range(0, self.numSamples - 1)
            scrollbar.set_increments(1, 1)
            scrollbar.set_value(self.numSamples / 2.0)

        scrollbar.connect('value_changed', self.set_sample_num)
        self.scrollbarIndex = scrollbar

        self.numlabel = gtk.Label(str(scrollbar.get_value()))
        self.numlabel.show()
        hbox.pack_start(self.numlabel, False, False)
        hbox2 = gtk.HBox()
        hbox2.show()
        toolbar = NavigationToolbar(self.canvas, self)
        toolbar.show()
        hbox2.pack_start(toolbar, True, True)
        button = gtk.Button('Coh. Here')
        button.show()
        hbox2.pack_start(button, False, False)
        button.connect('clicked', self.coh_here)
        vbox.pack_start(hbox2, False, False)

        self.set_sample_num(scrollbar)

        self.connect("destroy", self.on_destroy)
예제 #6
0
    def __init__(self, gridManager, X, channels, amp, addview3, view3, start_time=None, end_time=None):
        ScalarMapper.__init__(self, gridManager)
        gtk.Window.__init__(self)
        Observer.__init__(self)
        self.resize(512,570)
        self.set_title('Array data')
        self.view3 = view3
        self.addview3 = addview3
        self.channels = channels        
        self.amp = amp
        self.trodes = [(gname, gnum) for cnum, gname, gnum in amp]
        self.X = X

        self.ax = None

        self.numChannels, self.numSamples = X.shape
        self.addview3destroy = False

        self.time_in_secs = False
        self.start_time = None
        self.end_time = None
        if ((start_time != None) & (end_time != None)) :
            self.time_in_secs = True
            self.start_time = start_time
            self.end_time = end_time

        
        vbox = gtk.VBox()
        vbox.show()
        self.add(vbox)
        self.fig = self.make_fig(start_time, end_time)
        if self.addview3:
            button = gtk.Button('Remove from View3')
            button.show()
            #button.set_active(False)
            vbox.pack_start(button, False, False)
            button.connect('clicked', self.view3_remove)
            if self.addview3destroy == False:
                self.broadcast(Observer.ARRAY_CREATED, self.fig, True, False)
            self.addview3Button = button
        self.canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea
        self.canvas.show()
        vbox.pack_start(self.canvas, True, True)        

        hbox = gtk.HBox()
        hbox.show()
        vbox.pack_start(hbox, False, False)        

        label = gtk.Label('Sample num')
        label.show()
        hbox.pack_start(label, False, False)

        scrollbar = gtk.HScrollbar()
        scrollbar.show()
        hbox.pack_start(scrollbar, True, True)
        
        
        if (self.time_in_secs == True):
            scrollbar.set_range(start_time, end_time)
            #scrollbar.set_increments(1,1)
            print "set_increments(%f, %f)" % ((end_time-start_time)/float(self.numSamples), (end_time-start_time)/float(self.numSamples))
            scrollbar.set_increments((end_time-start_time)/float(self.numSamples), (end_time-start_time)/float(self.numSamples))
            scrollbar.set_value(start_time + (end_time-start_time)/2.0)
                                
        else: 
            scrollbar.set_range(0, self.numSamples-1)
            scrollbar.set_increments(1,1)
            scrollbar.set_value(self.numSamples/2.0)
           


        
        scrollbar.connect('value_changed', self.set_sample_num)
        self.scrollbarIndex = scrollbar


        self.numlabel = gtk.Label(str(scrollbar.get_value()))
        self.numlabel.show()
        hbox.pack_start(self.numlabel,False, False)
        hbox2 = gtk.HBox()
        hbox2.show()
        toolbar = NavigationToolbar(self.canvas, self)
        toolbar.show()
        hbox2.pack_start(toolbar, True, True)
        button = gtk.Button('Coh. Here')
        button.show()
        hbox2.pack_start(button, False, False)
        button.connect('clicked', self.coh_here)
        vbox.pack_start(hbox2, False, False)

        self.set_sample_num(scrollbar)

        self.connect("destroy", self.on_destroy)
예제 #7
0
파일: database.py 프로젝트: pschluet/bills
 def __init__(self):
     Observer.__init__(self)