OpenBCI GUI FFT LSL Hangup
in OpenBCI_GUI
Hello!
I'm pulling the FFT output of the OpenBCI Gui through LSL to python and I'm trying to plot the data using pyQTgraph. The plotting seems to work for a while, but then the python qtgraph freezes. I'm using a mac and for some reason if I "look at all the windows" (and bring the OpenBCI GUI back into view) the GUI appears frozen, but then it starts up again. After bringing the gui back into view the python program works again too. Do you know what could be causing this/how to address this issue? I've tried sampling the data slower than the gui frame rate, but the issue still seems to keep occurring.
Thanks!
Comments
Mentioning Richard @retiutut, who is the GUI developer / enhancer. Very soon the GUI will be streamlined by dropping the separate 'Hub' process. Instead using the new Brainflow libraries. Brainflow also supports Python and many other languages.
https://brainflow.readthedocs.io/en/stable/
Additionally, it is not hard to invoke DSP functions from Python libraries. Thus you could do your own FFT.
https://www.google.com/search?q=python+dsp+library
Regards, William
@jstieger, can you mention your computer setup there, OS, hardware, year, etc.? Have you tried this on other machines? Richard tells me he has had multiple streams going with no issues.
Please post the full Python code (as text) you are using so that this can be replicated by others.
Thanks for the comments!
Unfortunately I only own one machine, so I need to make the code work on my laptop.
System:
Mac OSMojave 10.14
MacBook Pro (Retina, 15-inch, Mid 2014)
Processor: 2.5 GHz Intel Core i7
memory: 16 GB 1600 MHz DDR3
Graphics: NVIDIA GeForce GT 750M 2048 MB
Intel Iris Pro 1536 MB
Code:
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg
import pyqtgraph.opengl as gl
import numpy as np
from scipy import interpolate
from pylsl import StreamInlet, resolve_stream
import time
from scipy.interpolate import griddata
Can you please also share a link to a screen recording with a brief description? This way there is no confusion as to what is actually happening.