Comments (4)
Hi @harelasaf , in anticipation of what is likely to be the first follow-up question, can you please post the section of your Matlab script that creates the marker stream outlet and the section that pushes samples?
from app-labrecorder.
Hey @harelasaf , your xdf file appears to actually contain three streams, apparently the MarkerStream was created twice, or an older Outlet with the same name was not properly killed and lived on as a zombie process.
XDFStream(name=MarkerStream, type=Markers, hostname=CogniAsaf, created_at=9268.7976244, chan_count=1, ),
XDFStream(name=MarkerStream, type=Markers, hostname=CogniAsaf, created_at=10633.4657311, chan_count=1, )
XDFStream(name=obci_eeg1, type=EEG, hostname=CogniAsaf, created_at=10773.5276496, chan_count=4, )
The first was empty, but the second Markerstream (created at 10633) contained 13 events:
111.0000000000000 at 10819.815980095114
1111.000000000000 at 10823.860194678258
2.000000000000000 at 10823.860306078257
17.00000000000000 at 10823.860397278255
1111.000000000000 at 10832.863870940726
1.000000000000000 at 10832.864163740727
7.000000000000000 at 10832.864400440725
1111.000000000000 at 10841.871113703182
2.000000000000000 at 10841.871325903181
17.00000000000000 at 10841.87151330318
1111.000000000000 at 10850.865821565689
2.000000000000000 at 10850.865992565688
17.00000000000000 at 10850.866077265688
also, the eeg data looked normal when i plotted it.
Could it be that the bug you reported was caused by the EEGlab importer being confused by two streams with the same properties?
from app-labrecorder.
from app-labrecorder.
LSL does not support remote killing of a zombie outlet. Depending on how the app for the outlet is set up, there might be additional protocols supporting this. Impossible to say in general.
You can kill all processes with a specific name from your OS terminal (e.g. taskkill
on windows or kill
on linux), and you can also script this via Matlab. This only works though if the outlet runs on the same machine as the inlet.
In general, i would consider it best practice that each outlet has a unique name. Even if they are virtually identical, they are recorded in the xdf with different ids. Yet, as there is no fixed order in which the streams are being recorded, there is no control over which one is being read from the xdf first. Depending on the reader, e.g. if there is an overwrite, there might be subtle and hard to reproduce bugs if names are identical. This is my guess, but I do not know enough about the eeglab importer to say more. I inspected the file with python, and it looked fine. What you can do is give the regular matlab loader a try and see whether that works and the file is valid to your expectations. That could help pinpoint the bug to the eeglab importer.
from app-labrecorder.
Related Issues (20)
- Timestamps of Kinect recording is different from other streams HOT 3
- How does LSL log time_stamps HOT 22
- Does not install on MacOS HOT 1
- The readme claims the Windows release includes all needed dependencies but the Visual Studio runtime is not included HOT 1
- LabRecorder quit unexpectedly - MacBook Pro 2022 (M2) HOT 4
- Code only run when "yes" in the eye tracking box
- LabRecorder crashed while closing the file; saved XDF cannot be read by load_xdf HOT 1
- can we prevent spacebar from stopping a recording? HOT 4
- Can't open Labrecorder on M1 Mac HOT 3
- Setting `PathTemplate` in the configurations file unsets other fields
- all streams selected using RCS HOT 2
- LSL Playback HOT 3
- Send βstartβ invalid HOT 1
- mac os error
- Initializing multiple LSL streams for multiple cognitive tasks in Lab Recorder HOT 3
- Support for 22.04 LTS HOT 4
- Bug in which LabRecorder does not record data if the file name ends with a space HOT 4
- RequiredStreams fails for streams with whitespace
- Data conversion HOT 2
- Multiple streams with same name HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from app-labrecorder.