Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P300test md #8

Open
wants to merge 29 commits into
base: master
Choose a base branch
from
Open

P300test md #8

wants to merge 29 commits into from

Conversation

mdovgialo
Copy link
Contributor

@mdovgialo mdovgialo commented Apr 19, 2016

Only discussion for now, don't merge...
Added P300 classifier, added tester peer for p300 classifiers - it sends synthetic signals with p300 (gaussians) burried in noise, simulating N-fields of p300 gui. While sending targets it sends nontarget tags too, simulating highlights of other fields, while focus of the "person" is on target field. Then it saves statistics such as - selected field (focus), how many targets were sent for selection of that field and response from classifier

For now there is no jitter, it can be added quite easily, and I thinking about adding possibility to send real epochs instead of simulated gaussians, and noise in between.

Mine classifier with some quite high noise makes no mistakes while needing 2-4 averages, that's strange.

You can test it yourself, if you use attached data for training. (P300 offline calibration scenario)

And then run P300 online synthetic test for testing and saving statistics. Like those:
synthetic_results_dec_stop2.txt

test1.obci.raw.zip

WIP any coments are welcome.

@mdovgialo
Copy link
Contributor Author

mdovgialo commented Apr 21, 2016

Looks like classifier works best with sklearn 0.17 (ubuntu 15.10 has older, can be upgraded by pip). But needs adjusting probability level of decision.

Tester works quite well. You can use this script to prepare some EEG recording for playback though synthetic_generator. (Launch in commandline with adress to recording ex: python prepare_signal.py ./dataset/test.obci

filename without .raw or .xml

Accepted tag format:
01
when index==target epochs are TARGETS.
Epochs will be cut by 0.2 second baseline before tag and 0.5 seconds after tag.
In working directory files:

  • targets.npy
  • nontargets.npy
  • meta.json

should appear. You should provide path to them in the scenario settings of the synthetic stimulator.

prepare_signal.py.txt

try:
import pyo
except ImportError:
print ('ERROR no sound library.\n\t\t Installl pyo!\n\t\tsudo apt-get install python-pyo')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sys.exit is probably missing here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants