init
@@ -0,0 +1,50 @@
|
||||
@import url("theme.css");
|
||||
|
||||
.color-stream-unidentified {
|
||||
color: #F2F2F2;
|
||||
}
|
||||
|
||||
.color-stream-if-else {
|
||||
color: #00FDFF;
|
||||
}
|
||||
|
||||
.color-stream-ebml {
|
||||
color: #ABAEE5;
|
||||
}
|
||||
|
||||
.color-stream-experiment-information {
|
||||
color: #F0D688;
|
||||
}
|
||||
|
||||
.color-stream-stimulations {
|
||||
color: #B288AD;
|
||||
}
|
||||
|
||||
.color-stream-streamed-matrix {
|
||||
color: #A5ED80;
|
||||
}
|
||||
|
||||
.color-stream-covariance-matrix {
|
||||
color: #82B784;
|
||||
}
|
||||
|
||||
.color-stream-channel-localization {
|
||||
color: #87A3F4;
|
||||
}
|
||||
|
||||
.color-stream-feature-vector {
|
||||
color: #F49599;
|
||||
}
|
||||
|
||||
.color-stream-signal {
|
||||
color: #EA99E1;
|
||||
}
|
||||
|
||||
.color-stream-spectrum {
|
||||
color: #F6D99C;
|
||||
}
|
||||
|
||||
.color-stream-time-frequency {
|
||||
color: #F6F99C;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# OpenViBE documentation build configuration file, created by
|
||||
# sphinx-quickstart on Fri Jun 24 16:43:33 2016.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
# containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
# import os
|
||||
# import sys
|
||||
# sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
||||
extensions = [
|
||||
'sphinx.ext.todo',
|
||||
'sphinx.ext.mathjax',
|
||||
'sphinx.ext.ifconfig',
|
||||
]
|
||||
|
||||
templates_path = ['_templates']
|
||||
|
||||
source_suffix = '.rst'
|
||||
|
||||
source_encoding = 'utf-8-sig'
|
||||
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'OpenViBE'
|
||||
copyright = u'2018, Inria & Mensia'
|
||||
author = u'OpenViBE Team'
|
||||
|
||||
# The short X.Y version.
|
||||
version = u'3.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = u'3.2'
|
||||
|
||||
language = None
|
||||
|
||||
exclude_patterns = []
|
||||
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
todo_include_todos = True
|
||||
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
html_static_path = ['_static']
|
||||
|
||||
html_style = 'css/openvibe.css'
|
||||
|
||||
html_extra_path = []
|
||||
|
||||
htmlhelp_basename = 'OpenViBEdoc'
|
||||
|
||||
rst_epilog = """
|
||||
.. |Brand| replace:: OpenViBE
|
||||
.. |AuthTool| replace:: Designer
|
||||
.. |BulletEngCtrlPanel| replace:: Custom Tools
|
||||
"""
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,9 @@
|
||||
Data Formats Documentation
|
||||
==========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
stream-structures
|
||||
stimulations
|
||||
matrix-file-format
|
||||
@@ -0,0 +1,67 @@
|
||||
.. _Doc_MatrixFileFormat:
|
||||
|
||||
Matrix File Format
|
||||
==================
|
||||
|
||||
Sometimes it is useful to be able to save/load OpenViBE matrices to/from disk.
|
||||
Examples of such matrices are channel localization data that contains a list of
|
||||
electrode names and their coordinates, and color scales, which may be used by
|
||||
visualisation plugins to map potentials to colors. To that end, an OpenViBE
|
||||
matrix file format was defined and OpenViBE matrix file reader/writer
|
||||
algorithms created to process it. For a programmer, either the algorithms can
|
||||
be used, or more straightforwardly via the toolkit functions,
|
||||
|
||||
.. code::
|
||||
|
||||
OpenViBE::Toolkit::Matrix::saveToTextFile(...)
|
||||
OpenViBE::Toolkit::Matrix::loadFromTextFile(...)
|
||||
|
||||
On disk, this format follows a very simple text syntax for maximum portability.
|
||||
|
||||
.. note::
|
||||
|
||||
Since the matrices are stored as text, they do not maintain absolute float
|
||||
precision. For the aforementioned save routine, a desired precision can be
|
||||
given.
|
||||
|
||||
Comments may be inserted anywhere, start with a ``#`` character and extend to
|
||||
the end of the line.
|
||||
|
||||
Also, trailing/leading whitespaces on a line are trimmed by the parser.
|
||||
|
||||
The file should begin by the header section, delimited by opening and closing
|
||||
brackets. Each dimension of the matrix is listed in turn and delimited by its
|
||||
own opening and closing brackets. Dimension element labels should be declared
|
||||
within these brackets, each being delimited by quotation marks. Empty labels
|
||||
may be used, and the number of labels must match the dimension size. This is
|
||||
what a header might look like :
|
||||
|
||||
::
|
||||
|
||||
# header
|
||||
[
|
||||
[ "color1" "color2" ]
|
||||
[ "Red" "Green" "Blue" ]
|
||||
]
|
||||
|
||||
The next section of the file is the buffer part of the matrix. Opening and closing brackets are used to identify dimensions. Elements are listed in the innermost dimension, and are separated by quotation marks. This is what an appropriate buffer could look like for a 2×3 matrix :
|
||||
|
||||
::
|
||||
|
||||
# header
|
||||
[
|
||||
[ "color1" "color2" ]
|
||||
[ "Red" "Green" "Blue" ]
|
||||
]
|
||||
|
||||
#buffer
|
||||
|
||||
[ #color1
|
||||
[1 0 0] #red
|
||||
]
|
||||
|
||||
[ #color2
|
||||
[0 1 0] #blue
|
||||
]
|
||||
|
||||
#end of buffer
|
||||
@@ -0,0 +1,443 @@
|
||||
.. _Doc_Stimulations:
|
||||
|
||||
Stimulations
|
||||
============
|
||||
|
||||
Stimulation codes for available named stimulations are:
|
||||
|
||||
.. csv-table::
|
||||
:header: "Stimulation Name", "Stimulation Code"
|
||||
|
||||
"OVTK_StimulationId_ExperimentStart", "0x00008001"
|
||||
"OVTK_StimulationId_ExperimentStop", "0x00008002"
|
||||
"OVTK_StimulationId_SegmentStart", "0x00008003"
|
||||
"OVTK_StimulationId_SegmentStop", "0x00008004"
|
||||
"OVTK_StimulationId_TrialStart", "0x00008005"
|
||||
"OVTK_StimulationId_TrialStop", "0x00008006"
|
||||
"OVTK_StimulationId_BaselineStart", "0x00008007"
|
||||
"OVTK_StimulationId_BaselineStop", "0x00008008"
|
||||
"OVTK_StimulationId_RestStart", "0x00008009"
|
||||
"OVTK_StimulationId_RestStop", "0x0000800a"
|
||||
"OVTK_StimulationId_VisualStimulationStart", "0x0000800b"
|
||||
"OVTK_StimulationId_VisualStimulationStop", "0x0000800c"
|
||||
"OVTK_StimulationId_VisualSteadyStateStimulationStart", "0x00008010"
|
||||
"OVTK_StimulationId_VisualSteadyStateStimulationStop", "0x00008011"
|
||||
"OVTK_StimulationId_Button1_Pressed", "0x00008012"
|
||||
"OVTK_StimulationId_Button1_Released", "0x00008013"
|
||||
"OVTK_StimulationId_Button2_Pressed", "0x00008014"
|
||||
"OVTK_StimulationId_Button2_Released", "0x00008015"
|
||||
"OVTK_StimulationId_Button3_Pressed", "0x00008016"
|
||||
"OVTK_StimulationId_Button3_Released", "0x00008017"
|
||||
"OVTK_StimulationId_Button4_Pressed", "0x00008018"
|
||||
"OVTK_StimulationId_Button4_Released", "0x00008019"
|
||||
"OVTK_StimulationId_Label_00", "0x00008100"
|
||||
"OVTK_StimulationId_Label_01", "0x00008101"
|
||||
"OVTK_StimulationId_Label_02", "0x00008102"
|
||||
"OVTK_StimulationId_Label_03", "0x00008103"
|
||||
"OVTK_StimulationId_Label_04", "0x00008104"
|
||||
"OVTK_StimulationId_Label_05", "0x00008105"
|
||||
"OVTK_StimulationId_Label_06", "0x00008106"
|
||||
"OVTK_StimulationId_Label_07", "0x00008107"
|
||||
"OVTK_StimulationId_Label_08", "0x00008108"
|
||||
"OVTK_StimulationId_Label_09", "0x00008109"
|
||||
"OVTK_StimulationId_Label_0A", "0x0000810a"
|
||||
"OVTK_StimulationId_Label_0B", "0x0000810b"
|
||||
"OVTK_StimulationId_Label_0C", "0x0000810c"
|
||||
"OVTK_StimulationId_Label_0D", "0x0000810d"
|
||||
"OVTK_StimulationId_Label_0E", "0x0000810e"
|
||||
"OVTK_StimulationId_Label_0F", "0x0000810f"
|
||||
"OVTK_StimulationId_Label_10", "0x00008110"
|
||||
"OVTK_StimulationId_Label_11", "0x00008111"
|
||||
"OVTK_StimulationId_Label_12", "0x00008112"
|
||||
"OVTK_StimulationId_Label_13", "0x00008113"
|
||||
"OVTK_StimulationId_Label_14", "0x00008114"
|
||||
"OVTK_StimulationId_Label_15", "0x00008115"
|
||||
"OVTK_StimulationId_Label_16", "0x00008116"
|
||||
"OVTK_StimulationId_Label_17", "0x00008117"
|
||||
"OVTK_StimulationId_Label_18", "0x00008118"
|
||||
"OVTK_StimulationId_Label_19", "0x00008119"
|
||||
"OVTK_StimulationId_Label_1A", "0x0000811a"
|
||||
"OVTK_StimulationId_Label_1B", "0x0000811b"
|
||||
"OVTK_StimulationId_Label_1C", "0x0000811c"
|
||||
"OVTK_StimulationId_Label_1D", "0x0000811d"
|
||||
"OVTK_StimulationId_Label_1E", "0x0000811e"
|
||||
"OVTK_StimulationId_Label_1F", "0x0000811f"
|
||||
"OVTK_StimulationId_Label_20", "0x00008120"
|
||||
"OVTK_StimulationId_Label_21", "0x00008121"
|
||||
"OVTK_StimulationId_Label_22", "0x00008122"
|
||||
"OVTK_StimulationId_Label_23", "0x00008123"
|
||||
"OVTK_StimulationId_Label_24", "0x00008124"
|
||||
"OVTK_StimulationId_Label_25", "0x00008125"
|
||||
"OVTK_StimulationId_Label_26", "0x00008126"
|
||||
"OVTK_StimulationId_Label_27", "0x00008127"
|
||||
"OVTK_StimulationId_Label_28", "0x00008128"
|
||||
"OVTK_StimulationId_Label_29", "0x00008129"
|
||||
"OVTK_StimulationId_Label_2A", "0x0000812a"
|
||||
"OVTK_StimulationId_Label_2B", "0x0000812b"
|
||||
"OVTK_StimulationId_Label_2C", "0x0000812c"
|
||||
"OVTK_StimulationId_Label_2D", "0x0000812d"
|
||||
"OVTK_StimulationId_Label_2E", "0x0000812e"
|
||||
"OVTK_StimulationId_Label_2F", "0x0000812f"
|
||||
"OVTK_StimulationId_Label_30", "0x00008130"
|
||||
"OVTK_StimulationId_Label_31", "0x00008131"
|
||||
"OVTK_StimulationId_Label_32", "0x00008132"
|
||||
"OVTK_StimulationId_Label_33", "0x00008133"
|
||||
"OVTK_StimulationId_Label_34", "0x00008134"
|
||||
"OVTK_StimulationId_Label_35", "0x00008135"
|
||||
"OVTK_StimulationId_Label_36", "0x00008136"
|
||||
"OVTK_StimulationId_Label_37", "0x00008137"
|
||||
"OVTK_StimulationId_Label_38", "0x00008138"
|
||||
"OVTK_StimulationId_Label_39", "0x00008139"
|
||||
"OVTK_StimulationId_Label_3A", "0x0000813a"
|
||||
"OVTK_StimulationId_Label_3B", "0x0000813b"
|
||||
"OVTK_StimulationId_Label_3C", "0x0000813c"
|
||||
"OVTK_StimulationId_Label_3D", "0x0000813d"
|
||||
"OVTK_StimulationId_Label_3E", "0x0000813e"
|
||||
"OVTK_StimulationId_Label_3F", "0x0000813f"
|
||||
"OVTK_StimulationId_Label_40", "0x00008140"
|
||||
"OVTK_StimulationId_Label_41", "0x00008141"
|
||||
"OVTK_StimulationId_Label_42", "0x00008142"
|
||||
"OVTK_StimulationId_Label_43", "0x00008143"
|
||||
"OVTK_StimulationId_Label_44", "0x00008144"
|
||||
"OVTK_StimulationId_Label_45", "0x00008145"
|
||||
"OVTK_StimulationId_Label_46", "0x00008146"
|
||||
"OVTK_StimulationId_Label_47", "0x00008147"
|
||||
"OVTK_StimulationId_Label_48", "0x00008148"
|
||||
"OVTK_StimulationId_Label_49", "0x00008149"
|
||||
"OVTK_StimulationId_Label_4A", "0x0000814a"
|
||||
"OVTK_StimulationId_Label_4B", "0x0000814b"
|
||||
"OVTK_StimulationId_Label_4C", "0x0000814c"
|
||||
"OVTK_StimulationId_Label_4D", "0x0000814d"
|
||||
"OVTK_StimulationId_Label_4E", "0x0000814e"
|
||||
"OVTK_StimulationId_Label_4F", "0x0000814f"
|
||||
"OVTK_StimulationId_Label_50", "0x00008150"
|
||||
"OVTK_StimulationId_Label_51", "0x00008151"
|
||||
"OVTK_StimulationId_Label_52", "0x00008152"
|
||||
"OVTK_StimulationId_Label_53", "0x00008153"
|
||||
"OVTK_StimulationId_Label_54", "0x00008154"
|
||||
"OVTK_StimulationId_Label_55", "0x00008155"
|
||||
"OVTK_StimulationId_Label_56", "0x00008156"
|
||||
"OVTK_StimulationId_Label_57", "0x00008157"
|
||||
"OVTK_StimulationId_Label_58", "0x00008158"
|
||||
"OVTK_StimulationId_Label_59", "0x00008159"
|
||||
"OVTK_StimulationId_Label_5A", "0x0000815a"
|
||||
"OVTK_StimulationId_Label_5B", "0x0000815b"
|
||||
"OVTK_StimulationId_Label_5C", "0x0000815c"
|
||||
"OVTK_StimulationId_Label_5D", "0x0000815d"
|
||||
"OVTK_StimulationId_Label_5E", "0x0000815e"
|
||||
"OVTK_StimulationId_Label_5F", "0x0000815f"
|
||||
"OVTK_StimulationId_Label_60", "0x00008160"
|
||||
"OVTK_StimulationId_Label_61", "0x00008161"
|
||||
"OVTK_StimulationId_Label_62", "0x00008162"
|
||||
"OVTK_StimulationId_Label_63", "0x00008163"
|
||||
"OVTK_StimulationId_Label_64", "0x00008164"
|
||||
"OVTK_StimulationId_Label_65", "0x00008165"
|
||||
"OVTK_StimulationId_Label_66", "0x00008166"
|
||||
"OVTK_StimulationId_Label_67", "0x00008167"
|
||||
"OVTK_StimulationId_Label_68", "0x00008168"
|
||||
"OVTK_StimulationId_Label_69", "0x00008169"
|
||||
"OVTK_StimulationId_Label_6A", "0x0000816a"
|
||||
"OVTK_StimulationId_Label_6B", "0x0000816b"
|
||||
"OVTK_StimulationId_Label_6C", "0x0000816c"
|
||||
"OVTK_StimulationId_Label_6D", "0x0000816d"
|
||||
"OVTK_StimulationId_Label_6E", "0x0000816e"
|
||||
"OVTK_StimulationId_Label_6F", "0x0000816f"
|
||||
"OVTK_StimulationId_Label_70", "0x00008170"
|
||||
"OVTK_StimulationId_Label_71", "0x00008171"
|
||||
"OVTK_StimulationId_Label_72", "0x00008172"
|
||||
"OVTK_StimulationId_Label_73", "0x00008173"
|
||||
"OVTK_StimulationId_Label_74", "0x00008174"
|
||||
"OVTK_StimulationId_Label_75", "0x00008175"
|
||||
"OVTK_StimulationId_Label_76", "0x00008176"
|
||||
"OVTK_StimulationId_Label_77", "0x00008177"
|
||||
"OVTK_StimulationId_Label_78", "0x00008178"
|
||||
"OVTK_StimulationId_Label_79", "0x00008179"
|
||||
"OVTK_StimulationId_Label_7A", "0x0000817a"
|
||||
"OVTK_StimulationId_Label_7B", "0x0000817b"
|
||||
"OVTK_StimulationId_Label_7C", "0x0000817c"
|
||||
"OVTK_StimulationId_Label_7D", "0x0000817d"
|
||||
"OVTK_StimulationId_Label_7E", "0x0000817e"
|
||||
"OVTK_StimulationId_Label_7F", "0x0000817f"
|
||||
"OVTK_StimulationId_Label_80", "0x00008180"
|
||||
"OVTK_StimulationId_Label_81", "0x00008181"
|
||||
"OVTK_StimulationId_Label_82", "0x00008182"
|
||||
"OVTK_StimulationId_Label_83", "0x00008183"
|
||||
"OVTK_StimulationId_Label_84", "0x00008184"
|
||||
"OVTK_StimulationId_Label_85", "0x00008185"
|
||||
"OVTK_StimulationId_Label_86", "0x00008186"
|
||||
"OVTK_StimulationId_Label_87", "0x00008187"
|
||||
"OVTK_StimulationId_Label_88", "0x00008188"
|
||||
"OVTK_StimulationId_Label_89", "0x00008189"
|
||||
"OVTK_StimulationId_Label_8A", "0x0000818a"
|
||||
"OVTK_StimulationId_Label_8B", "0x0000818b"
|
||||
"OVTK_StimulationId_Label_8C", "0x0000818c"
|
||||
"OVTK_StimulationId_Label_8D", "0x0000818d"
|
||||
"OVTK_StimulationId_Label_8E", "0x0000818e"
|
||||
"OVTK_StimulationId_Label_8F", "0x0000818f"
|
||||
"OVTK_StimulationId_Label_90", "0x00008190"
|
||||
"OVTK_StimulationId_Label_91", "0x00008191"
|
||||
"OVTK_StimulationId_Label_92", "0x00008192"
|
||||
"OVTK_StimulationId_Label_93", "0x00008193"
|
||||
"OVTK_StimulationId_Label_94", "0x00008194"
|
||||
"OVTK_StimulationId_Label_95", "0x00008195"
|
||||
"OVTK_StimulationId_Label_96", "0x00008196"
|
||||
"OVTK_StimulationId_Label_97", "0x00008197"
|
||||
"OVTK_StimulationId_Label_98", "0x00008198"
|
||||
"OVTK_StimulationId_Label_99", "0x00008199"
|
||||
"OVTK_StimulationId_Label_9A", "0x0000819a"
|
||||
"OVTK_StimulationId_Label_9B", "0x0000819b"
|
||||
"OVTK_StimulationId_Label_9C", "0x0000819c"
|
||||
"OVTK_StimulationId_Label_9D", "0x0000819d"
|
||||
"OVTK_StimulationId_Label_9E", "0x0000819e"
|
||||
"OVTK_StimulationId_Label_9F", "0x0000819f"
|
||||
"OVTK_StimulationId_Label_A0", "0x000081a0"
|
||||
"OVTK_StimulationId_Label_A1", "0x000081a1"
|
||||
"OVTK_StimulationId_Label_A2", "0x000081a2"
|
||||
"OVTK_StimulationId_Label_A3", "0x000081a3"
|
||||
"OVTK_StimulationId_Label_A4", "0x000081a4"
|
||||
"OVTK_StimulationId_Label_A5", "0x000081a5"
|
||||
"OVTK_StimulationId_Label_A6", "0x000081a6"
|
||||
"OVTK_StimulationId_Label_A7", "0x000081a7"
|
||||
"OVTK_StimulationId_Label_A8", "0x000081a8"
|
||||
"OVTK_StimulationId_Label_A9", "0x000081a9"
|
||||
"OVTK_StimulationId_Label_AA", "0x000081aa"
|
||||
"OVTK_StimulationId_Label_AB", "0x000081ab"
|
||||
"OVTK_StimulationId_Label_AC", "0x000081ac"
|
||||
"OVTK_StimulationId_Label_AD", "0x000081ad"
|
||||
"OVTK_StimulationId_Label_AE", "0x000081ae"
|
||||
"OVTK_StimulationId_Label_AF", "0x000081af"
|
||||
"OVTK_StimulationId_Label_B0", "0x000081b0"
|
||||
"OVTK_StimulationId_Label_B1", "0x000081b1"
|
||||
"OVTK_StimulationId_Label_B2", "0x000081b2"
|
||||
"OVTK_StimulationId_Label_B3", "0x000081b3"
|
||||
"OVTK_StimulationId_Label_B4", "0x000081b4"
|
||||
"OVTK_StimulationId_Label_B5", "0x000081b5"
|
||||
"OVTK_StimulationId_Label_B6", "0x000081b6"
|
||||
"OVTK_StimulationId_Label_B7", "0x000081b7"
|
||||
"OVTK_StimulationId_Label_B8", "0x000081b8"
|
||||
"OVTK_StimulationId_Label_B9", "0x000081b9"
|
||||
"OVTK_StimulationId_Label_BA", "0x000081ba"
|
||||
"OVTK_StimulationId_Label_BB", "0x000081bb"
|
||||
"OVTK_StimulationId_Label_BC", "0x000081bc"
|
||||
"OVTK_StimulationId_Label_BD", "0x000081bd"
|
||||
"OVTK_StimulationId_Label_BE", "0x000081be"
|
||||
"OVTK_StimulationId_Label_BF", "0x000081bf"
|
||||
"OVTK_StimulationId_Label_C0", "0x000081c0"
|
||||
"OVTK_StimulationId_Label_C1", "0x000081c1"
|
||||
"OVTK_StimulationId_Label_C2", "0x000081c2"
|
||||
"OVTK_StimulationId_Label_C3", "0x000081c3"
|
||||
"OVTK_StimulationId_Label_C4", "0x000081c4"
|
||||
"OVTK_StimulationId_Label_C5", "0x000081c5"
|
||||
"OVTK_StimulationId_Label_C6", "0x000081c6"
|
||||
"OVTK_StimulationId_Label_C7", "0x000081c7"
|
||||
"OVTK_StimulationId_Label_C8", "0x000081c8"
|
||||
"OVTK_StimulationId_Label_C9", "0x000081c9"
|
||||
"OVTK_StimulationId_Label_CA", "0x000081ca"
|
||||
"OVTK_StimulationId_Label_CB", "0x000081cb"
|
||||
"OVTK_StimulationId_Label_CC", "0x000081cc"
|
||||
"OVTK_StimulationId_Label_CD", "0x000081cd"
|
||||
"OVTK_StimulationId_Label_CE", "0x000081ce"
|
||||
"OVTK_StimulationId_Label_CF", "0x000081cf"
|
||||
"OVTK_StimulationId_Label_D0", "0x000081d0"
|
||||
"OVTK_StimulationId_Label_D1", "0x000081d1"
|
||||
"OVTK_StimulationId_Label_D2", "0x000081d2"
|
||||
"OVTK_StimulationId_Label_D3", "0x000081d3"
|
||||
"OVTK_StimulationId_Label_D4", "0x000081d4"
|
||||
"OVTK_StimulationId_Label_D5", "0x000081d5"
|
||||
"OVTK_StimulationId_Label_D6", "0x000081d6"
|
||||
"OVTK_StimulationId_Label_D7", "0x000081d7"
|
||||
"OVTK_StimulationId_Label_D8", "0x000081d8"
|
||||
"OVTK_StimulationId_Label_D9", "0x000081d9"
|
||||
"OVTK_StimulationId_Label_DA", "0x000081da"
|
||||
"OVTK_StimulationId_Label_DB", "0x000081db"
|
||||
"OVTK_StimulationId_Label_DC", "0x000081dc"
|
||||
"OVTK_StimulationId_Label_DD", "0x000081dd"
|
||||
"OVTK_StimulationId_Label_DE", "0x000081de"
|
||||
"OVTK_StimulationId_Label_DF", "0x000081df"
|
||||
"OVTK_StimulationId_Label_E0", "0x000081e0"
|
||||
"OVTK_StimulationId_Label_E1", "0x000081e1"
|
||||
"OVTK_StimulationId_Label_E2", "0x000081e2"
|
||||
"OVTK_StimulationId_Label_E3", "0x000081e3"
|
||||
"OVTK_StimulationId_Label_E4", "0x000081e4"
|
||||
"OVTK_StimulationId_Label_E5", "0x000081e5"
|
||||
"OVTK_StimulationId_Label_E6", "0x000081e6"
|
||||
"OVTK_StimulationId_Label_E7", "0x000081e7"
|
||||
"OVTK_StimulationId_Label_E8", "0x000081e8"
|
||||
"OVTK_StimulationId_Label_E9", "0x000081e9"
|
||||
"OVTK_StimulationId_Label_EA", "0x000081ea"
|
||||
"OVTK_StimulationId_Label_EB", "0x000081eb"
|
||||
"OVTK_StimulationId_Label_EC", "0x000081ec"
|
||||
"OVTK_StimulationId_Label_ED", "0x000081ed"
|
||||
"OVTK_StimulationId_Label_EE", "0x000081ee"
|
||||
"OVTK_StimulationId_Label_EF", "0x000081ef"
|
||||
"OVTK_StimulationId_Label_F0", "0x000081f0"
|
||||
"OVTK_StimulationId_Label_F1", "0x000081f1"
|
||||
"OVTK_StimulationId_Label_F2", "0x000081f2"
|
||||
"OVTK_StimulationId_Label_F3", "0x000081f3"
|
||||
"OVTK_StimulationId_Label_F4", "0x000081f4"
|
||||
"OVTK_StimulationId_Label_F5", "0x000081f5"
|
||||
"OVTK_StimulationId_Label_F6", "0x000081f6"
|
||||
"OVTK_StimulationId_Label_F7", "0x000081f7"
|
||||
"OVTK_StimulationId_Label_F8", "0x000081f8"
|
||||
"OVTK_StimulationId_Label_F9", "0x000081f9"
|
||||
"OVTK_StimulationId_Label_FA", "0x000081fa"
|
||||
"OVTK_StimulationId_Label_FB", "0x000081fb"
|
||||
"OVTK_StimulationId_Label_FC", "0x000081fc"
|
||||
"OVTK_StimulationId_Label_FD", "0x000081fd"
|
||||
"OVTK_StimulationId_Label_FE", "0x000081fe"
|
||||
"OVTK_StimulationId_Label_FF", "0x000081ff"
|
||||
"OVTK_StimulationId_Number_00", "0x00000000"
|
||||
"OVTK_StimulationId_Number_01", "0x00000001"
|
||||
"OVTK_StimulationId_Number_02", "0x00000002"
|
||||
"OVTK_StimulationId_Number_03", "0x00000003"
|
||||
"OVTK_StimulationId_Number_04", "0x00000004"
|
||||
"OVTK_StimulationId_Number_05", "0x00000005"
|
||||
"OVTK_StimulationId_Number_06", "0x00000006"
|
||||
"OVTK_StimulationId_Number_07", "0x00000007"
|
||||
"OVTK_StimulationId_Number_08", "0x00000008"
|
||||
"OVTK_StimulationId_Number_09", "0x00000009"
|
||||
"OVTK_StimulationId_Number_0A", "0x0000000a"
|
||||
"OVTK_StimulationId_Number_0B", "0x0000000b"
|
||||
"OVTK_StimulationId_Number_0C", "0x0000000c"
|
||||
"OVTK_StimulationId_Number_0D", "0x0000000d"
|
||||
"OVTK_StimulationId_Number_0E", "0x0000000e"
|
||||
"OVTK_StimulationId_Number_0F", "0x0000000f"
|
||||
"OVTK_StimulationId_Number_10", "0x00000010"
|
||||
"OVTK_StimulationId_Number_11", "0x00000011"
|
||||
"OVTK_StimulationId_Number_12", "0x00000012"
|
||||
"OVTK_StimulationId_Number_13", "0x00000013"
|
||||
"OVTK_StimulationId_Number_14", "0x00000014"
|
||||
"OVTK_StimulationId_Number_15", "0x00000015"
|
||||
"OVTK_StimulationId_Number_16", "0x00000016"
|
||||
"OVTK_StimulationId_Number_17", "0x00000017"
|
||||
"OVTK_StimulationId_Number_18", "0x00000018"
|
||||
"OVTK_StimulationId_Number_19", "0x00000019"
|
||||
"OVTK_StimulationId_Number_1A", "0x0000001a"
|
||||
"OVTK_StimulationId_Number_1B", "0x0000001b"
|
||||
"OVTK_StimulationId_Number_1C", "0x0000001c"
|
||||
"OVTK_StimulationId_Number_1D", "0x0000001d"
|
||||
"OVTK_StimulationId_Number_1E", "0x0000001e"
|
||||
"OVTK_StimulationId_Number_1F", "0x0000001f"
|
||||
"OVTK_StimulationId_Train", "0x00008201"
|
||||
"OVTK_StimulationId_Beep", "0x00008202"
|
||||
"OVTK_StimulationId_DoubleBeep", "0x00008203"
|
||||
"OVTK_StimulationId_EndOfFile", "0x00008204"
|
||||
"OVTK_StimulationId_Target", "0x00008205"
|
||||
"OVTK_StimulationId_NonTarget", "0x00008206"
|
||||
"OVTK_StimulationId_TrainCompleted", "0x00008207"
|
||||
"OVTK_StimulationId_Reset", "0x00008208"
|
||||
"OVTK_StimulationId_ThresholdPassed_Positive", "0x00008209"
|
||||
"OVTK_StimulationId_ThresholdPassed_Negative", "0x00008210"
|
||||
"OVTK_StimulationId_NoArtifact", "0x00008301"
|
||||
"OVTK_StimulationId_Artifact", "0x00008302"
|
||||
"OVTK_StimulationId_RemovedSamples", "0x00008310"
|
||||
"OVTK_StimulationId_AddedSamplesBegin", "0x00008311"
|
||||
"OVTK_StimulationId_AddedSamplesEnd", "0x00008312"
|
||||
"OVTK_GDF_Artifact_EOG_Large", "0x101"
|
||||
"OVTK_GDF_Artifact_ECG", "0x102"
|
||||
"OVTK_GDF_Artifact_EMG", "0x103"
|
||||
"OVTK_GDF_Artifact_Movement", "0x104"
|
||||
"OVTK_GDF_Artifact_Failing_Electrode0x00008004", "0x105"
|
||||
"OVTK_GDF_Artifact_Sweat", "0x106"
|
||||
"OVTK_GDF_Artifact_50_60_Hz_Interference", "0x107"
|
||||
"OVTK_GDF_Artifact_Breathing", "0x108"
|
||||
"OVTK_GDF_Artifact_Pulse", "0x109"
|
||||
"OVTK_GDF_Artifact_EOG_Small", "0x10A"
|
||||
"OVTK_GDF_Calibration", "0x10F"
|
||||
"OVTK_GDF_EEG_Sleep_Splindles", "0x111"
|
||||
"OVTK_GDF_EEG_K_Complexes", "0x112"
|
||||
"OVTK_GDF_EEG_Saw_Tooth_Waves", "0x113"
|
||||
"OVTK_GDF_EEG_Idling_EEG_Eyes_Open", "0x114"
|
||||
"OVTK_GDF_EEG_Idling_EEG_Eyes_Closed", "0x115"
|
||||
"OVTK_GDF_EEG_Spike", "0x116"
|
||||
"OVTK_GDF_EEG_Seizure", "0x117"
|
||||
"OVTK_GDF_VEP", "0x121"
|
||||
"OVTK_GDF_AEP", "0x122"
|
||||
"OVTK_GDF_SEP", "0x123"
|
||||
"OVTK_GDF_TMS", "0x12F"
|
||||
"OVTK_GDF_SSVEP", "0x131"
|
||||
"OVTK_GDF_SSAEP", "0x132"
|
||||
"OVTK_GDF_SSSEP", "0x133"
|
||||
"OVTK_GDF_Start_Of_Trial", "0x300"
|
||||
"OVTK_GDF_Left", "0x301"
|
||||
"OVTK_GDF_Right", "0x302"
|
||||
"OVTK_GDF_Foot", "0x303"
|
||||
"OVTK_GDF_Tongue", "0x304"
|
||||
"OVTK_GDF_class5", "0x305"
|
||||
"OVTK_GDF_Down", "0x306"
|
||||
"OVTK_GDF_class7", "0x307"
|
||||
"OVTK_GDF_class8", "0x308"
|
||||
"OVTK_GDF_class9", "0x309"
|
||||
"OVTK_GDF_class10", "0x30A"
|
||||
"OVTK_GDF_class11", "0x30B"
|
||||
"OVTK_GDF_Up", "0x30C"
|
||||
"OVTK_GDF_Feedback_Continuous", "0x30D"
|
||||
"OVTK_GDF_Feedback_Discrete", "0x30E"
|
||||
"OVTK_GDF_Cue_Unknown_Undefined", "0x30F"
|
||||
"OVTK_GDF_Beep", "0x311"
|
||||
"OVTK_GDF_Cross_On_Screen", "0x312"
|
||||
"OVTK_GDF_Flashing_Light", "0x313"
|
||||
"OVTK_GDF_End_Of_Trial", "0x320"
|
||||
"OVTK_GDF_Correct", "0x381"
|
||||
"OVTK_GDF_Incorrect", "0x382"
|
||||
"OVTK_GDF_End_Of_Session", "0x3F2"
|
||||
"OVTK_GDF_Rejection", "0x3FF"
|
||||
"OVTK_GDF_OAHE", "0x401"
|
||||
"OVTK_GDF_RERA", "0x402"
|
||||
"OVTK_GDF_CAHE", "0x403"
|
||||
"OVTK_GDF_CSB", "0x404"
|
||||
"OVTK_GDF_Sleep_Hypoventilation", "0x405"
|
||||
"OVTK_GDF_Maximum_Inspiration", "0x40E"
|
||||
"OVTK_GDF_Start_Of_Inspiration", "0x40F"
|
||||
"OVTK_GDF_Wake", "0x410"
|
||||
"OVTK_GDF_Stage_1", "0x411"
|
||||
"OVTK_GDF_Stage_2", "0x412"
|
||||
"OVTK_GDF_Stage_3", "0x413"
|
||||
"OVTK_GDF_Stage_4", "0x414"
|
||||
"OVTK_GDF_REM", "0x415"
|
||||
"OVTK_GDF_Lights_On", "0x420"
|
||||
"OVTK_GDF_Lights_Off", "0x8420"
|
||||
"OVTK_GDF_Eyes_Left", "0x431"
|
||||
"OVTK_GDF_Eyes_Right", "0x432"
|
||||
"OVTK_GDF_Eyes_Up", "0x433"
|
||||
"OVTK_GDF_Eyes_Down", "0x434"
|
||||
"OVTK_GDF_Horizontal_Eye_Movement", "0x435"
|
||||
"OVTK_GDF_Vertical_Eye_Movement", "0x436"
|
||||
"OVTK_GDF_Rotation_Clockwise", "0x437"
|
||||
"OVTK_GDF_Rotation_Counterclockwise", "0x438"
|
||||
"OVTK_GDF_Eye_Blink", "0x439"
|
||||
"OVTK_GDF_Left_Hand_Movement", "0x441"
|
||||
"OVTK_GDF_Right_Hand_Movement", "0x442"
|
||||
"OVTK_GDF_Head_Movement", "0x443"
|
||||
"OVTK_GDF_Tongue_Movement", "0x444"
|
||||
"OVTK_GDF_Swallowing", "0x445"
|
||||
"OVTK_GDF_Biting", "0x446"
|
||||
"OVTK_GDF_Foot_Movement", "0x447"
|
||||
"OVTK_GDF_Foot_Right_Movement", "0x448"
|
||||
"OVTK_GDF_Arm_Movement", "0x449"
|
||||
"OVTK_GDF_Arm_Right_Movement", "0x44A"
|
||||
"OVTK_GDF_ECG_Fiducial_Point_QRS_Complex", "0x501"
|
||||
"OVTK_GDF_ECG_P_Wave", "0x502"
|
||||
"OVTK_GDF_ECG_QRS_Complex", "0x503"
|
||||
"OVTK_GDF_ECG_R_Point", "0x504"
|
||||
"OVTK_GDF_ECG_T_Wave", "0x506"
|
||||
"OVTK_GDF_ECG_U_Wave", "0x507"
|
||||
"OVTK_GDF_Start", "0x580"
|
||||
"OVTK_GDF_25_Watt", "0x581"
|
||||
"OVTK_GDF_50_Watt", "0x582"
|
||||
"OVTK_GDF_75_Watt", "0x583"
|
||||
"OVTK_GDF_100_Watt", "0x584"
|
||||
"OVTK_GDF_125_Watt", "0x585"
|
||||
"OVTK_GDF_150_Watt", "0x586"
|
||||
"OVTK_GDF_175_Watt", "0x587"
|
||||
"OVTK_GDF_200_Watt", "0x588"
|
||||
"OVTK_GDF_225_Watt", "0x589"
|
||||
"OVTK_GDF_250_Watt", "0x58A"
|
||||
"OVTK_GDF_275_Watt", "0x58B"
|
||||
"OVTK_GDF_300_Watt", "0x58C"
|
||||
"OVTK_GDF_325_Watt", "0x58D"
|
||||
"OVTK_GDF_350_Watt", "0x58E"
|
||||
"OVTK_GDF_Start_Of_New_Segment", "0x7FFE"
|
||||
"OVTK_GDF_Non_Equidistant_Sampling_Value", "0x7FFF"
|
||||
|
||||
|
||||
@@ -0,0 +1,652 @@
|
||||
.. |clearfloat| raw:: html
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
Stream Structures
|
||||
=================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
All the streams are defined using EBML (Extensible Binary Meta-Language). They are all structured in 3 sections:
|
||||
|
||||
HEADER
|
||||
this part is the first ever sent and received on the stream, when the user presses "play" in a scenario. It usually contains the stream description used by the boxes and algorithms to initialize everything properly (e.g. size of an internal buffer)
|
||||
|
||||
BUFFERS
|
||||
the number of buffers that may then transit through the stream is unlimited. Buffers contain the payload, e.g. the current signal matrix.
|
||||
|
||||
END
|
||||
this last part is received once, when the user presses "stop" in a scenario. This mechanism is not concretely used in existing boxes, however everything is implemented to handle it.
|
||||
|
||||
Hierarchy
|
||||
---------
|
||||
|
||||
The stream hierarchy is displayed on figure below. Every lower stream also
|
||||
contains the information specific to the upper stream. The color of the
|
||||
corresponding input and output in the Designer are also displayed.
|
||||
|
||||
.. figure:: images/streams.png
|
||||
:alt: The OpenViBE stream hierarchy
|
||||
|
||||
The OpenViBE stream hierarchy
|
||||
|
||||
As you can see every stream is an **EBML stream**. Then the EBML container is
|
||||
specialized in 3 streams : **experiment information**, **stimulations** or
|
||||
**streamed matrix***.
|
||||
|
||||
The **Streamed Matrix** stream can be used as is, or as one of its 4 derived
|
||||
streams : **channel localisation**, **channel units**, **feature vector**,
|
||||
**signal** or **spectrum**.
|
||||
|
||||
::
|
||||
|
||||
#define OVTK_TypeId_EBMLStream OpenViBE::CIdentifier(0x434F6587, 0x2EFD2B7E)
|
||||
#define OVTK_TypeId_ExperimentInfo OpenViBE::CIdentifier(0x403488E7, 0x565D70B6)
|
||||
#define OVTK_TypeId_Stimulations OpenViBE::CIdentifier(0x6F752DD0, 0x082A321E)
|
||||
#define OVTK_TypeId_StreamedMatrix OpenViBE::CIdentifier(0x544A003E, 0x6DCBA5F6)
|
||||
#define OVTK_TypeId_FeatureVector OpenViBE::CIdentifier(0x17341935, 0x152FF448)
|
||||
#define OVTK_TypeId_Signal OpenViBE::CIdentifier(0x5BA36127, 0x195FEAE1)
|
||||
#define OVTK_TypeId_Spectrum OpenViBE::CIdentifier(0x1F261C0A, 0x593BF6BD)
|
||||
#define OVTK_TypeId_ChannelLocalisation OpenViBE::CIdentifier(0x1E4C0D6E, 0x5204EEB2)
|
||||
#define OVTK_TypeId_ChannelUnits OpenViBE::CIdentifier(0x5E330216, 0x2C09724C)
|
||||
|
||||
|
||||
The following sections will describe each stream type.
|
||||
|
||||
.. _Doc_Streams_EBML:
|
||||
|
||||
Standard EBML stream
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: images/ebml-stream-card.png
|
||||
:align: left
|
||||
|
||||
EBML stream description (November 6th 2006, version 1).
|
||||
|
||||
From any standard EBML stream header, you can retrieve the stream type identifier, and the stream version.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header EBML::CIdentifier(0x002B395F, 0x108ADFAE)
|
||||
#define OVTK_NodeId_Header_StreamType EBML::CIdentifier(0x00CDD0F7, 0x46B0278D)
|
||||
#define OVTK_NodeId_Header_StreamVersion EBML::CIdentifier(0x006F5A08, 0x7796EBC5)
|
||||
#define OVTK_NodeId_Buffer EBML::CIdentifier(0x00CF2101, 0x02375310)
|
||||
#define OVTK_NodeId_End EBML::CIdentifier(0x00D9DDC3, 0x0B12873A)
|
||||
|
||||
.. _Doc_Streams_StreamedMatrix:
|
||||
|
||||
Streamed matrix stream
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: images/sm-stream-card.png
|
||||
:align: left
|
||||
|
||||
Streamed matrix stream description (November 6th 2006, version 1).
|
||||
|
||||
The streamed matrix stream is an EBML Stream that also contains a matrix
|
||||
descriptor in the header, and a **matrix of double precision floating values**
|
||||
in its buffers. The matrix descriptor gives the **dimension count**, **size**
|
||||
of each dimension, and **labels** of each dimension.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Header_StreamedMatrix
|
||||
* OVTK_NodeId_Header_StreamedMatrix_DimensionCount (integer:)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:)
|
||||
* ...
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header_StreamedMatrix EBML::CIdentifier(0x0072F560, 0x7ED2CBED)
|
||||
#define OVTK_NodeId_Header_StreamedMatrix_DimensionCount EBML::CIdentifier(0x003FEBD4, 0x2725D428)
|
||||
#define OVTK_NodeId_Header_StreamedMatrix_Dimension EBML::CIdentifier(0x0000E3C0, 0x3A7D5141)
|
||||
#define OVTK_NodeId_Header_StreamedMatrix_Dimension_Size EBML::CIdentifier(0x001302F7, 0x36D8438A)
|
||||
#define OVTK_NodeId_Header_StreamedMatrix_Dimension_Label EBML::CIdentifier(0x00153E40, 0x190227E0)
|
||||
#define OVTK_NodeId_Buffer_StreamedMatrix EBML::CIdentifier(0x00120663, 0x08FBC165)
|
||||
#define OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer EBML::CIdentifier(0x00B18C10, 0x427D098C)
|
||||
|
||||
.. _Doc_Streams_ChannelLocalization:
|
||||
|
||||
Channel localization stream
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
.. image:: images/chanloc-stream-card.png
|
||||
:align: left
|
||||
|
||||
|
||||
Channel localisation description (nov 04th 2008, version 1)
|
||||
|
||||
The channel localisation stream is a stream matrix stream with some
|
||||
constraints:
|
||||
|
||||
- 2 dimensions : **channels** and **positions**
|
||||
|
||||
- First dimension has variable size (channel count)
|
||||
|
||||
- Second dimension has a size of 3 : the normalized cartesian coordinates in
|
||||
the following frame of reference : X right, Y front and Z up.
|
||||
|
||||
Its header also exposes a boolean value : **Dynamic**. If false the coordinates
|
||||
are assumed to be static, thus sent once and for all (e.g. with an EEG system).
|
||||
If Dynamic is set, the coordinates of the sensors may change over time, thus
|
||||
several buffer can be received over time.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:2)
|
||||
* OVTK_NodeId_Header_ChannelLocalisation
|
||||
* OVTK_NodeId_Header_ChannelLocalisation_Dynamic (boolean)
|
||||
* OVTK_NodeId_Header_StreamedMatrix
|
||||
* OVTK_NodeId_Header_StreamedMatrix_DimensionCount (integer:2)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:channel count)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 1 name)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 2 name)
|
||||
* ...
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:3)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:x)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:y)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:z)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header_ChannelLocalisation EBML::CIdentifier(0xF2CFE60B, 0xEFD63E3B)
|
||||
#define OVTK_NodeId_Header_ChannelLocalisation_Dynamic EBML::CIdentifier(0x5338AF5C, 0x07C469C3)
|
||||
|
||||
.. _Doc_Streams_ChannelUnits:
|
||||
|
||||
Channel units stream
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Channel units description (mar 30th 2015, version 1).
|
||||
|
||||
The channel units stream is a streamed matrix stream intended to carry channel
|
||||
measurement unit information from the drivers to Designer (e.g. ‘channel 1 is
|
||||
in microvolts’). The stream has some constraints:
|
||||
|
||||
- 2 dimensions : **channels** and their **properties**
|
||||
|
||||
- First dimension has variable size (channel count)
|
||||
|
||||
- Second dimension has a size of 2 : the unit and the scaling factor. Although
|
||||
the stream contents can be handled as a matrix, the unit codes and scaling
|
||||
factors supported and understood by OpenViBE are limited to a specific set.
|
||||
The list is in in ``toolkit/include/ovtk_defines.h``.
|
||||
|
||||
Its header also exposes a boolean value : **Dynamic**. If false the units are assumed to be static, thus sent once and for all (e.g. with an EEG system). If Dynamic is set, the units may change over time, thus several buffer can be received over time. However, no component in 1.0.0 supports the dynamic units.
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:2)
|
||||
* OVTK_NodeId_Header_ChannelUnits
|
||||
* OVTK_NodeId_Header_ChannelUnits_Dynamic (boolean)
|
||||
* OVTK_NodeId_Header_StreamedMatrix
|
||||
* OVTK_NodeId_Header_StreamedMatrix_DimensionCount (integer:2)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:channel count)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 1 name)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 2 name)
|
||||
* ...
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:2)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:unit)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:factor)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header EBML::CIdentifier(0x002B395F, 0x108ADFAE)
|
||||
#define OVTK_NodeId_Header_StreamType EBML::CIdentifier(0x00CDD0F7, 0x46B0278D)
|
||||
#define OVTK_NodeId_Header_StreamVersion EBML::CIdentifier(0x006F5A08, 0x7796EBC5)
|
||||
#define OVTK_NodeId_Buffer EBML::CIdentifier(0x00CF2101, 0x02375310)
|
||||
#define OVTK_NodeId_End EBML::CIdentifier(0x00D9DDC3, 0x0B12873A)
|
||||
|
||||
.. _Doc_Streams_FeatureVector:
|
||||
|
||||
Feature vector stream
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
.. image:: images/fvec-stream-card.png
|
||||
:align: left
|
||||
|
||||
Feature vector stream description (may 24th 2007, version 1).
|
||||
|
||||
The feature vector stream is a stream matrix stream with some constraints:
|
||||
|
||||
- 1 dimension : the **features**
|
||||
|
||||
- Number of features may vary, but remains the same for one stream life time.
|
||||
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Header_StreamedMatrix
|
||||
* OVTK_NodeId_Header_StreamedMatrix_DimensionCount (integer:1)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:feature count)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:feature 1 name)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:feature 2 name)
|
||||
* ...
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
.. _Doc_Streams_Spectrum:
|
||||
|
||||
Spectrum stream
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: images/spec-stream-card.png
|
||||
:align: left
|
||||
|
||||
Spectrum stream description (jan. 2017, version 2).
|
||||
|
||||
The spectrum stream is a stream matrix stream with some constraints:
|
||||
|
||||
- 2 dimensions : **channels** and **number of frequency values**
|
||||
- First dimension has variable size (channel count)
|
||||
- Second dimension has variable size (number of frequency values)
|
||||
|
||||
Its header also expose the sampling rate of the signal and the list of frequency values used.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Header_StreamedMatrix
|
||||
* OVTK_NodeId_Header_StreamedMatrix_DimensionCount (integer:2)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:channel count)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 1 name)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 2 name)
|
||||
* ...
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:number of frequency band)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:frequency band 1 name)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:frequency band 2 name)
|
||||
* ...
|
||||
* OVTK_NodeId_Header_Spectrum
|
||||
* OVTK_NodeId_Header_Spectrum_Sampling
|
||||
* OVTK_NodeId_Header_Spectrum_FrequencyAbscissa (double)
|
||||
* OVTK_NodeId_Header_Spectrum_FrequencyAbscissa (double)
|
||||
* OVTK_NodeId_Header_Spectrum_FrequencyAbscissa (double)
|
||||
* ...
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header_Spectrum EBML::CIdentifier(0x00CCFA4B, 0x14F37D4D)
|
||||
#define OVTK_NodeId_Header_Spectrum_FrequencyBand_Deprecated EBML::CIdentifier(0x0010983C, 0x21F8BDE5)
|
||||
#define OVTK_NodeId_Header_Spectrum_FrequencyBand_Start_Deprecated EBML::CIdentifier(0x00AA5654, 0x2403A2CB)
|
||||
#define OVTK_NodeId_Header_Spectrum_FrequencyBand_Stop_Deprecated EBML::CIdentifier(0x00A44C82, 0x05BE50D5)
|
||||
#define OVTK_NodeId_Header_Spectrum_FrequencyAbscissa EBML::CIdentifier(0x00D7287D, 0x622A2BF5)
|
||||
#define OVTK_NodeId_Header_Spectrum_Sampling EBML::CIdentifier(0x006876E9, 0x1DCB0CA1)
|
||||
|
||||
.. _Doc_Streams_Signal:
|
||||
|
||||
Signal stream
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
|
||||
.. image:: images/signal-stream-card.png
|
||||
:align: left
|
||||
|
||||
Signal stream description (may 24th 2007, version 2).
|
||||
|
||||
The signal stream is a stream matrix stream with some constraints:
|
||||
|
||||
- 2 dimensions : **channels** and **samples**
|
||||
|
||||
- First dimension has variable size (channel count)
|
||||
|
||||
- Second dimension has a size corresponding to the **sample count per buffer**.
|
||||
|
||||
Its header also expose an integer value : the **Sampling Frequency**. Sampling
|
||||
frequency and sample count per buffer depends on the data producer (file reader
|
||||
or acquisition client).
|
||||
|
||||
|clearfloat|
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Header_Signal
|
||||
* OVTK_NodeId_Header_Signal_Sampling (integer)
|
||||
* OVTK_NodeId_Header_StreamedMatrix
|
||||
* OVTK_NodeId_Header_StreamedMatrix_DimensionCount (integer:2)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:channel count)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 1 name)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string:channel 2 name)
|
||||
* ...
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Size (integer:number of samples per buffer)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string)
|
||||
* OVTK_NodeId_Header_StreamedMatrix_Dimension_Label (string)
|
||||
* ...
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix
|
||||
* OVTK_NodeId_Buffer_StreamedMatrix_RawBuffer (array of double)
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header_Signal EBML::CIdentifier(0x007855DE, 0x3748D375)
|
||||
#define OVTK_NodeId_Header_Signal_Sampling EBML::CIdentifier(0x00141C43, 0x0C37006B)
|
||||
|
||||
.. _Doc_Streams_Stimulation:
|
||||
|
||||
Stimulation stream
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: images/stim-stream-card.png
|
||||
:align: left
|
||||
|
||||
|
||||
Stimulation stream description (may 24th 2007, version 3).
|
||||
|
||||
The stimulation stream is an EBML stream which buffers contains stimulation
|
||||
sets. Each stimulation has 3 attributes:
|
||||
|
||||
- **Stimulation Date**: a 64bit unsigned integer in 32:32 precision (first 32
|
||||
bits for the seconds, last 32 bits for the divisions)
|
||||
|
||||
- **Stimulation Identifier** as listed in the documentation page.
|
||||
|
||||
- **Stimulation Duration**: same encoding as stimulation date. In practice, the
|
||||
duration is never used by boxes, thus the value is most of the time 0.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer_Stimulation
|
||||
* OVTK_NodeId_Buffer_Stimulation_NumberOfStimulations (integer)
|
||||
* OVTK_NodeId_Buffer_Stimulation_Stimulation
|
||||
* OVTK_NodeId_Buffer_Stimulation_Stimulation_ID (integer)
|
||||
* OVTK_NodeId_Buffer_Stimulation_Stimulation_Date (integer)
|
||||
* OVTK_NodeId_Buffer_Stimulation_Stimulation_Duration (integer)
|
||||
* OVTK_NodeId_Stimulation_Stimulation
|
||||
* ...
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer
|
||||
* ...
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Buffer_Stimulation EBML::CIdentifier(0x006DEABE, 0x7FC05A20)
|
||||
#define OVTK_NodeId_Buffer_Stimulation_NumberOfStimulations EBML::CIdentifier(0x00BB790B, 0x2B8574D8)
|
||||
#define OVTK_NodeId_Buffer_Stimulation_Stimulation EBML::CIdentifier(0x0016EAC6, 0x29FBCAA1)
|
||||
#define OVTK_NodeId_Buffer_Stimulation_Stimulation_ID EBML::CIdentifier(0x006FA5DB, 0x4BAC31E9)
|
||||
#define OVTK_NodeId_Buffer_Stimulation_Stimulation_Date EBML::CIdentifier(0x00B866D8, 0x14DA5374)
|
||||
#define OVTK_NodeId_Buffer_Stimulation_Stimulation_Duration EBML::CIdentifier(0x14EE055F, 0x87FBCC9C)
|
||||
|
||||
.. _Doc_Streams_ExperimentInfo:
|
||||
|
||||
Experimentation information stream
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: images/xp-stream-card.png
|
||||
:align: left
|
||||
|
||||
Experimentation information stream description (november 6th 2006, version 1).
|
||||
|
||||
The experiment information stream is an EBML stream that provides in its header
|
||||
some information about the experiment being conducted. These information are
|
||||
entered for example in the acquisition server, when configuring the driver
|
||||
before starting the acquisition. You can find:
|
||||
|
||||
- **Experiment description**: identifier and date.
|
||||
|
||||
- **Subject description**: identifier, name, age and gender.
|
||||
|
||||
- **Context**: laboratory identifier and name, technician identifier and name.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Header_StreamType (integer:)
|
||||
* OVTK_NodeId_Header_StreamVersion (integer:)
|
||||
* OVTK_NodeId_Header_ExperimentInfo
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Experiment
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Experiment_ID (integer)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Experiment_Date (date)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Subject
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Subject_ID (integer)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Subject_Name (string)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Subject_Age (integer)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Subject_Gender (integer)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Context
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Context_LaboratoryID (integer)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Context_LaboratoryName (string)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Context_TechnicianID (integer)
|
||||
* OVTK_NodeId_Header_ExperimentInfo_Context_TechnicianName (string)
|
||||
* OVTK_NodeId_End
|
||||
*
|
||||
|
||||
::
|
||||
|
||||
* NODE IDENTIFIERS
|
||||
* ----------------
|
||||
#define OVTK_NodeId_Header_ExperimentInfo EBML::CIdentifier(0x00746BA0, 0x115AE04D)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Experiment EBML::CIdentifier(0x0011D6B7, 0x48F1AA39)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Experiment_ID EBML::CIdentifier(0x006ACD74, 0x1C960C26)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Experiment_Date EBML::CIdentifier(0x002F8FB7, 0x6DA7552D)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Subject EBML::CIdentifier(0x003EC620, 0x333E0A94)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Subject_ID EBML::CIdentifier(0x00D62974, 0x473D4AA5)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Subject_Name EBML::CIdentifier(0x0041FD0A, 0x6BCD9A99)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Subject_Age EBML::CIdentifier(0x00DF7DD9, 0x33336C51)
|
||||
/* for retro compat */
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Subject_Sex EBML::CIdentifier(0x0069BB84, 0x3FC8E149)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Subject_Gender EBML::CIdentifier(0x0069BB84, 0x3FC8E149)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Context EBML::CIdentifier(0x0018C291, 0x7985DFDD)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Context_LaboratoryID EBML::CIdentifier(0x003F11B9, 0x26D76D9C)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Context_LaboratoryName EBML::CIdentifier(0x00EB1F23, 0x51C23B83)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Context_TechnicianID EBML::CIdentifier(0x00874A7F, 0x60DC34C2)
|
||||
#define OVTK_NodeId_Header_ExperimentInfo_Context_TechnicianName EBML::CIdentifier(0x00C8C393, 0x31CE5B3E)
|
||||
|
||||
Acquisition stream
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: images/acquisition-stream-small.png
|
||||
:align: left
|
||||
|
||||
Acquisition stream description (nov 2014, version 3). This is a multiplexed
|
||||
stream.
|
||||
|
||||
The acquisition stream encapsulates 5 streams : experiment information, channel
|
||||
localisation, channel units, signal and stimulation.
|
||||
|
||||
This stream is produced by the Acquisition Server and is sent to every client
|
||||
connected via tcp/ip network connection. The stream is received by the
|
||||
Acquisition Client box, that separates each streams and makes them available on
|
||||
5 corresponding outputs.
|
||||
|
||||
|clearfloat|
|
||||
|
||||
EBML description & identifiers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
* STREAM STRUCTURE
|
||||
* ----------------
|
||||
* OVTK_NodeId_Header
|
||||
* OVTK_NodeId_Acquisition_Header_ExperimentInfo
|
||||
* ... some experiment information stream header
|
||||
* OVTK_NodeId_Acquisition_Header_Signal
|
||||
* ... some signal stream header
|
||||
* OVTK_NodeId_Acquisition_Header_Stimulation
|
||||
* ... some stimulation stream header
|
||||
* OVTK_NodeId_Acquisition_Header_ChannelLocalisation
|
||||
* ... some channel localisation stream header
|
||||
* OVTK_NodeId_Acquisition_Header_ChannelUnits
|
||||
* ... some channel units stream header
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Acquisition_Buffer_ExperimentInfo
|
||||
* ... some experiment information stream buffer
|
||||
* OVTK_NodeId_Acquisition_Buffer_Signal
|
||||
* ... some signal stream buffer
|
||||
* OVTK_NodeId_Acquisition_Buffer_Stimulation
|
||||
* ... some stimulation stream buffer
|
||||
* OVTK_NodeId_Acquisition_Buffer_ChannelLocalisation
|
||||
* ... some channel localisation stream buffer
|
||||
* OVTK_NodeId_Acquisition_Buffer_ChannelUnits
|
||||
* ... some channel units stream buffer
|
||||
* OVTK_NodeId_Buffer
|
||||
* OVTK_NodeId_Buffer
|
||||
* ...
|
||||
*
|
||||
@@ -0,0 +1,17 @@
|
||||
OpenViBE SDK Documentation
|
||||
==========================
|
||||
|
||||
Available Boxes
|
||||
---------------
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
boxes/index-boxes
|
||||
|
||||
Data Formats Documentation
|
||||
--------------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
data-formats/index-data-formats
|
||||