A few open source ML libraries for emotiv's EPOC. The goal is to create a high level Python API to allow developers to train high level digital controls from EPOC data and use these controls in their applications.
Depends on my fork of qdot's emokit.
- My fork of qdot's emokit, and all the dependencies of emokit.
- python and standard libraries.
- python-numpy
- scikit-learn
- Gevent
I'm attempting to make an API that's very easy to use, and is similar to Emotiv's SDK.(Inferring from control panel, as I have never used their SDK :P)
import openepoc.api as emo
# Create a new Profile. This keeps track of training sessions for a particular
# person. It may be useful to make one every time someone puts on the
# headset, as putting it on differently can change the signal.
profile = emo.Profile("carson")
emo.train_command(profile, 20) # Trains the neutral state for 20s
emo.train_command(profile, 12, label='push') # Trains the push command for 12s
commands = emo.get_command_queue(profile) # returns a gevent Queue which will fill with commands.
while True:
cmd = commands.get()
print 'neutral: ' + str(cmd[0, 0]) + ', push: ' + str(cmd[0, 1])