DataHub: Difference between revisions

From TSG Doc
Jump to navigation Jump to search
Line 57: Line 57:
#!/usr/bin/env python
#!/usr/bin/env python


# import the rusocsci.buttonbox module
import threading
from rusocsci import buttonbox
from pylsl import StreamInfo, StreamOutlet


# make a buttonbox
def getData():
bb = buttonbox.Buttonbox()
    while running:
        buffer_in = getSensorData()
        send_data = True
        time.sleep(0.001)


# wait for a single button press
info = StreamInfo(
bb.sendMarker(100)   #This is your marker code, range code 1-255
    name='MyStream',
core.wait(0.002)     #2ms delay for the code to be recorded by brainvision; 2ms->500hz sampling rate
    type='COP',
bb.sendMarker(0)     #Back to 0; now ready to send a new code
    channel_count=4,
</syntaxhighlight>
    nominal_srate = 200,
    source_id='BalanceBoard_stream'
    )
outlet = StreamOutlet(info)  
 
threading.Thread(target=getData).start()
while running == True:
if send_data:
outlet.push_chunk(buffer_in)
send_data = False


==References==  
==References==  

Revision as of 09:02, 1 February 2022

DataHub
Developer(s)Christian Kothe; Chadwick Boulay.
Development status-in development-
Written inC, C++, Python, Java, C#, MATLAB
Operating systemWindows, Linux, MacOS, Android, iOS
TypeData collection
LicenseOpen source
WebsiteLSL webpage
Manuals

The DataHub Makes use of the lab streaming layer. The lab streaming layer (LSL) is a system for the unified collection of measurement time series in research experiments that handles both the networking, time-synchronization, (near-) real-time access as well as optionally the centralized collection, viewing and disk recording of the data.


Installation

Our support for LSL is mainly done in python. Download python here: Please choose a 64 bit version.. Run the installer and make sure to add Python to the file path (it's an option in the installer). Open a command prompt, start with upgrading the pip installer by typing:
c:>python -m pip install --upgrade pip
Then:
c:>pip install pylsl

more info: cross platform pylsl

Versions

The TSG uses the version 1.15.0. Open a command and type the following to find the version used:

c:>python
>>> import pylsl
>>> print(pylsl.__version__)

Usage

Python

<syntaxhighlight lang="python" line>

  1. !/usr/bin/env python

import threading from pylsl import StreamInfo, StreamOutlet

def getData():

   while running:
       buffer_in = getSensorData()
       send_data = True
       time.sleep(0.001)

info = StreamInfo(

   name='MyStream', 
   type='COP', 
   channel_count=4, 
   nominal_srate = 200, 
   source_id='BalanceBoard_stream'
   )

outlet = StreamOutlet(info)

threading.Thread(target=getData).start() while running == True: if send_data: outlet.push_chunk(buffer_in) send_data = False

References


External Links