SlideShare a Scribd company logo
1 of 15
Download to read offline
Lab Streaming
Layer
Radha Kumari
PhD student
University of Glasgow
LSL GitHub
definition
• 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.
Lab
Streaming
Layer
Open-source data acquisition
system that allows exchanging
of time-series between
devices, between programs or
between computers, through
Network.
Time-series can be EEG data,
data from stimulus
presentation, motion-capture,
audio etc.
Components
• Main library liblsl in C++, cross-platform
• Wrappers for various languages: C++
header, Python, Java, MATLAB
• Apps for acquiring data from various
devices and streaming on Network:
1. EEG : g.USBamp, Emotiv
2. Motion Capture: Kinect
3. Mouse, keyboard, eye-tracker etc
• Apps for recording LSL, visualizing LSL
Protocol: Providing data to LSL
Declare stream/Make an outlet.
Provide time-series to send, either read
from device or anything hard-coded
Push sample/chunk
#include "lsl_cpp.h"
#include <stdlib.h>
using namespace lsl;
int main(int argc, char* argv[]) {
// make a new stream_info (128ch) and open an outlet with it
stream_info info("SimpleStream","EEG",128);
stream_outlet outlet(info);
// send data forever
float sample[128];
while(true) {
// generate random data
for (int c=0;c<128;c++)
sample[c] = (rand()%1500)/500.0-1.5;
// send it
outlet.push_sample(sample);
}
return 0;
}
Protocol : Receiving data from LSL
Discover stream(s) from
network
Identify by name/
type(content-based query)
Open an inlet and pull out
samples/chunks
#include "lsl_cpp.h"
int main(int argc, char* argv[]) {
using namespace lsl;
// resolve the stream of interest & make an inlet to get data from the first res
std::vector<stream_info> results = resolve_stream("name","SimpleStream");
stream_inlet inlet(results[0]);
// receive data & time stamps forever (not displaying them here)
float sample[128];
while (true)
double ts = inlet.pull_sample(&sample[0],128);
return 0;
}
Example
Data from EEG device
on network, Stimulus
from Presentation
software on network
MATLAB
Receive LSL data and
markers synchronized,
process, classify
Send output to Unity/
any gaming software
via LSL
Time-synchronization?
• In-built and configurable methods for clock offset correction and
jitter correction
• Clock offset: time difference between two computers/ hardware and
computer
• Jitter: Gaussian noise in time-stamps because the time-stamping
usually does not happen exactly in regular intervals but on a
somewhat random schedule (dictated by the perils of the hardware,
the driver, and the operating system)
Latency?
• The data is buffered at both endpoints if there
are transmission delays anywhere (e.g.,
interrupted network connection) but otherwise
delivered as fast as the system allows.
• Latency under 0.1 milliseconds on a local
machine, unless a very large amount of data is
transmitted (megabytes per sample).
• Latency can be high as long as the throughput is
fast enough that data are pushed through as fast
as they are made available.
• Recording data : Latency doesn’t matter as such,
as long as accurate time-stamps for offline
processing
• Online processing: Depending on resolution of
the process, acceptable or not?
Drift
Drift is either the device is not sampling as
fast as it should, it's dropping samples, or
some other step is dropping the samples.
Can be hardware or implementation
related problem
LSL download
• Apps: Support for different acquisition device,
some already built, some need building but
codes available, drivers needed
• Library: for different programming languages
• Recording program: LabRecorder, can record
and put all streams together
• Viewing program: MATLAB Viewer to access
and view all streams
References
• Introduction to Modern Brain-Computer Interface Design - Christian
A. Kothe Swartz Center for Computational Neuroscience, University
of California San Diego
https://www.youtube.com/watch?v=Y1at7yrcFW0
• Github Lab Streaming Layer:
https://github.com/sccn/labstreaminglayer

More Related Content

What's hot

مكونات الحاسب الآلي - أنظمة التشغيل
مكونات الحاسب الآلي - أنظمة التشغيلمكونات الحاسب الآلي - أنظمة التشغيل
مكونات الحاسب الآلي - أنظمة التشغيلSamer Saner
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)Wataru NOGUCHI
 
أنواع نظم التشغيل
أنواع نظم التشغيلأنواع نظم التشغيل
أنواع نظم التشغيلAhmad Abdelbaqy
 
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)シスコシステムズ合同会社
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
محاضرة المكونات المادية
محاضرة المكونات الماديةمحاضرة المكونات المادية
محاضرة المكونات الماديةShatha Mohammed
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)J-Stream Inc.
 
