Source code for example_eeg_acquisition_to_mne
""" EEG measurement example
Example how to get measurements and
save to fif format
using acquisition class from brainaccess.utils
Change Bluetooth device name (line 23)
"""
import matplotlib.pyplot as plt
import matplotlib
import time
from brainaccess.utils import acquisition
from brainaccess.core.eeg_manager import EEGManager
matplotlib.use("TKAgg", force=True)
[docs]
eeg = acquisition.EEG()
# define electrode locations
[docs]
cap: dict = {
0: "Fp1",
1: "Fp2",
2: "O1",
3: "O2",
}
# define device name
[docs]
device_name = "BA HALO 036"
# start EEG acquisition setup
with EEGManager() as mgr:
eeg.setup(mgr, device_name=device_name, cap=cap, sfreq=1000)
# Start acquiring data
eeg.start_acquisition()
print("Acquisition started")
time.sleep(3)
[docs]
start_time = time.time()
annotation = 1
while time.time() - start_time < 10000:
time.sleep(1)
# send annotation to the device
print(f"Sending annotation {annotation} to the device")
eeg.annotate(str(annotation))
annotation += 1
print("Preparing to plot data")
time.sleep(2)
# get all eeg data and stop acquisition
eeg.get_mne()
eeg.stop_acquisition()
mgr.disconnect()
# save EEG data to MNE fif format
eeg.data.save(f'{time.strftime("%Y%m%d_%H%M")}-raw.fif')
# Close brainaccess library
eeg.close()
# Show recorded data
eeg.data.mne_raw.filter(1, 40).plot(scalings="auto", verbose=False)
plt.show()