Last updated:
0 purchases
BrainflowCyton 0.1.1
BrainflowCytonEEGWrapper
This is particularly aimed at the OpenBCI Cyton/Cyton + Daisy biosensing board.
It allows for low-level board commands such as configuring channels and setting sample rate, making it easier to configure the way you retrieve data from the board.
Status
Full functional, working with Cyton and Cyton + Daisy.
Todo:
[] Include script to process SDCard data (exists but in a different repo)
[] Make the interface more consistent
[] Bake in multithreading support for easier parallel data collection + processing
[] ???
Details
Default channels coming in with cyton and daisy with the ultracortex mk4 are:
0: "pkg"
1: "Fp1"
2: "Fp2"
3: "C3"
4: "C4"
5: "P7"
6: "P8"
7: "O1"
8: "O2"
9: "F7"
10: "F8"
11: "F3"
12: "F4"
13: "T7"
14: "T8"
15: "P3"
16: "P4"
17: "AX" (accelerometer x)
18: "AY" (accelerometer y)
19: "AZ" (accelerometer z)
31: "marker" (this can be used to put event markers in the EEG data, which is extremely useful, BUT the accelerometer will be disabled)
Usage examples
Read data from a dummy board in real time
from BrainflowCyton.eeg import EEG
from time import sleep
eeg_source = EEG(dummyBoard = True)
eeg_source.start_stream(sdcard = False)
while True:
try:
sleep(0.5)
data = eeg_source.poll()
except KeyboardInterrupt:
eeg_source.stop()
Read data from a real board in real time
from BrainflowCyton.eeg import EEG
from time import sleep
eeg_source = EEG()
eeg_source.start_stream(sdcard = False)
while True:
try:
sleep(0.5)
data = eeg_source.poll()
except KeyboardInterrupt:
eeg_source.stop()
Set a custom sample rate
Note: to use sample rates above 250, an SDCard is required, streaming is limited to 250 Hz.
from BrainflowCyton.eeg import EEG, CytonSampleRate
from time import sleep
eeg_source = EEG()
eeg_source.start_stream(sdcard = True, sr = CytonSampleRate.SR_1000)
while True:
try:
sleep(0.5)
data = eeg_source.poll()
except KeyboardInterrupt:
eeg_source.stop()
Bandpass the data
from BrainflowCyton.eeg import EEG, Filtering
from time import sleep
eeg_source = EEG(dummyBoard = True)
# set the indexes of channels you want to filter
ch_idx = [1, 2, 3, 4, 5, 6, 7]
eeg_filter = Filtering(exg_channels = ch_idx, sampling_rate=250)
while True:
try:
sleep(0.5)
eeg_source.start_stream(sdcard = False)
data = eeg_source.poll()
filtered_data = eeg_filter.bandpass(data, 8, 32)
except KeyboardInterrupt:
eeg_source.stop()
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.