class TeleMir_Calibration:
    def __init__(self):
        self.streamhandler = StreamHandler()
        ## Configure and start
        self.dev = EmotivMultiSignals(streamhandler = self.streamhandler)
        self.dev.configure(buffer_length = 1800) # doit ĂȘtre un multiple du packet size
        self.dev.initialize()
        self.dev.start()
        # Impedances
        self.w_imp=Topoplot_imp(stream = self.dev.streams[1], type_Topo = 'imp')
        self.w_imp.show()

        self.w_oscilo=Oscilloscope(stream =self.dev.streams[1])
        self.w_oscilo.show()

    def close(self):
        #close window
        # self.w_imp.close_osc()
        self.w_imp.close()
        self.w_oscilo.close()
        # Stope and release the device
        self.dev.stop()
        self.dev.close()
Example #2
0
class Fake_TeleMir_Vol:

    def __init__(self, precomputed, precomputedXY):

        self.streamhandler = StreamHandler()
        # Configure and start
        self.dev = FakeMultiSignals(streamhandler = self.streamhandler)
        self.dev.configure( #name = 'Test dev',
                                    nb_channel = 14,
                                    sampling_rate =128.,
                                    buffer_length = 30.,
                                    packet_size = 1,
                                    precomputed = precomputed,
                                    )
        self.dev.initialize()
        self.dev.start()

         # Configure and start
        self.devXY = FakeMultiSignals(streamhandler = self.streamhandler)
        self.devXY.configure( #name = 'Test dev',
                                    nb_channel = 2,
                                    sampling_rate =128.,
                                    buffer_length = 30.,
                                    packet_size = 1,
                                    precomputed = precomputedXY,
                                    )
        self.devXY.initialize()
        self.devXY.start()

             ## Configure and start output stream (for extracted feature)
        self.fout = TransmitFeatures(streamhandler = self.streamhandler)
        self.fout.configure( #name = 'Test fout',
                                    nb_channel = 14, # np.array([1:5])
                                    nb_feature = 12,
                                    nb_pts = 128,
                                    sampling_rate =10.,
                                    buffer_length = 10.,
                                    packet_size = 1,
                                    )
        self.fout.initialize(stream_in = self.dev.streams[0], stream_xy = self.devXY.streams[0])
        self.fout.start()

        self.screensize = np.array((1920))

        # Impedances
        # self.w_imp=Topoplot_imp(stream = self.dev.streams[0], type_Topo = 'imp')
        # self.w_imp.show()

        # signal
        numscreen = 1
        self.w_oscilo=Oscilloscope(stream = self.dev.streams[0])
        self.w_oscilo.auto_gain_and_offset(mode = 2)
        self.w_oscilo.set_params(xsize = 10, mode = 'scroll')
        self.w_oscilo.automatic_color('jet')
        self.w_oscilo.move(self.screensize + (numscreen-1) * 800 ,200)
        #~ self.w_oscilo.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
        self.w_oscilo.show()

        #parametres
        numscreen = 2
        self.w_feat1=Oscilloscope(stream = self.fout.streams[0])
        self.w_feat1.auto_gain_and_offset(mode = 0)
        self.w_feat1.set_params(xsize = 10, mode = 'scroll')
        #self.w_feat1.set_params(colors = [[0, 0, 255], [255, 0, 255], [255, 0 ,0], [255, 255, 0], [0, 255, 0],  [0, 255, 255]])
        self.w_feat1.set_params(ylims = [0,100])
        self.w_feat1.move(self.screensize + (numscreen-1) * 800 ,200)
        #~ self.w_feat1.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
        self.w_feat1.show()

        #topo
        numscreen = 3
        # self.w_topo=Topoplot(stream = self.dev.streams[0], type_Topo = 'topo')
        # self.w_topo.move(self.screensize + (numscreen-1) * 800 ,200)
        # self.w_topo.show()

        # giro
        #~ self.w_xy=Oscilloscope(stream = self.devXY.streams[0])
        #~ self.w_xy.show()
        #~ self.w_xy.auto_gain_and_offset(mode = 1)
        #~ self.w_xy.set_params(xsize = 10, mode = 'scroll')

        # temps frequence
        numscreen = 4
        # #self.w_Tf=TimeFreq(stream = self.dev.streams[0])
        # self.w_Tf.set_params(xsize = 10)
        # self.w_Tf.change_param_tfr(f_stop = 45, f0 = 1)
        # self.w_Tf.move(self.screensize + (numscreen-1) * 800 ,200)
        # self.w_Tf.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
        # self.w_Tf.show()

        numscreen = 5
        # self.w_Tf2=TimeFreq2(stream = self.dev.streams[0])
        # self.w_Tf2.set_params(xsize = 10)
        # self.w_Tf2.change_param_tfr(f_stop = 45, f0 = 1)
        # self.w_Tf2.move(self.screensize + (numscreen-1) * 800 ,200)
        # self.w_Tf2.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
        # self.w_Tf2.show()
        #w_Tf.change_param_channel(clim = 20)

        #~ # freqbands
        numscreen = 6 # dans le code
        # self.w_sp_bd=freqBandsGraphics(stream = self.dev.streams[0], interval_length = 3., channels = [11])
        # self.w_sp_bd.run()





    def close(self):

        #close windows
        # self.w_imp.close()
        self.w_oscilo.close()
        self.w_feat1.close()
        # self.w_topo.close()
        #~ self.w_xy.close()
        # self.w_Tf.close()
        # self.w_Tf2.close()
        #~ self.w_sp_bd.close()

        # Stope and release the device
        self.fout.stop()
        self.fout.close()
        self.dev.stop()
        self.dev.close()
        self.devXY.stop()
        self.devXY.close()
class TeleMir_Vol:
    def __init__(self):
        print 'debut vol'
        self.streamhandler = StreamHandler()
        ## Configure and start
        self.dev = EmotivMultiSignals(streamhandler = self.streamhandler)
        self.dev.configure(buffer_length = 1800)
        self.dev.initialize()
        self.dev.start()

        self.fout = TransmitFeatures(streamhandler = self.streamhandler)
        self.fout.configure( #name = 'Test fout',
                                    nb_channel = 14, # np.array([1:5])
                                    nb_feature = 9,
                                    nb_pts = 128,
                                    sampling_rate =10.,
                                    buffer_length = 10.,
                                    packet_size = 1,
                                    )

        # <pyacq.core.streamtypes.AnalogSignalSharedMemStream object at 0x000000001A8D5A20>
        self.fout.initialize(stream_in = self.dev.streams[0]) #, stream_xy = self.dev.streams[2])
        self.fout.start()

        mainScreen = 1920
        subScreen = 640
        # signal
        numscreen = 4
        self.w_oscilo=Oscilloscope(stream = self.dev.streams[0])
        self.w_oscilo.auto_gain_and_offset(mode = 2)
        self.w_oscilo.set_params(xsize = 10, mode = 'scroll')
        self.w_oscilo.automatic_color('jet')
        self.w_oscilo.move(mainScreen + (numscreen-1) * subScreen- 30 , -40)
        self.w_oscilo.resize(810,530)
        # self.w_oscilo.setWindowState(QtCore.Qt.WindowFullScreen)
        self.w_oscilo.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
        self.w_oscilo.show()
        #parametres
        numscreen = 5
        self.w_feat1=Oscilloscope(stream = self.fout.streams[0])
        self.w_feat1.auto_gain_and_offset(mode = 0)
        self.w_feat1.set_params(xsize = 10, mode = 'scroll')
        self.w_feat1.automatic_color('jet')
        self.w_feat1.set_params(colors = [[0, 0, 255], [255, 0, 255], [255, 0 ,0], [255, 255, 0], [0, 0, 0], [0, 0, 0], [0, 255, 0], [0, 255, 255], [0, 0, 0]])
        self.w_feat1.set_params(selected = [True, True, True, True, False, False, True, True, False])
        self.w_feat1.set_params(xsize = 10, mode = 'scroll', selected = [True, True, True, True, False, False, True, True, False])
        self.w_feat1.set_params(ylims = [-10,110])
        self.w_feat1.move(mainScreen + (numscreen-1) * subScreen- 30 , -40)
        self.w_feat1.resize(800,500)
        # self.w_feat1.setWindowState(QtCore.Qt.WindowFullScreen)
        # self.w_feat1.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
        self.w_feat1.show()

        self.timer = QTimer(singleShot=True, interval=13000)
        self.timer.timeout.connect(lambda :self.w_oscilo.auto_gain_and_offset(mode = 2))
        self.timer.start()
        #topo
        # numscreen = 3
        # self.w_topo=Topoplot(stream = self.dev.streams[0], type_Topo = 'topo')
        # self.w_topo.move(self.screensize + (numscreen-1) * 800 ,200)
        # self.w_topo.show()

    def close(self):

        #close windows
        # self.w_imp.close()
        self.w_oscilo.close()
        self.w_feat1.close()

        # Stope and release the device
        self.fout.stop()
        self.fout.close()
        self.dev.stop()
        self.dev.close()