Giter Club home page Giter Club logo

Comments (4)

cboulay avatar cboulay commented on June 12, 2024

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.

agricolab avatar agricolab commented on June 12, 2024

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.

harelasaf avatar harelasaf commented on June 12, 2024

from app-labrecorder.

agricolab avatar agricolab commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.