GUI conflict with PsychoPy3 and LSL data problem
During my first experimentation session to record some artefacts to test out my preprocessing and artefact rejection algorithm I run into multiple problem. I tested all components beforehand, but not all at the same time. To make sure this did not just happen randomly, and search for the reasons, I did test out some things. I identified multiple problems, I will shortly explain what I did below:
I run Windows 10 and started with a fresh restart of my system.
1. started OpenBCI_GUI V4.1.7, open Console
2. Started Lab Recorder
3. Started PsychoPy3 v2020.1.3 (for display of instructions)
4. Started PsychoPy experiment (with no interaction with LSL)
5. GUI freeze…
6. No message in Console
7. Restart GUI, error message: OpenBCIHub Fatal Error listen EADDRINUSE 127.0.0.1:10996
9. End experiment, restart
10. Freeze – I cannot even close the window...
The same happened 3 out of 4 times when I tried.
Does anyone know why those programs cannot handle each other? Did not see any other forum discussions relating to this.
I think there is a problem with the data sent over LSL, so I did another test (also wanted to know if GUI is okay and would not crash again without PsychoPy)
1. Start GUI start, cyton autoconnect, open console
2. Configure and then start one LSL stream of the Timeseries of type EEG for all 8 channels
3. Detecting LSL stream in Lab recorder, starting record
4. Starting Neuropype Pipeline designer (changing example program to receive my EEG stream)
5. For some reason only some fluctuation visible around t=0, see below

6. Program receives Data as seen below

7. Stopping recording in Lab recorder after 4 min (saved as xdf)
8. Starting matlab
9. Starting eeglab (xdf importer installed)
10. Importing recorded data (No channel positions found)

11. Stop LSL stream in GUI
12. EEGLAB: Inspect/reject data per eye, this does not look like EEG!

13. To make sure it not just because the data is unfiltered, I applied a Bandpass filter from 2 to 49 Hz


14. Barely any change throughout the data, As Neuropype, LSL, Lab recorder and EEGLAB are all programmed by the same people could the problem be the GUI?
15. Btw GUI still running
16. Again, trying to start PsychoPy experiment
17. Gui continues normal.. (me being very confused why it did…)
18. exit experiment and starting restart... GUI freezes after execution, nothing unusual in console (I could also provide the entire console output)

19. Replay of the .txt file saved by the GUI looks fine
I know I used multiple programs which might seems a bit confusing but this is the software which I Intend to use for my project, so I just tested everything. I seems there are 2 major problems
1. OpenBCI_GUI crashes during start of PsychoPy3 Experiment
2. Data streamed with GUI over LSL (and recorded (lab Recorder) or used online (Neuropype)) is corrupted
@retiutut I know that you implemented LSL into the GUI. Do you have any idea what the source of the above described problems could be? Also, what data is exactly transmitted over LSL? - do the filters applied in the GUI change the data or is always the raw data transmitted? Where could be the reason for the data being so analog repetitive despite that is not what has been recorded. I am not very experienced with EEG and the software used but I tried to do it as careful as possible. I would really appreciate any support!
Best Alex
Comments
I did not implement LSL, I only came in and tried to repair it from being completely broken. The data is not corrupted, there is a possible issue with sample rate and LSL. Right now the priority is to work on GUI v5, which does not contain the Hub. LSL is now tested using simple Python scripts. I'm not sure I can provide any more support here, as the post is too complicated. I will have to get approval to look into this further.
Here is a workaround to stream LSL without using the GUI for now:
https://openbci.com/forum/index.php?p=/discussion/comment/13072#Comment_13072
Latest GUI is v4.2.0, with v5 coming soon (WIP since January).
@retiutut > @retiutut said:
I implemented the script proposed there, but as shown in my post under this discussion the problem could not be solved this way. What can I do to fix the jittering problem? I am dependent on starting my trials as soon as possible.
thx. Alex