大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察Yutaka Kikuchi
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...NTT DATA Technology & Innovation
 
NEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfNEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfYasunori Goto
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
مكونات الحاسوب
مكونات الحاسوبمكونات الحاسوب
مكونات الحاسوبAli Ishaqi
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 

What's hot (20)

مكونات الحاسب الآلي - أنظمة التشغيل
مكونات الحاسب الآلي - أنظمة التشغيلمكونات الحاسب الآلي - أنظمة التشغيل
مكونات الحاسب الآلي - أنظمة التشغيل
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
 
أنواع نظم التشغيل
أنواع نظم التشغيلأنواع نظم التشغيل
أنواع نظم التشغيل
 
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
محاضرة المكونات المادية
محاضرة المكونات الماديةمحاضرة المكونات المادية
محاضرة المكونات المادية
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
 
大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察
 
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
NEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfNEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdf
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
IIJmio meeting #1 MVNOのネットワークインフラについて
IIJmio meeting #1 MVNOのネットワークインフラについてIIJmio meeting #1 MVNOのネットワークインフラについて
IIJmio meeting #1 MVNOのネットワークインフラについて
 
IIJmio meeting 14 IIJmioタイプAとSIMフリー端末について
IIJmio meeting 14 IIJmioタイプAとSIMフリー端末についてIIJmio meeting 14 IIJmioタイプAとSIMフリー端末について
IIJmio meeting 14 IIJmioタイプAとSIMフリー端末について
 
YJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組みYJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組み
 
مكونات الحاسوب
مكونات الحاسوبمكونات الحاسوب
مكونات الحاسوب
 
Processor
ProcessorProcessor
Processor
 
IIJmio高速モバイル/Dについて
IIJmio高速モバイル/DについてIIJmio高速モバイル/Dについて
IIJmio高速モバイル/Dについて
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
 

Similar to Lab streaming layer

I/O systems chapter 12 OS
I/O systems chapter 12 OS I/O systems chapter 12 OS
I/O systems chapter 12 OS ssuser45ae56
 
Distributed systems and scalability rules
Distributed systems and scalability rulesDistributed systems and scalability rules
Distributed systems and scalability rulesOleg Tsal-Tsalko
 
networking hypherlink Group 2 presentation
networking hypherlink Group 2 presentationnetworking hypherlink Group 2 presentation
networking hypherlink Group 2 presentationHerson Franz Ugale
 
Tech 2 tech low latency networking on Janet presentation
Tech 2 tech low latency networking on Janet presentationTech 2 tech low latency networking on Janet presentation
Tech 2 tech low latency networking on Janet presentationJisc
 
MK Sistem Operasi.pdf
MK Sistem Operasi.pdfMK Sistem Operasi.pdf
MK Sistem Operasi.pdfwisard1
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Damien Contreras
 
Topic 6 IB DP CS
Topic 6 IB DP CSTopic 6 IB DP CS
Topic 6 IB DP CSzion66
 
MODULE IV embedded (1).pptx
MODULE IV embedded (1).pptxMODULE IV embedded (1).pptx
MODULE IV embedded (1).pptxSajinvs4
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating SystemsPawandeep Kaur
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyPeter Clapham
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansPeter Clapham
 
Scalability20140226
Scalability20140226Scalability20140226
Scalability20140226Nick Kypreos
 
Chap1
Chap1Chap1
Chap1adisi
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05Rajesh Gupta
 

Similar to Lab streaming layer (20)

I/O systems chapter 12 OS
I/O systems chapter 12 OS I/O systems chapter 12 OS
I/O systems chapter 12 OS
 
Os structure
Os structureOs structure
Os structure
 
Distributed systems and scalability rules
Distributed systems and scalability rulesDistributed systems and scalability rules
Distributed systems and scalability rules
 
networking hypherlink Group 2 presentation
networking hypherlink Group 2 presentationnetworking hypherlink Group 2 presentation
networking hypherlink Group 2 presentation
 
Tech 2 tech low latency networking on Janet presentation
Tech 2 tech low latency networking on Janet presentationTech 2 tech low latency networking on Janet presentation
Tech 2 tech low latency networking on Janet presentation
 
Interpreting the Data:Parallel Analysis with Sawzall
Interpreting the Data:Parallel Analysis with SawzallInterpreting the Data:Parallel Analysis with Sawzall
Interpreting the Data:Parallel Analysis with Sawzall
 
MK Sistem Operasi.pdf
MK Sistem Operasi.pdfMK Sistem Operasi.pdf
MK Sistem Operasi.pdf
 
