Coder Social home page Coder Social logo

emokit_epoc_gui's Introduction

Emokit_Epoc_GUI

A GUI using PyQtGraph and Emokit library to plot PSD and raw data in real time from Emotiv Epoc

Prerequisites

Python 2.7
Emokit python library - https://github.com/openyou/emokit
PyQt4.8+
pyqtgraph
scipy

Emokit library currently supports EPOC and some versions of EPOC+ I used EPOC in Ubuntu 16.04, but it should work also on Windows

Usage

Just connect EPOC and run Epoc_GUI.py

Inside the script you can select which sensors will be plotted, the window size in which fft is calculated and the rate in which the plot is updated.

My first intention was to visualize data from 4 sensors maximum (8 graphs). If more sensors are selected then the graphs become very small and not very usefull.

In the time domain graphs there is an indicator of the quality of the signal, and also the color of the curve changes depending on the quality - from red (0) to green (>5100)

In the PSD graphs for every sensor there is an indicator of the peak frequency in every window.

Finally a butterworth bandpass filter is used to remove DC offset and 50Hz(or 60Hz) noise

alt text Using O1 and O2 sensors. O1's quality is 589 so the curve color is close to pure red, while O2's quality is closer to green (0,255,0).

alt text In this screenshot P7 is also added, however I have not connect its pad so the quality is 11, and also the PSD is very small (check the vertical PSD axes)

alt text Here is a screenshot while I had closed eyes, resulting strong alpha waves around 10.5Hz.

Authors

  • Christodoulos Benetatos

emokit_epoc_gui's People

Contributors

xribene avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

emokit_epoc_gui's Issues

AttributeError: 'module' object has no attribute 'hid_init'

Im using the ubundu 16.04 and Emotive epoc+ .im used python 2.7 to run the program but i got this error,
Initializing Emokit...
Initializing Reader Thread...
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.7/dist-packages/emokit/emotiv.py", line 229, in run
self.initialize_reader()
File "/usr/local/lib/python2.7/dist-packages/emokit/emotiv.py", line 133, in initialize_reader
self.reader = EmotivReader()
File "/usr/local/lib/python2.7/dist-packages/emokit/reader.py", line 35, in init
hidapi.hid_init()
AttributeError: 'module' object has no attribute 'hid_init'

im connected and pair the emotive epoc+ using usb ,can you suggest any solution.
if you see this please replay.

ValueError: ECB mode does not use IV

When I try your code editor gives me this error massage

Exception in thread Thread-11:
Traceback (most recent call last):
  File "C:\Users\ACSECKIN\Anaconda2\lib\threading.py", line 801, in __bootstrap_inner
    self.run()
  File "C:\Users\ACSECKIN\Anaconda2\lib\threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "C:\Users\ACSECKIN\Anaconda2\lib\site-packages\emokit\decrypter.py", line 49, in run
    cipher = self.new_cipher(self.verbose)
  File "C:\Users\ACSECKIN\Anaconda2\lib\site-packages\emokit\decrypter.py", line 120, in new_cipher
    return AES.new(crypto_key(self.serial_number, self.is_research, verbose), AES.MODE_ECB, iv)
  File "C:\Users\ACSECKIN\Anaconda2\lib\site-packages\Crypto\Cipher\AES.py", line 94, in new
    return AESCipher(key, *args, **kwargs)
  File "C:\Users\ACSECKIN\Anaconda2\lib\site-packages\Crypto\Cipher\AES.py", line 59, in __init__
    blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs)
  File "C:\Users\ACSECKIN\Anaconda2\lib\site-packages\Crypto\Cipher\blockalgo.py", line 141, in __init__
    self._cipher = factory.new(key, *args, **kwargs)
ValueError: ECB mode does not use IV

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.