Debunking Common Myths in Stream Processing
Debunking Common Myths in Stream ProcessingDebunking Common Myths in Stream Processing
Debunking Common Myths in Stream Processing
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3
 
Hadoop
HadoopHadoop
Hadoop
 
Topic 6 IB DP CS
Topic 6 IB DP CSTopic 6 IB DP CS
Topic 6 IB DP CS
 
Operating System
Operating SystemOperating System
Operating System
 
MODULE IV embedded (1).pptx
MODULE IV embedded (1).pptxMODULE IV embedded (1).pptx
MODULE IV embedded (1).pptx
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journey
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Scalability20140226
Scalability20140226Scalability20140226
Scalability20140226
 
Chap1
Chap1Chap1
Chap1
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05
 

Recently uploaded

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Lab streaming layer

  • 1. Lab Streaming Layer Radha Kumari PhD student University of Glasgow
  • 2. LSL GitHub definition • 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.
  • 3.
  • 4. Lab Streaming Layer Open-source data acquisition system that allows exchanging of time-series between devices, between programs or between computers, through Network. Time-series can be EEG data, data from stimulus presentation, motion-capture, audio etc.
  • 5. Components • Main library liblsl in C++, cross-platform • Wrappers for various languages: C++ header, Python, Java, MATLAB • Apps for acquiring data from various devices and streaming on Network: 1. EEG : g.USBamp, Emotiv 2. Motion Capture: Kinect 3. Mouse, keyboard, eye-tracker etc • Apps for recording LSL, visualizing LSL
  • 6. Protocol: Providing data to LSL Declare stream/Make an outlet. Provide time-series to send, either read from device or anything hard-coded Push sample/chunk
  • 7. #include "lsl_cpp.h" #include <stdlib.h> using namespace lsl; int main(int argc, char* argv[]) { // make a new stream_info (128ch) and open an outlet with it stream_info info("SimpleStream","EEG",128); stream_outlet outlet(info); // send data forever float sample[128]; while(true) { // generate random data for (int c=0;c<128;c++) sample[c] = (rand()%1500)/500.0-1.5; // send it outlet.push_sample(sample); } return 0; }
  • 8. Protocol : Receiving data from LSL Discover stream(s) from network Identify by name/ type(content-based query) Open an inlet and pull out samples/chunks
  • 9. #include "lsl_cpp.h" int main(int argc, char* argv[]) { using namespace lsl; // resolve the stream of interest & make an inlet to get data from the first res std::vector<stream_info> results = resolve_stream("name","SimpleStream"); stream_inlet inlet(results[0]); // receive data & time stamps forever (not displaying them here) float sample[128]; while (true) double ts = inlet.pull_sample(&sample[0],128); return 0; }
  • 10. Example Data from EEG device on network, Stimulus from Presentation software on network MATLAB Receive LSL data and markers synchronized, process, classify Send output to Unity/ any gaming software via LSL
  • 11. Time-synchronization? • In-built and configurable methods for clock offset correction and jitter correction • Clock offset: time difference between two computers/ hardware and computer • Jitter: Gaussian noise in time-stamps because the time-stamping usually does not happen exactly in regular intervals but on a somewhat random schedule (dictated by the perils of the hardware, the driver, and the operating system)
  • 12. Latency? • The data is buffered at both endpoints if there are transmission delays anywhere (e.g., interrupted network connection) but otherwise delivered as fast as the system allows. • Latency under 0.1 milliseconds on a local machine, unless a very large amount of data is transmitted (megabytes per sample). • Latency can be high as long as the throughput is fast enough that data are pushed through as fast as they are made available. • Recording data : Latency doesn’t matter as such, as long as accurate time-stamps for offline processing • Online processing: Depending on resolution of the process, acceptable or not?
  • 13. Drift Drift is either the device is not sampling as fast as it should, it's dropping samples, or some other step is dropping the samples. Can be hardware or implementation related problem
  • 14. LSL download • Apps: Support for different acquisition device, some already built, some need building but codes available, drivers needed • Library: for different programming languages • Recording program: LabRecorder, can record and put all streams together • Viewing program: MATLAB Viewer to access and view all streams
  • 15. References • Introduction to Modern Brain-Computer Interface Design - Christian A. Kothe Swartz Center for Computational Neuroscience, University of California San Diego https://www.youtube.com/watch?v=Y1at7yrcFW0 • Github Lab Streaming Layer: https://github.com/sccn/labstreaminglayer