diff --git a/.gitignore b/.gitignore index 14767a8e1bac5ca9c058b6296169f62a52bdfadd..2d81de06cd278008e753974fba3b290cc502fd86 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,6 @@ CustomCMakeLists.txt .vs/ .vscode/ .idea/ -doc/html/* *-output.* # Third party stuff diff --git a/CMakeLists.txt b/CMakeLists.txt index 65ff3465335ac89ed4d3a3d2a27bbeb45ce2e7df..7958b64dbc5175638bd3be547efab54ca9240df5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,13 +9,10 @@ set(CMAKE_MODULE_PATH set(OV_GLOBAL_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") -set(DOCUMENTATION_TEMP_DIRECTORY "${CMAKE_INSTALL_PREFIX}/doc-tmp") - set(OV_LAUNCHER_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules/launchers") # OpenViBE-specific helper functions that are used by the CMakeLists of the subprojects. #include("OvAddSingleProject") include("OvAddProjects") -include("OvLinkBoostLib") include("OvMessages") add_definitions("-DOV_PROJECT_NAME=\"${PROJECT_NAME}\"") @@ -151,8 +148,6 @@ set(OV_COMPILE_TESTS "true") # By setting SKIP[_FOLDER]* you can skip a subtree (example: SKIP_A_B_C skips folder a/b/c and all its subfolders if any) -# Skip building documentation -set(SKIP_DOCUMENTATION "1") # Only build the python plugin for one version of python. # On windows, it can work with both, with the right configuration. @@ -193,10 +188,6 @@ set(SKIP_APPLICATIONS_EXAMPLES_CONVERT "0") # Convert depends on Designer # the cmake-modules folder. It makes modifying this very CMake file easier. #include("OVCustomSettings") -# a list of all project which will be filled by the directory traversal. This is needed to generate the documentation. -set_property(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS "") -set_property(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS_BUILD_DIR "") - # Used by the various Find* scripts to locate OpenViBE modules # Used by the various Find* scripts to locate OpenViBE modules set(OV_BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) @@ -214,12 +205,6 @@ add_subdirectory("plugins/") add_subdirectory("applications/") add_subdirectory("externals/") add_subdirectory("contrib/") -add_subdirectory("documentation/") # needs to be the last since it uses the list of collected projects - -#add dependency to plugin inspector to the documentation -if(openvibe-documentation) - add_dependencies(openvibe-documentation openvibe-plugin-inspector) -endif(openvibe-documentation) # make a copy of the dependency script, this is done so we can use the same launch scripts both in win install and win devel situations. if(WIN32) @@ -258,4 +243,4 @@ configure_file(scripts/windows-openvibe-x.x.x-setup.nsi.in scripts/windows-openv # ----------------------------- # Install files # ----------------------------- -install(DIRECTORY signals DESTINATION ${DIST_DATADIR}/openvibe/scenarios/) \ No newline at end of file +install(DIRECTORY signals DESTINATION ${DIST_DATADIR}/openvibe/scenarios/) diff --git a/applications/demos/erp-recording/bci-examples/erp-recording/erp-1-monitor-signal.xml b/applications/demos/erp-recording/bci-examples/erp-recording/erp-1-monitor-signal.xml index 056fac88694828fce46e94bbad170be3fe354096..dededee4d184349c5d43700769004c180d762840 100644 --- a/applications/demos/erp-recording/bci-examples/erp-recording/erp-1-monitor-signal.xml +++ b/applications/demos/erp-recording/bci-examples/erp-recording/erp-1-monitor-signal.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.3.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000003fe, 0x00000ecb)</Identifier> @@ -89,15 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,10 +106,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>100</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002a23aa)</Value> @@ -174,24 +169,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0057d189)</Value> @@ -243,15 +230,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384.000000</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -261,10 +244,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00023a6b)</Value> @@ -309,24 +288,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>672.000000</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>136</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00119045)</Value> @@ -361,24 +332,6 @@ <BoxIdentifier>(0x000003fe, 0x00000ecb)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002193, 0x00006de6)</Identifier> @@ -390,24 +343,6 @@ <BoxIdentifier>(0x000003fe, 0x00000ecb)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>574</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>559</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000350a, 0x00003b44)</Identifier> @@ -419,24 +354,6 @@ <BoxIdentifier>(0x00006c8d, 0x00005eff)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>391</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003d3c, 0x000078c6)</Identifier> @@ -448,24 +365,6 @@ <BoxIdentifier>(0x00007e7f, 0x00001714)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>672</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006ce3, 0x00001abc)</Identifier> @@ -477,24 +376,6 @@ <BoxIdentifier>(0x00006c8d, 0x00005eff)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>529</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>376</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007437, 0x0000097c)</Identifier> @@ -506,24 +387,6 @@ <BoxIdentifier>(0x000003fe, 0x00000ecb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>529</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>529</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -544,11 +407,11 @@ analysis, etc.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>208.000000</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>112.000000</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> @@ -557,7 +420,7 @@ analysis, etc.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x000003fe, 0x00000ecb)","childCount":0,"identifier":"(0x00004ed7, 0x00002591)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ad6, 0x00004865)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000025c7, 0x00007b2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad6, 0x00004865)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000334d, 0x00001f2e)","index":0,"name":"Empty","parentIdentifier":"(0x000025c7, 0x00007b2b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x000003fe, 0x00000ecb)","childCount":0,"identifier":"(0x00004ed7, 0x00002591)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ad6, 0x00004865)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000025c7, 0x00007b2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad6, 0x00004865)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000334d, 0x00001f2e)","index":0,"name":"Empty","parentIdentifier":"(0x000025c7, 0x00007b2b)","type":0}]</Data> </Entry> </Metadata> <Attributes> @@ -586,4 +449,4 @@ analysis, etc.</Text> <Value>Inria</Value> </Attribute> </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/demos/erp-recording/bci-examples/erp-recording/erp-2-record-signal.xml b/applications/demos/erp-recording/bci-examples/erp-recording/erp-2-record-signal.xml index 1736143fdaae31ca635b7e9664febf353f2de8cc..4749162b63f541d6724af988edc0f95d42bae2a7 100644 --- a/applications/demos/erp-recording/bci-examples/erp-recording/erp-2-record-signal.xml +++ b/applications/demos/erp-recording/bci-examples/erp-recording/erp-2-record-signal.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.3.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000351, 0x00005cd9)</Identifier> @@ -25,24 +28,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>714.000000</Value> + <Value>714</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>235</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x001376d1)</Value> @@ -151,15 +146,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>53</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>336</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -169,10 +164,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0004534c)</Value> @@ -181,10 +172,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>9</Value> @@ -240,24 +227,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005b6c24)</Value> @@ -325,24 +304,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056.000000</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd327e20a, 0xaae6b1f8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00570835)</Value> @@ -477,15 +448,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>928.000000</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -495,18 +462,10 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>127</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00558637)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -566,15 +525,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -584,10 +539,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>115</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0035ac8f)</Value> @@ -673,15 +624,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056.000000</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -691,10 +638,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004a0e3d)</Value> @@ -780,15 +723,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>928.000000</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -798,10 +737,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00700058)</Value> @@ -853,24 +788,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>441.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>441</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000da1a8)</Value> @@ -911,24 +838,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> + <Value>224</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>53</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1232</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1232.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>182</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000357a3)</Value> @@ -937,10 +860,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -981,15 +900,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1008.000000</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -999,10 +914,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>132</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00c00550)</Value> @@ -1041,24 +952,6 @@ <BoxIdentifier>(0x00003631, 0x00001ebf)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>252</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1056</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000003f1, 0x00007639)</Identifier> @@ -1070,24 +963,6 @@ <BoxIdentifier>(0x00004f7f, 0x000035b1)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>342</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>503</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00000da6, 0x00004161)</Identifier> @@ -1099,24 +974,6 @@ <BoxIdentifier>(0x0000523b, 0x000018bf)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>172</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>1008</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>928</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001c92, 0x00005942)</Identifier> @@ -1128,24 +985,6 @@ <BoxIdentifier>(0x00004f7f, 0x000035b1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>342</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>473</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000036b4, 0x00001fe9)</Identifier> @@ -1157,24 +996,6 @@ <BoxIdentifier>(0x000075ac, 0x000054c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>172</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>1008</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>193</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1232</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003b15, 0x00000638)</Identifier> @@ -1186,24 +1007,6 @@ <BoxIdentifier>(0x0000523b, 0x000018be)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>172</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>1008</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1056</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000045d2, 0x00007327)</Identifier> @@ -1215,24 +1018,6 @@ <BoxIdentifier>(0x0000733d, 0x00004c0a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>592</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004eb3, 0x00004933)</Identifier> @@ -1244,24 +1029,6 @@ <BoxIdentifier>(0x00001c2b, 0x000032e5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>529</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>305</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>321</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005625, 0x000071d7)</Identifier> @@ -1273,24 +1040,6 @@ <BoxIdentifier>(0x00004f7f, 0x000035b1)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>529</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>342</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>488</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000058cc, 0x000024cb)</Identifier> @@ -1302,24 +1051,6 @@ <BoxIdentifier>(0x00000351, 0x00005cd9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>342</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>714</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005922, 0x00002e7f)</Identifier> @@ -1331,24 +1062,6 @@ <BoxIdentifier>(0x000045e9, 0x00003a99)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>252</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>267</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>928</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000687a, 0x00000efb)</Identifier> @@ -1360,24 +1073,6 @@ <BoxIdentifier>(0x00004f7f, 0x000035b1)</BoxIdentifier> <BoxInputIndex>3</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>574</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>342</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>518</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000077bc, 0x00006b79)</Identifier> @@ -1389,24 +1084,6 @@ <BoxIdentifier>(0x00001c2b, 0x000032e5)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>305</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1425,11 +1102,11 @@ to make sure the amp or AS hasn't crashed <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>224.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>144.000000</Value> + <Value>144</Value> </Attribute> </Attributes> </Comment> @@ -1440,11 +1117,11 @@ what is displayed and when</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1232.000000</Value> + <Value>1232</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>128.000000</Value> + <Value>128</Value> </Attribute> </Attributes> </Comment> @@ -1454,11 +1131,11 @@ what is displayed and when</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>712.000000</Value> + <Value>712</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>48.000000</Value> + <Value>48</Value> </Attribute> </Attributes> </Comment> @@ -1474,11 +1151,11 @@ doesn't receive the same markers twice.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1024.000000</Value> + <Value>1024</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> </Attributes> </Comment> @@ -1487,7 +1164,7 @@ doesn't receive the same markers twice.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00001c2b, 0x000032e5)","childCount":0,"identifier":"(0x0000051c, 0x000021be)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x000045e9, 0x00003a99)","childCount":0,"identifier":"(0x000021b3, 0x0000695a)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007ad6, 0x00004865)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000025c7, 0x00007b2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad6, 0x00004865)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000334d, 0x00001f2e)","index":0,"name":"Empty","parentIdentifier":"(0x000025c7, 0x00007b2b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x00001c2b, 0x000032e5)","childCount":0,"identifier":"(0x0000051c, 0x000021be)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x000045e9, 0x00003a99)","childCount":0,"identifier":"(0x000021b3, 0x0000695a)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007ad6, 0x00004865)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000025c7, 0x00007b2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad6, 0x00004865)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000334d, 0x00001f2e)","index":0,"name":"Empty","parentIdentifier":"(0x000025c7, 0x00007b2b)","type":0}]</Data> </Entry> </Metadata> <Attributes> @@ -1516,4 +1193,4 @@ doesn't receive the same markers twice.</Text> <Value>Inria</Value> </Attribute> </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/demos/erp-recording/bci-examples/erp-recording/erp-3-replay-file.xml b/applications/demos/erp-recording/bci-examples/erp-recording/erp-3-replay-file.xml index c0b8ec387889cf264077708a57cf81d19508d310..69fe072ebfa2f92988dbe62c74d099cd89830b22 100644 --- a/applications/demos/erp-recording/bci-examples/erp-recording/erp-3-replay-file.xml +++ b/applications/demos/erp-recording/bci-examples/erp-recording/erp-3-replay-file.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.3.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000003fe, 0x00000ecb)</Identifier> @@ -89,15 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,10 +106,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>100</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -147,24 +142,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>136</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -221,15 +208,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>175.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>175</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -239,10 +222,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -269,24 +248,6 @@ <BoxIdentifier>(0x000003fe, 0x00000ecb)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>566</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>559</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001546, 0x000066da)</Identifier> @@ -298,24 +259,6 @@ <BoxIdentifier>(0x000037b1, 0x000072fb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>536</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>416</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002351, 0x00001e6b)</Identifier> @@ -327,24 +270,6 @@ <BoxIdentifier>(0x000003fe, 0x00000ecb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>521</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>529</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005ba6, 0x00007ece)</Identifier> @@ -356,24 +281,6 @@ <BoxIdentifier>(0x000003fe, 0x00000ecb)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>536</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -381,7 +288,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x000003fe, 0x00000ecb)","childCount":0,"identifier":"(0x00004ed7, 0x00002591)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ad6, 0x00004865)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000025c7, 0x00007b2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad6, 0x00004865)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000334d, 0x00001f2e)","index":0,"name":"Empty","parentIdentifier":"(0x000025c7, 0x00007b2b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x000003fe, 0x00000ecb)","childCount":0,"identifier":"(0x00004ed7, 0x00002591)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ad6, 0x00004865)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000025c7, 0x00007b2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad6, 0x00004865)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000334d, 0x00001f2e)","index":0,"name":"Empty","parentIdentifier":"(0x000025c7, 0x00007b2b)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-0-signal-monitoring.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-0-signal-monitoring.xml index f6815ea44c93f9d323ee114a8936a2786399b8d1..806e2e5486a028dab4535ce9f22da4341c964bab 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-0-signal-monitoring.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-0-signal-monitoring.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.0.2</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000007a2, 0x000015ab)</Identifier> @@ -89,15 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040.000000</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,14 +106,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>124</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -130,87 +121,8 @@ </Attributes> </Box> <Box> - <Identifier>(0x00001011, 0x000029a5)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xac367a9c, 0x2da95abe)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>67</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x006ca56c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x0000105e, 0x00007603)</Identifier> - <Name>Temporal filter</Name> + <Identifier>(0x00000ad5, 0x00000048)</Identifier> + <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -221,61 +133,47 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> + <Name>Filter Order</Name> <DefaultValue>4</DefaultValue> <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> + <Name>High Cut-off Frequency (Hz)</Name> <DefaultValue>40</DefaultValue> - <Value>40.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>40</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -283,15 +181,19 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>119</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0056a91f)</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -381,15 +283,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -399,10 +297,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>98</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -462,24 +356,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912.000000</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>136</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -497,236 +383,59 @@ </Boxes> <Links> <Link> - <Identifier>(0x000004fc, 0x00001d75)</Identifier> + <Identifier>(0x00000063, 0x000030a7)</Identifier> <Source> <BoxIdentifier>(0x00005792, 0x00005c0c)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> - <Target> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>897</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>928</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00001077, 0x00002042)</Identifier> - <Source> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> <Target> <BoxIdentifier>(0x000007a2, 0x000015ab)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1025</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000269d, 0x00005b82)</Identifier> + <Identifier>(0x00001e34, 0x00002326)</Identifier> <Source> - <BoxIdentifier>(0x0000105e, 0x00007603)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00005792, 0x00005c0c)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000007a2, 0x000015ab)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>275</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>832</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>913</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00002791, 0x00006c0c)</Identifier> + <Identifier>(0x00003980, 0x000057a2)</Identifier> <Source> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> + <BoxIdentifier>(0x00000ad5, 0x00000048)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00001a86, 0x00007cb2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>913</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>801</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003bae, 0x00001eed)</Identifier> + <Identifier>(0x00006aaa, 0x000062f7)</Identifier> <Source> <BoxIdentifier>(0x00005792, 0x00005c0c)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x00000ad5, 0x00000048)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>943</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004f68, 0x00003ee2)</Identifier> + <Identifier>(0x00006b7c, 0x0000022d)</Identifier> <Source> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> + <BoxIdentifier>(0x00005792, 0x00005c0c)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00001a86, 0x00007cb2)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>943</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>816</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00005550, 0x00005aee)</Identifier> - <Source> - <BoxIdentifier>(0x00001011, 0x000029a5)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000007a2, 0x000015ab)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>943</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1040</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00005e82, 0x00000023)</Identifier> - <Source> - <BoxIdentifier>(0x00005792, 0x00005c0c)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000105e, 0x00007603)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>897</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>239</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>832</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -762,11 +471,11 @@ and ensure that : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>944</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>32</Value> + <Value>64</Value> </Attribute> </Attributes> </Comment> @@ -779,11 +488,11 @@ used online.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>640</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>256</Value> + <Value>320</Value> </Attribute> </Attributes> </Comment> @@ -792,7 +501,7 @@ used online.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":635,"identifier":"(0x00002a99, 0x00002db8)","index":0,"name":"","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":783},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006615, 0x00007f04)","index":0,"name":"Default tab","parentIdentifier":"(0x00002a99, 0x00002db8)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":293,"identifier":"(0x000013c9, 0x00002d1a)","index":0,"maxDividerPosition":590,"name":"Vertical split","parentIdentifier":"(0x00006615, 0x00007f04)","type":4},{"boxIdentifier":"(0x00001a86, 0x00007cb2)","childCount":0,"identifier":"(0x00000d3a, 0x00003c74)","index":0,"parentIdentifier":"(0x000013c9, 0x00002d1a)","type":3},{"boxIdentifier":"(0x000007a2, 0x000015ab)","childCount":0,"identifier":"(0x000017eb, 0x0000380b)","index":1,"parentIdentifier":"(0x000013c9, 0x00002d1a)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":635,"identifier":"(0x00002a99, 0x00002db8)","name":"","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":783},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006615, 0x00007f04)","index":0,"name":"Default tab","parentIdentifier":"(0x00002a99, 0x00002db8)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":293,"identifier":"(0x000013c9, 0x00002d1a)","index":0,"maxDividerPosition":590,"name":"Vertical split","parentIdentifier":"(0x00006615, 0x00007f04)","type":4},{"boxIdentifier":"(0x00001a86, 0x00007cb2)","childCount":0,"identifier":"(0x00000d3a, 0x00003c74)","index":0,"parentIdentifier":"(0x000013c9, 0x00002d1a)","type":3},{"boxIdentifier":"(0x000007a2, 0x000015ab)","childCount":0,"identifier":"(0x000017eb, 0x0000380b)","index":1,"parentIdentifier":"(0x000013c9, 0x00002d1a)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-1-acquisition.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-1-acquisition.xml index cbe250383331b280f421aea43c988645a8d6a7f3..fdfc05e28a1965ef2ed8b695daa9b65fb3e965d7 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-1-acquisition.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-1-acquisition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -253,28 +253,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -539,11 +539,11 @@ appropriately to the EEG stream.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>304.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-112.000000</Value> + <Value>-112</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-2-train-CSP.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-2-train-CSP.xml index ea0fdc72c195782a629b197641c8f122d126ca6e..87870dbac456b00c8ae4c91f7d907a8bd2218713 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-2-train-CSP.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-2-train-CSP.xml @@ -1,11 +1,14 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x000016d5, 0x000033f1)</Identifier> - <Name>Temporal filter</Name> + <Identifier>(0x00002284, 0x000060ad)</Identifier> + <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -16,73 +19,55 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> + <Name>Filter Order</Name> <DefaultValue>4</DefaultValue> <Value>5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> <Value>8</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> + <Name>High Cut-off Frequency (Hz)</Name> <DefaultValue>40</DefaultValue> <Value>30</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>896</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -90,7 +75,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -129,15 +114,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-128</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>992</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -151,10 +132,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -215,23 +192,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>145</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -306,22 +275,14 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>112</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>992</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x4b49a133, 0x42f38d94)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>172</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -382,23 +343,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1104</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>145</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -448,15 +401,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-336</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>992</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -466,10 +415,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005e1c11)</Value> @@ -505,24 +450,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>992</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -545,24 +482,6 @@ <BoxIdentifier>(0x00004125, 0x0000536f)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>7</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>872</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>992</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000017e6, 0x00004537)</Identifier> @@ -574,82 +493,28 @@ <BoxIdentifier>(0x00005277, 0x000014a2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-105</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>984</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-37</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1096</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003ec1, 0x00007d99)</Identifier> + <Identifier>(0x00002b40, 0x00000dc0)</Identifier> <Source> - <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00002284, 0x000060ad)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000016d5, 0x000033f1)</BoxIdentifier> + <BoxIdentifier>(0x000027da, 0x00005cde)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>992</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>896</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000042fc, 0x00007f51)</Identifier> + <Identifier>(0x00003d1c, 0x00002220)</Identifier> <Source> - <BoxIdentifier>(0x000016d5, 0x000033f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000027da, 0x00005cde)</BoxIdentifier> + <BoxIdentifier>(0x00002284, 0x000060ad)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-206</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>896</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-149</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>984</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004a99, 0x00007f97)</Identifier> @@ -661,24 +526,6 @@ <BoxIdentifier>(0x00005277, 0x000014a2)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-105</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>999</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-37</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1111</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006640, 0x000019bb)</Identifier> @@ -690,24 +537,6 @@ <BoxIdentifier>(0x000027da, 0x00005cde)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>1007</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-149</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>999</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000068fa, 0x00007623)</Identifier> @@ -719,24 +548,6 @@ <BoxIdentifier>(0x00002d82, 0x00002d33)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-105</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>984</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-37</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>872</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006f78, 0x00003d05)</Identifier> @@ -748,24 +559,6 @@ <BoxIdentifier>(0x00002d82, 0x00002d33)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-105</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>999</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-37</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>887</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007621, 0x0000772e)</Identifier> @@ -777,24 +570,6 @@ <BoxIdentifier>(0x00004125, 0x0000536f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-105</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>999</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>977</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000077f9, 0x00001114)</Identifier> @@ -806,24 +581,6 @@ <BoxIdentifier>(0x0000743e, 0x000010d2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>130</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>992</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>176</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>992</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007a10, 0x000008c3)</Identifier> @@ -835,24 +592,6 @@ <BoxIdentifier>(0x00004125, 0x0000536f)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>7</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>1096</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1007</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -863,11 +602,11 @@ to the one you recorded before!</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1232.000000</Value> + <Value>1168</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-336.000000</Value> + <Value>-176</Value> </Attribute> </Attributes> </Comment> @@ -892,11 +631,11 @@ telling the <i>Player Controller</i> to pause the scenario.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>576.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-208.000000</Value> + <Value>-16</Value> </Attribute> </Attributes> </Comment> @@ -910,7 +649,7 @@ telling the <i>Player Controller</i> to pause the scenario.</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-400</Value> + <Value>-256</Value> </Attribute> </Attributes> </Comment> @@ -919,7 +658,7 @@ telling the <i>Player Controller</i> to pause the scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":400,"identifier":"(0x00001209, 0x000052ed)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":400},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002598, 0x00002e05)","index":0,"name":"Default tab","parentIdentifier":"(0x00001209, 0x000052ed)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000121e, 0x000031a2)","index":0,"name":"Empty","parentIdentifier":"(0x00002598, 0x00002e05)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":400,"identifier":"(0x00001209, 0x000052ed)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":400},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002598, 0x00002e05)","index":0,"name":"Default tab","parentIdentifier":"(0x00001209, 0x000052ed)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000121e, 0x000031a2)","index":0,"name":"Empty","parentIdentifier":"(0x00002598, 0x00002e05)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-3-classifier-trainer.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-3-classifier-trainer.xml index 6f5203b8464a37c1634e7bf841ddd1483509175a..e4efb381a830405c2bf93ff2f4a46aff6c2cc185 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-3-classifier-trainer.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-3-classifier-trainer.xml @@ -1,8 +1,178 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>30</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-128</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>816</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00006922, 0x000076a7)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>768</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00006922, 0x000076a8)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>960</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x024f66fc, 0x20e58fa8)</Identifier> <Name>Left trials</Name> @@ -51,21 +221,13 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>144</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>145</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -130,11 +292,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -156,10 +314,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/csp-spatial-filter.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>122</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -174,78 +328,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x04a03512, 0x1acdb2f3)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x0a5a6a4a, 0x1d92a778)</Identifier> <Name>Classifier trainer</Name> @@ -324,7 +406,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -352,24 +434,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864.000000</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9de21779, 0x37776c89)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -425,10 +499,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-64</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>864</Value> @@ -445,10 +515,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0017fc7a)</Value> @@ -460,247 +526,52 @@ </Attributes> </Box> <Box> - <Identifier>(0x1a3f9b29, 0x7bb960b3)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x24757b65, 0x29027b6f)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x24757b65, 0x29027b6f)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x287d352b, 0x4f872476)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2f50951f, 0x121e5699)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001919ab)</Value> - </Attribute> </Attributes> </Box> <Box> @@ -737,15 +608,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-208.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864.000000</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -755,154 +622,12 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005e1c11)</Value> </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5783)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>30</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-128.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x3c4172c4, 0x6848868e)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001882b5)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x3df5daf3, 0x1ac83545)</Identifier> <Name>Time based epoching</Name> @@ -924,14 +649,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -944,10 +669,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>208</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>768</Value> @@ -956,10 +677,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>147</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00183f8d)</Value> @@ -987,14 +704,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1007,10 +724,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>208</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>960</Value> @@ -1019,10 +732,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>147</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0017fc72)</Value> @@ -1077,21 +786,13 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>144</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>960</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>145</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1107,78 +808,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5370ebed, 0x0c585b3e)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x588d7801, 0x046ccfd0)</Identifier> <Name>Feature aggregator</Name> @@ -1198,11 +827,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1212,10 +837,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1249,11 +870,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1263,10 +880,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1284,381 +897,136 @@ </Boxes> <Links> <Link> - <Identifier>(0x00e8c51f, 0x7307b641)</Identifier> - <Source> - <BoxIdentifier>(0x3c4172c4, 0x6848868e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x04a03512, 0x1acdb2f3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>338</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>347</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x04ce1e05, 0x6618d639)</Identifier> + <Identifier>(0x0000111a, 0x000058a4)</Identifier> <Source> - <BoxIdentifier>(0x287d352b, 0x4f872476)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00006922, 0x000076a8)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> <BoxIdentifier>(0x588d7801, 0x046ccfd0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>391</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>427</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>960</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x15759e10, 0x340cf814)</Identifier> + <Identifier>(0x00004a0a, 0x0000045b)</Identifier> <Source> - <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00006922, 0x000076a7)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> + <BoxIdentifier>(0x5bdc6ef9, 0x5aa3869a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-41</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>849</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x28100d7e, 0x160f0e08)</Identifier> - <Source> - <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-41</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>967</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x30874552, 0x325b714b)</Identifier> + <Identifier>(0x00004e62, 0x000059b7)</Identifier> <Source> - <BoxIdentifier>(0x024f66fc, 0x20e58fa8)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> - <Target> - <BoxIdentifier>(0x3df5daf3, 0x1ac83545)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>167</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>760</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x30d28136, 0x1f69c6b4)</Identifier> - <Source> - <BoxIdentifier>(0x312e1662, 0x0673d431)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> <Target> <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-185</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>879</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-85</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>871</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x313a4ad2, 0x56bc07db)</Identifier> + <Identifier>(0x0000526d, 0x000036f4)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-110</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-85</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>856</Value> - </Attribute> - </Attributes> + <BoxIdentifier>(0x479f679f, 0x4034ae9f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006922, 0x000076a8)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> + </Target> </Link> <Link> - <Identifier>(0x3160bce4, 0x0914bd54)</Identifier> + <Identifier>(0x00006601, 0x00002716)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> + <BoxIdentifier>(0x3df5daf3, 0x1ac83545)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x024f66fc, 0x20e58fa8)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006922, 0x000076a7)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>60</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>760</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x37d8fd2e, 0x06fefab6)</Identifier> + <Identifier>(0x00007017, 0x00006c51)</Identifier> <Source> - <BoxIdentifier>(0x04a03512, 0x1acdb2f3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x312e1662, 0x0673d431)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5bdc6ef9, 0x5aa3869a)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>391</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>427</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x44cb5f82, 0x735c7482)</Identifier> + <Identifier>(0x15759e10, 0x340cf814)</Identifier> <Source> - <BoxIdentifier>(0x5bdc6ef9, 0x5aa3869a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x28100d7e, 0x160f0e08)</Identifier> + <Source> + <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>471</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>864</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x44f06b2c, 0x76de91f1)</Identifier> + <Identifier>(0x30874552, 0x325b714b)</Identifier> <Source> - <BoxIdentifier>(0x5370ebed, 0x0c585b3e)</BoxIdentifier> + <BoxIdentifier>(0x024f66fc, 0x20e58fa8)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2f50951f, 0x121e5699)</BoxIdentifier> + <BoxIdentifier>(0x3df5daf3, 0x1ac83545)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>960</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x492bf2ad, 0x55e3beba)</Identifier> + <Identifier>(0x30d28136, 0x1f69c6b4)</Identifier> <Source> - <BoxIdentifier>(0x3df5daf3, 0x1ac83545)</BoxIdentifier> + <BoxIdentifier>(0x312e1662, 0x0673d431)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x122ee495, 0x1815b528)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x3160bce4, 0x0914bd54)</Identifier> + <Source> + <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1a3f9b29, 0x7bb960b3)</BoxIdentifier> + <BoxIdentifier>(0x024f66fc, 0x20e58fa8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x4e615cc5, 0x614b5cc1)</Identifier> + <Identifier>(0x44cb5f82, 0x735c7482)</Identifier> <Source> - <BoxIdentifier>(0x479f679f, 0x4034ae9f)</BoxIdentifier> + <BoxIdentifier>(0x5bdc6ef9, 0x5aa3869a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5370ebed, 0x0c585b3e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>960</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x514389a6, 0x441cd26b)</Identifier> @@ -1670,24 +1038,6 @@ <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>60</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>952</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x5dbeaea6, 0x410f90ca)</Identifier> @@ -1699,24 +1049,6 @@ <BoxIdentifier>(0x024f66fc, 0x20e58fa8)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-41</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>775</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x5eea855c, 0x250861a8)</Identifier> @@ -1728,24 +1060,6 @@ <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-41</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>856</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>864</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x61ac1023, 0x7f32c06b)</Identifier> @@ -1757,24 +1071,6 @@ <BoxIdentifier>(0x479f679f, 0x4034ae9f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>167</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>952</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>960</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x621ab2f1, 0x729e8025)</Identifier> @@ -1786,82 +1082,6 @@ <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>471</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>879</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x6a37d427, 0x667a2e29)</Identifier> - <Source> - <BoxIdentifier>(0x1a3f9b29, 0x7bb960b3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3c4172c4, 0x6848868e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x6d36bf35, 0x589752d1)</Identifier> - <Source> - <BoxIdentifier>(0x2f50951f, 0x121e5699)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x287d352b, 0x4f872476)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>338</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>347</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>960</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x75fc2227, 0x282c4631)</Identifier> @@ -1873,53 +1093,6 @@ <BoxIdentifier>(0x24757b65, 0x29027b6f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>567</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>592</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>864</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x7f026ae0, 0x522c4ec6)</Identifier> - <Source> - <BoxIdentifier>(0x312e1662, 0x0673d431)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-185</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-144</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1930,11 +1103,11 @@ to the one you recorded before!</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1104.000000</Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-192.000000</Value> + <Value>-192</Value> </Attribute> </Attributes> </Comment> @@ -1958,11 +1131,11 @@ If this performance is lower than 65%, just run a new <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>416.000000</Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-160.000000</Value> + <Value>-16</Value> </Attribute> </Attributes> </Comment> @@ -1994,11 +1167,11 @@ classifier trainer scenario</i></small></Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>416.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>288.000000</Value> + <Value>144</Value> </Attribute> </Attributes> </Comment> @@ -2014,11 +1187,11 @@ to stop the scenario through a <b><i>Player Controller</i>< <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>400</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>560</Value> + <Value>416</Value> </Attribute> </Attributes> </Comment> @@ -2029,11 +1202,11 @@ scenario is used prior to the feature extraction.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>416.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>32.000000</Value> + <Value>-80</Value> </Attribute> </Attributes> </Comment> @@ -2043,11 +1216,11 @@ scenario is used prior to the feature extraction.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>912</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-288</Value> + <Value>-256</Value> </Attribute> </Attributes> </Comment> @@ -2056,7 +1229,7 @@ scenario is used prior to the feature extraction.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x654b96a2, 0x47f682cd)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x2789bef1, 0x33acf367)","index":0,"name":"Default tab","parentIdentifier":"(0x654b96a2, 0x47f682cd)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x2941df8e, 0x6c7a2a1d)","index":0,"name":"Empty","parentIdentifier":"(0x2789bef1, 0x33acf367)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x654b96a2, 0x47f682cd)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x2789bef1, 0x33acf367)","index":0,"name":"Default tab","parentIdentifier":"(0x654b96a2, 0x47f682cd)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x2941df8e, 0x6c7a2a1d)","index":0,"name":"Empty","parentIdentifier":"(0x2789bef1, 0x33acf367)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-4-online.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-4-online.xml index 9a2d8734378c26e723b641b2bb5cd844d81664ff..be06959ad9797992f2afa52a2eca046a06dd8278 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-4-online.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-4-online.xml @@ -1,91 +1,118 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x00c4af19, 0x360e4025)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000042f8, 0x00003c08)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x14e0f923, 0x0df1c5d6)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>30</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-160</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -93,16 +120,12 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> @@ -150,11 +173,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-288</Value> + <Value>-256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -191,14 +214,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -209,11 +232,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -266,7 +289,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>832</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -335,11 +358,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -390,11 +413,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -454,11 +477,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -546,28 +569,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -578,11 +601,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -610,157 +633,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1a9)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x661c8098, 0x37ddbba0)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>30</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-160</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6e3a7dec, 0x7cf506cf)</Identifier> <Name>Graz visualization</Name> @@ -828,11 +700,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -859,25 +731,36 @@ </Boxes> <Links> <Link> - <Identifier>(0x000046de, 0x000007d4)</Identifier> + <Identifier>(0x000012c9, 0x00006fa1)</Identifier> <Source> - <BoxIdentifier>(0x32a27c59, 0x7f1e980d)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000042f8, 0x00003c08)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x3eea244d, 0x54616491)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x5a8c1c13, 0x68a2baa7)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000051d6, 0x00003d9a)</Identifier> + <Identifier>(0x00002175, 0x000030ff)</Identifier> <Source> - <BoxIdentifier>(0x661c8098, 0x37ddbba0)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4a392c61, 0x765069ec)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000042f8, 0x00003c08)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x000046de, 0x000007d4)</Identifier> + <Source> + <BoxIdentifier>(0x32a27c59, 0x7f1e980d)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x3eea244d, 0x54616491)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> @@ -892,24 +775,24 @@ </Target> </Link> <Link> - <Identifier>(0x079f2cb9, 0x48d845f3)</Identifier> + <Identifier>(0x00005f57, 0x000004ce)</Identifier> <Source> - <BoxIdentifier>(0x32a27c59, 0x7f1e980d)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x661c8098, 0x37ddbba0)</BoxIdentifier> + <BoxIdentifier>(0x4a392c61, 0x765069ec)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1ffeda13, 0x64e650ab)</Identifier> + <Identifier>(0x00006ca5, 0x00003f5d)</Identifier> <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x32a27c59, 0x7f1e980d)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -924,17 +807,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d4)</Identifier> - <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x4974c8f6, 0x44a49857)</Identifier> <Source> @@ -968,17 +840,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x6de2fa86, 0x52bb1938)</Identifier> - <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x75200afd, 0x542620b3)</Identifier> <Source> @@ -990,17 +851,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7f9a37a2, 0x75d653ba)</Identifier> - <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x5a8c1c13, 0x68a2baa7)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments> <Comment> @@ -1009,11 +859,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>640</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-368</Value> + <Value>-304</Value> </Attribute> </Attributes> </Comment> @@ -1039,11 +889,11 @@ classifier trainer scenario</i></small></Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>240</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>176</Value> + <Value>-32</Value> </Attribute> </Attributes> </Comment> @@ -1060,11 +910,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>320.000000</Value> + <Value>1024</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-176.000000</Value> + <Value>-48</Value> </Attribute> </Attributes> </Comment> @@ -1084,11 +934,11 @@ class. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>240</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>448</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -1099,11 +949,11 @@ scenario is used prior to the feature extraction.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>240</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-16</Value> + <Value>-208</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-5-replay.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-5-replay.xml index b4e86750e65d21dc67a8f2efc9e05a07dd10b3bc..0773f901167e71f3f80ae151250f4a47c61c1afb 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-5-replay.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery-CSP/mi-csp-5-replay.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -27,14 +27,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -45,7 +45,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -145,11 +145,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>479</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -212,7 +212,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>duration</Name> <DefaultValue>4.0</DefaultValue> - <Value>4.0</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -223,11 +223,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -259,74 +259,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x0000079c, 0x00005479)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004c4c0d)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00001124, 0x00007915)</Identifier> <Name>Stream Switch</Name> @@ -381,11 +313,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-128</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -470,11 +402,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>559</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -536,7 +468,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -585,11 +517,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>560</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -662,7 +594,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -703,31 +635,28 @@ </Attributes> </Box> <Box> - <Identifier>(0x0000368c, 0x0000054c)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x000042f8, 0x00003c08)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>240</Value> @@ -737,32 +666,63 @@ <Value>640</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000043ad, 0x00005e02)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> <Value></Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004e7e49)</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>368</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>528</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x005a1d73)</Value> </Attribute> <Attribute> <Identifier>(0xfba64161, 0x65304e21)</Identifier> @@ -771,27 +731,19 @@ </Attributes> </Box> <Box> - <Identifier>(0x000043ad, 0x00005e02)</Identifier> + <Identifier>(0x000043ad, 0x00005e03)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input stream 1</Name> </Input> </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output stream 1</Name> </Output> </Outputs> <Attributes> @@ -801,7 +753,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-144</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -829,6 +781,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>30</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-64</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>640</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000545c, 0x00005cb8)</Identifier> <Name>Feature aggregator</Name> @@ -893,11 +922,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>671</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -964,11 +993,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>623</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -988,132 +1017,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00006732, 0x00007630)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>30</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x01297a6b)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x00007377, 0x00000002)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0050b081)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x1c7891ae, 0x64ebeedf)</Identifier> <Name>Graz visualization</Name> @@ -1181,11 +1084,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1280,101 +1183,101 @@ </Boxes> <Links> <Link> - <Identifier>(0x000002ee, 0x00005db9)</Identifier> + <Identifier>(0x00000204, 0x00006f7a)</Identifier> <Source> - <BoxIdentifier>(0x00001988, 0x0000550d)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000042f8, 0x00003c08)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00006732, 0x00007630)</BoxIdentifier> + <BoxIdentifier>(0x0000545c, 0x00005cb8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000003fb, 0x000047fe)</Identifier> + <Identifier>(0x00000a11, 0x000076e8)</Identifier> <Source> - <BoxIdentifier>(0x00007377, 0x00000002)</BoxIdentifier> + <BoxIdentifier>(0x0000041b, 0x00004394)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000368c, 0x0000054c)</BoxIdentifier> + <BoxIdentifier>(0x000011ba, 0x0000150f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000948, 0x00000383)</Identifier> + <Identifier>(0x00001788, 0x0000345a)</Identifier> <Source> - <BoxIdentifier>(0x0000079c, 0x00005479)</BoxIdentifier> + <BoxIdentifier>(0x000043ad, 0x00005e03)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007377, 0x00000002)</BoxIdentifier> + <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000a11, 0x000076e8)</Identifier> + <Identifier>(0x00001d11, 0x00003f92)</Identifier> <Source> - <BoxIdentifier>(0x0000041b, 0x00004394)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000011ba, 0x0000150f)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002eee, 0x00004d50)</Identifier> + <Identifier>(0x00001d5b, 0x000021b8)</Identifier> <Source> - <BoxIdentifier>(0x00001988, 0x0000550d)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002a91, 0x00000f38)</BoxIdentifier> + <BoxIdentifier>(0x0000041b, 0x00004394)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00003301, 0x00003b8f)</Identifier> + <Identifier>(0x00002884, 0x0000594f)</Identifier> <Source> - <BoxIdentifier>(0x00000483, 0x00002eb9)</BoxIdentifier> + <BoxIdentifier>(0x000043ad, 0x00005e03)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> + <BoxIdentifier>(0x00002a91, 0x00000f38)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000036ad, 0x000016e4)</Identifier> + <Identifier>(0x00002888, 0x000037da)</Identifier> <Source> <BoxIdentifier>(0x00000043, 0x00007650)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000079c, 0x00005479)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000042f8, 0x00003c08)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000037ca, 0x0000376b)</Identifier> + <Identifier>(0x00003301, 0x00003b8f)</Identifier> <Source> - <BoxIdentifier>(0x00001988, 0x0000550d)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00000483, 0x00002eb9)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00000483, 0x00002eb9)</BoxIdentifier> + <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00003ac6, 0x00000e82)</Identifier> + <Identifier>(0x000037ca, 0x0000376b)</Identifier> <Source> - <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00001988, 0x0000550d)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000041b, 0x00004394)</BoxIdentifier> + <BoxIdentifier>(0x00000483, 0x00002eb9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1390,25 +1293,14 @@ </Target> </Link> <Link> - <Identifier>(0x000045ce, 0x00001ae9)</Identifier> + <Identifier>(0x00004d92, 0x000070fc)</Identifier> <Source> <BoxIdentifier>(0x00001988, 0x0000550d)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00004b17, 0x00005ab2)</Identifier> - <Source> - <BoxIdentifier>(0x00006732, 0x00007630)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000043ad, 0x00005e03)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> @@ -1434,24 +1326,35 @@ </Target> </Link> <Link> - <Identifier>(0x00007915, 0x000064f0)</Identifier> + <Identifier>(0x000066ff, 0x00003e1b)</Identifier> <Source> - <BoxIdentifier>(0x0000041b, 0x00004394)</BoxIdentifier> + <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000055d7, 0x000022f8)</BoxIdentifier> + <BoxIdentifier>(0x1c7891ae, 0x64ebeedf)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000079d9, 0x00005bbe)</Identifier> + <Identifier>(0x00007204, 0x00000c0e)</Identifier> <Source> - <BoxIdentifier>(0x0000368c, 0x0000054c)</BoxIdentifier> + <BoxIdentifier>(0x00001988, 0x0000550d)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00007915, 0x000064f0)</Identifier> + <Source> + <BoxIdentifier>(0x0000041b, 0x00004394)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000545c, 0x00005cb8)</BoxIdentifier> + <BoxIdentifier>(0x000055d7, 0x000022f8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1499,17 +1402,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x63eabb71, 0x3166b393)</Identifier> - <Source> - <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1c7891ae, 0x64ebeedf)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments> <Comment> @@ -1525,11 +1417,11 @@ This is achieved by the switch above.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1024.000000</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>384.000000</Value> + <Value>240</Value> </Attribute> </Attributes> </Comment> @@ -1555,11 +1447,11 @@ classifier trainer scenario</i></small></Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>259.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>192.000000</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -1570,11 +1462,11 @@ scenario is used prior to the feature extraction.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>259.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>0.000000</Value> + <Value>32</Value> </Attribute> </Attributes> </Comment> @@ -1584,11 +1476,11 @@ scenario is used prior to the feature extraction.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>592</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-368</Value> + <Value>-208</Value> </Attribute> </Attributes> </Comment> @@ -1607,11 +1499,11 @@ computes the global performance of the classifier.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1024.000000</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>608.000000</Value> + <Value>416</Value> </Attribute> </Attributes> </Comment> @@ -1628,11 +1520,11 @@ during <b>time</b>, and for <b>each class</b>.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>272.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-224.000000</Value> + <Value>-96</Value> </Attribute> </Attributes> </Comment> @@ -1651,11 +1543,11 @@ i.e. nothing.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1056.000000</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-192.000000</Value> + <Value>64</Value> </Attribute> </Attributes> </Comment> @@ -1675,11 +1567,11 @@ class. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>256.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>576.000000</Value> + <Value>448</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-0-signal-monitoring.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-0-signal-monitoring.xml index b1a5eef1c2f01cdd3af03304defb93ddb57e12db..bc6d44bde153508d3c987957e1c3544f657bbd67 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-0-signal-monitoring.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-0-signal-monitoring.xml @@ -1,40 +1,57 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.0.2</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x00002f18, 0x00001286)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00005084, 0x00000763)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -42,39 +59,27 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xac367a9c, 0x2da95abe)</Identifier> - <Value>6</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>67</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -123,24 +128,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>960.000000</Value> + <Value>960</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>136</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -241,15 +238,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>543.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880.000000</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -259,10 +252,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -277,89 +266,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00006ead, 0x00003c67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>832</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>119</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00007c73, 0x00000356)</Identifier> <Name>Raw</Name> @@ -446,15 +352,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>992.000000</Value> + <Value>992</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -464,14 +366,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -489,236 +383,59 @@ </Boxes> <Links> <Link> - <Identifier>(0x00000753, 0x000018d0)</Identifier> + <Identifier>(0x00000b80, 0x00006e78)</Identifier> <Source> - <BoxIdentifier>(0x00006ead, 0x00003c67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00005659, 0x0000361f)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00005c3e, 0x00007498)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>275</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>832</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>913</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00000ec5, 0x00003e89)</Identifier> + <Identifier>(0x00001ca2, 0x00004f55)</Identifier> <Source> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> + <BoxIdentifier>(0x00005084, 0x00000763)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00005c3e, 0x00007498)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>913</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>513</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>865</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000136c, 0x0000090f)</Identifier> + <Identifier>(0x00001efd, 0x00001f75)</Identifier> <Source> <BoxIdentifier>(0x00005659, 0x0000361f)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006ead, 0x00003c67)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>945</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>239</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>832</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00001c54, 0x00000572)</Identifier> - <Source> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005c3e, 0x00007498)</BoxIdentifier> + <BoxIdentifier>(0x00007c73, 0x00000356)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>943</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>513</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>880</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000039c1, 0x00001feb)</Identifier> + <Identifier>(0x000023c4, 0x00002ff7)</Identifier> <Source> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> + <BoxIdentifier>(0x00005659, 0x0000361f)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00007c73, 0x00000356)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>977</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005e63, 0x00002c5c)</Identifier> - <Source> - <BoxIdentifier>(0x00005659, 0x0000361f)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>943</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00006235, 0x0000125e)</Identifier> + <Identifier>(0x000042c4, 0x00004582)</Identifier> <Source> <BoxIdentifier>(0x00005659, 0x0000361f)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>945</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>928</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00007df2, 0x00006240)</Identifier> - <Source> - <BoxIdentifier>(0x00002f18, 0x00001286)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00007c73, 0x00000356)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00005084, 0x00000763)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>943</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>514</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>992</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -784,7 +501,7 @@ and ensure that : <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":635,"identifier":"(0x0000553d, 0x000030ba)","index":0,"name":"signals","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":783},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000018cd, 0x00004f25)","index":0,"name":"tab","parentIdentifier":"(0x0000553d, 0x000030ba)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":293,"identifier":"(0x00001b03, 0x00002a97)","index":0,"maxDividerPosition":590,"name":"Vertical split","parentIdentifier":"(0x000018cd, 0x00004f25)","type":4},{"boxIdentifier":"(0x00007c73, 0x00000356)","childCount":0,"identifier":"(0x00002e79, 0x000049e3)","index":0,"parentIdentifier":"(0x00001b03, 0x00002a97)","type":3},{"boxIdentifier":"(0x00005c3e, 0x00007498)","childCount":0,"identifier":"(0x00000c4b, 0x00007127)","index":1,"parentIdentifier":"(0x00001b03, 0x00002a97)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":635,"identifier":"(0x0000553d, 0x000030ba)","name":"signals","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":783},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000018cd, 0x00004f25)","index":0,"name":"tab","parentIdentifier":"(0x0000553d, 0x000030ba)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":293,"identifier":"(0x00001b03, 0x00002a97)","index":0,"maxDividerPosition":590,"name":"Vertical split","parentIdentifier":"(0x000018cd, 0x00004f25)","type":4},{"boxIdentifier":"(0x00007c73, 0x00000356)","childCount":0,"identifier":"(0x00002e79, 0x000049e3)","index":0,"parentIdentifier":"(0x00001b03, 0x00002a97)","type":3},{"boxIdentifier":"(0x00005c3e, 0x00007498)","childCount":0,"identifier":"(0x00000c4b, 0x00007127)","index":1,"parentIdentifier":"(0x00001b03, 0x00002a97)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-1-acquisition.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-1-acquisition.xml index 7a2de6505323111a499e56676917610caaaebf59..6e54a254ca007e746a05a805dd15245788296255 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-1-acquisition.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-1-acquisition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -70,28 +70,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -495,11 +495,11 @@ appropriately to the EEG stream.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>288.000000</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-128.000000</Value> + <Value>-128</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-2-classifier-trainer.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-2-classifier-trainer.xml index e70c94c4dade72380331dbb3d78cc6af813de7ef..cdc21b34f99361f6e33aa71292e416cac045d4a7 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-2-classifier-trainer.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-2-classifier-trainer.xml @@ -1,8 +1,178 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000015e0, 0x00000d50)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000015e0, 0x00000d51)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>128</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000068f8, 0x00001003)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>144</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x02e67945, 0x5ea8d309)</Identifier> <Name>Classifier trainer</Name> @@ -81,7 +251,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -109,24 +279,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>752.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9de21779, 0x37776c89)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -174,14 +336,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -195,11 +357,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -207,51 +365,49 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>189</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x09529b60, 0x70991eff)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x11a6038b, 0x7157c282)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-motor-imagery.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>480</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -259,27 +415,58 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x005e1c11)</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x1396fde6, 0x1c64974a)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> <Value></Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>384</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0017fc7a)</Value> </Attribute> <Attribute> <Identifier>(0xfba64161, 0x65304e21)</Identifier> @@ -288,38 +475,29 @@ </Attributes> </Box> <Box> - <Identifier>(0x1074abc4, 0x70c7daba)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x1396fde6, 0x1c64974b)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -331,275 +509,19 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0017fc7a)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x11a6038b, 0x7157c282)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-motor-imagery.ov</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-144</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x005e1c11)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1396fde6, 0x1c649749)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-80</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0017fc7a)</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1807c3c8, 0x2e5c15b2)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001919ab)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1a88b934, 0x580bfc30)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> @@ -634,11 +556,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -656,10 +574,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x001882ae)</Value> @@ -707,10 +621,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-32</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>256</Value> @@ -719,10 +629,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x7e39891d, 0x32cf5be7)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>132</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -762,14 +668,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -783,11 +689,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -795,11 +697,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>189</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -822,11 +720,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -836,10 +730,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -883,11 +773,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -897,10 +783,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -955,10 +837,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>16</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>256</Value> @@ -975,10 +853,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1014,14 +888,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1032,11 +906,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1046,10 +916,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>147</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0017fc72)</Value> @@ -1057,9 +923,9 @@ </Attributes> </Box> <Box> - <Identifier>(0x52e2d2a3, 0x4d9f5ea9)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x71322e63, 0x41ba161a)</Identifier> + <Name>Time based epoching</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1069,137 +935,7 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001882b5)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x71322e63, 0x41ba161a)</Identifier> - <Name>Time based epoching</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal 1</Name> + <Name>Epoched signal 1</Name> </Output> </Outputs> <Settings> @@ -1207,14 +943,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1225,11 +961,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1239,88 +971,12 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>147</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00183f8d)</Value> </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x75beae35, 0x606e8c20)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x75e5990a, 0x59c95a67)</Identifier> <Name>Feature aggregator</Name> @@ -1340,11 +996,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1354,10 +1006,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1421,11 +1069,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1443,10 +1087,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>125</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1464,758 +1104,246 @@ </Boxes> <Links> <Link> - <Identifier>(0x000045ca, 0x00002f8b)</Identifier> - <Source> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>731</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>241</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x017d7261, 0x49255256)</Identifier> - <Source> - <BoxIdentifier>(0x11a6038b, 0x7157c282)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1396fde6, 0x1c649749)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-121</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-101</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>504</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x06e5f642, 0x7af6948a)</Identifier> + <Identifier>(0x000002ac, 0x00003b6c)</Identifier> <Source> - <BoxIdentifier>(0x75beae35, 0x606e8c20)</BoxIdentifier> + <BoxIdentifier>(0x1396fde6, 0x1c64974a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1807c3c8, 0x2e5c15b2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>503</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x076b541e, 0x4295b37a)</Identifier> - <Source> - <BoxIdentifier>(0x1807c3c8, 0x2e5c15b2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1074abc4, 0x70c7daba)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>546</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>555</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x0fb9552e, 0x72e04408)</Identifier> - <Source> <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>248</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>376</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x1658a066, 0x2ce1e19e)</Identifier> + <Identifier>(0x00000bcb, 0x000013d8)</Identifier> <Source> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x11a6038b, 0x7157c282)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> + <BoxIdentifier>(0x1396fde6, 0x1c64974b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>248</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>120</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x17c7ef69, 0x6457db07)</Identifier> - <Source> - <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>663</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>731</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>256</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x1bb3cb29, 0x04e6f5f4)</Identifier> + <Identifier>(0x00002c46, 0x0000606f)</Identifier> <Source> - <BoxIdentifier>(0x1a88b934, 0x580bfc30)</BoxIdentifier> + <BoxIdentifier>(0x1396fde6, 0x1c64974b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> + <BoxIdentifier>(0x1396fde6, 0x1c64974a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>599</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>619</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>128</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x1e23e99e, 0x6b3cf5e0)</Identifier> + <Identifier>(0x00002d0f, 0x000022e8)</Identifier> <Source> - <BoxIdentifier>(0x2b88852d, 0x43d7a771)</BoxIdentifier> + <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5194b6cb, 0x7e001785)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d51)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-14</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-5</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>256</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x21356122, 0x4785d4bd)</Identifier> + <Identifier>(0x00003b7a, 0x00001288)</Identifier> <Source> - <BoxIdentifier>(0x1396fde6, 0x1c649749)</BoxIdentifier> + <BoxIdentifier>(0x11a6038b, 0x7157c282)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-57</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>519</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>219</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>263</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x2d71872c, 0x4af9aa82)</Identifier> - <Source> - <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x52a5790c, 0x13d24266)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a771)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>370</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>395</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x32d337b3, 0x44da5cbe)</Identifier> + <Identifier>(0x000045ca, 0x00002f8b)</Identifier> <Source> <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>391</Value> - </Attribute> - </Attributes> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> - <Identifier>(0x34a10a1a, 0x549b90c5)</Identifier> + <Identifier>(0x0000488a, 0x00006a61)</Identifier> <Source> - <BoxIdentifier>(0x1396fde6, 0x1c649749)</BoxIdentifier> + <BoxIdentifier>(0x76b6b638, 0x0c6e446a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2b88852d, 0x43d7a771)</BoxIdentifier> + <BoxIdentifier>(0x000068f8, 0x00001003)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-57</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>504</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-48</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>256</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x3bcdecce, 0x2f4ac910)</Identifier> + <Identifier>(0x000049c5, 0x00006acb)</Identifier> <Source> - <BoxIdentifier>(0x52e2d2a3, 0x4d9f5ea9)</BoxIdentifier> + <BoxIdentifier>(0x52a5790c, 0x13d24266)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1a88b934, 0x580bfc30)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d50)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>546</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>555</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>128</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x4dec0a97, 0x70c962ab)</Identifier> + <Identifier>(0x00006bef, 0x000055e9)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x000068f8, 0x00001003)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>219</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>248</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x4fe0a074, 0x3d4b5f31)</Identifier> + <Identifier>(0x000070b6, 0x00000551)</Identifier> <Source> - <BoxIdentifier>(0x52a5790c, 0x13d24266)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d51)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x75beae35, 0x606e8c20)</BoxIdentifier> + <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>439</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>459</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x51d497fe, 0x51620de7)</Identifier> + <Identifier>(0x000076e3, 0x00003cbc)</Identifier> <Source> - <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d50)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>663</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>731</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>271</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x539c3289, 0x4a4821c9)</Identifier> + <Identifier>(0x0fb9552e, 0x72e04408)</Identifier> <Source> - <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5045ebd9, 0x67325c0b)</BoxIdentifier> + <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>775</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>832</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>256</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x63796305, 0x4f357282)</Identifier> + <Identifier>(0x1658a066, 0x2ce1e19e)</Identifier> <Source> - <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> + <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>370</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>120</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>395</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>128</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x640c71b7, 0x1e64acbd)</Identifier> + <Identifier>(0x17c7ef69, 0x6457db07)</Identifier> <Source> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> + <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>263</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>135</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x6610ecd1, 0x258f3dbd)</Identifier> + <Identifier>(0x1e23e99e, 0x6b3cf5e0)</Identifier> <Source> - <BoxIdentifier>(0x76b6b638, 0x0c6e446a)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a771)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001785)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>124</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>144</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>256</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x6ed7fa34, 0x08297094)</Identifier> + <Identifier>(0x2d71872c, 0x4af9aa82)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001785)</BoxIdentifier> + <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x76b6b638, 0x0c6e446a)</BoxIdentifier> + <BoxIdentifier>(0x52a5790c, 0x13d24266)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>39</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>70</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>256</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x71e176ce, 0x7030de6a)</Identifier> + <Identifier>(0x32d337b3, 0x44da5cbe)</Identifier> <Source> - <BoxIdentifier>(0x1074abc4, 0x70c7daba)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> + <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x51d497fe, 0x51620de7)</Identifier> + <Source> <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>599</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>619</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x78701b64, 0x712c2db1)</Identifier> + <Identifier>(0x539c3289, 0x4a4821c9)</Identifier> <Source> - <BoxIdentifier>(0x09529b60, 0x70991eff)</BoxIdentifier> + <BoxIdentifier>(0x02e67945, 0x5ea8d309)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x52e2d2a3, 0x4d9f5ea9)</BoxIdentifier> + <BoxIdentifier>(0x5045ebd9, 0x67325c0b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>503</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>128</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x791e2919, 0x0c35d8ac)</Identifier> + <Identifier>(0x63796305, 0x4f357282)</Identifier> <Source> - <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> + <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x09529b60, 0x70991eff)</BoxIdentifier> + <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>439</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>459</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>128</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x7f0f3845, 0x79748fc5)</Identifier> + <Identifier>(0x640c71b7, 0x1e64acbd)</Identifier> <Source> - <BoxIdentifier>(0x11a6038b, 0x7157c282)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1396fde6, 0x1c649749)</BoxIdentifier> + <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-121</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>527</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-101</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>519</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x6ed7fa34, 0x08297094)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001785)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x76b6b638, 0x0c6e446a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> </Links> <Comments> @@ -2226,11 +1354,11 @@ to the one you recorded before!</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>736.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-144.000000</Value> + <Value>-144</Value> </Attribute> </Attributes> </Comment> @@ -2266,7 +1394,7 @@ classifier trainer scenario</i></small></Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>496</Value> + <Value>288</Value> </Attribute> </Attributes> </Comment> @@ -2293,7 +1421,7 @@ online scenario</i></small></Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96</Value> + <Value>-16</Value> </Attribute> </Attributes> </Comment> @@ -2303,11 +1431,11 @@ online scenario</i></small></Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>80.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-208.000000</Value> + <Value>-160</Value> </Attribute> </Attributes> </Comment> @@ -2331,11 +1459,11 @@ If this performance is lower than 65%, just run a new <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>736</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>160</Value> + <Value>48</Value> </Attribute> </Attributes> </Comment> @@ -2356,7 +1484,7 @@ used to stop the scenario with a <i><b>Player Controller</b>&l </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>784</Value> + <Value>576</Value> </Attribute> </Attributes> </Comment> @@ -2365,7 +1493,7 @@ used to stop the scenario with a <i><b>Player Controller</b>&l <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0c60317a, 0x7480157f)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4eff2d5e, 0x057e5a93)","index":0,"name":"Default tab","parentIdentifier":"(0x0c60317a, 0x7480157f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00b5ee2a, 0x40e0a42c)","index":0,"name":"Empty","parentIdentifier":"(0x4eff2d5e, 0x057e5a93)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0c60317a, 0x7480157f)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4eff2d5e, 0x057e5a93)","index":0,"name":"Default tab","parentIdentifier":"(0x0c60317a, 0x7480157f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00b5ee2a, 0x40e0a42c)","index":0,"name":"Empty","parentIdentifier":"(0x4eff2d5e, 0x057e5a93)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online-incremental.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online-incremental.xml index 8efcf5216c7c42b251ab6282910c7b4f91ae5141..b7e052181f4989d9cce8d7ba9e35623c8e787cb2 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online-incremental.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online-incremental.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -29,11 +29,74 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48</Value> + <Value>224</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>768</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00311280)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000009e5, 0x0000326f)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -69,6 +132,141 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000015e0, 0x00000d51)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000015e0, 0x00000d52)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>672</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000015e0, 0x00000d53)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>864</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00003ed2, 0x000000ab)</Identifier> <Name>Classifier trainer</Name> @@ -147,7 +345,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -175,11 +373,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -247,11 +445,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>672</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -279,6 +477,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00007b66, 0x0000049e)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>224</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x04fbf442, 0x73f1714a)</Identifier> <Name>Reference Channel</Name> @@ -314,11 +589,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -367,14 +642,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -388,7 +663,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -396,7 +671,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -405,430 +680,34 @@ </Attributes> </Box> <Box> - <Identifier>(0x09529b60, 0x70991eff)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x1a0ac1f5, 0x2780b3ba)</Identifier> + <Name>Time based epoching</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal 1</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002ca259)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x0b67ca3f, 0x2a759530)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-176</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>367</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00569d3e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>true</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x0b67ca3f, 0x2a759531)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-176</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00d961d4)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1074abc4, 0x70c7daba)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002c8ae8)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x178d65c9, 0x79dd6c95)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>30.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x009264a3)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1807c3c8, 0x2e5c15b2)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002c2d2a)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1a0ac1f5, 0x2780b3ba)</Identifier> - <Name>Time based epoching</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal 1</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch 1 duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch 1 duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -839,11 +718,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -855,74 +734,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x1a88b934, 0x580bfc30)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002ca824)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x413bfcbc, 0x6232e64c)</Identifier> <Name>Graz Motor Imagery BCI Stimulator</Name> @@ -987,102 +798,31 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>End of Trial Maximum Duration (in sec)</Name> - <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xd6e3f48b, 0xbee3523a)</Value> - </Attribute> - <Attribute> - <Identifier>(0x61d11811, 0x71e65362)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00fc79f1)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xf191c1c8, 0xa0123976)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x421b6208, 0x5c202058)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - </Outputs> + <Value>1.5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>End of Trial Maximum Duration (in sec)</Name> + <DefaultValue>3.500</DefaultValue> + <Value>3.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -1090,27 +830,39 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-64</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xd6e3f48b, 0xbee3523a)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004d8e06)</Value> + <Value>(0x00000000, 0x00fc79f1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xf191c1c8, 0xa0123976)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xfba64161, 0x65304e21)</Identifier> @@ -1160,11 +912,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1221,14 +973,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1242,15 +994,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -1277,7 +1029,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>563</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1326,14 +1078,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1344,7 +1096,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1360,41 +1112,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x52e2d2a3, 0x4d9f5ea9)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002c5628)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x5aeca777, 0x638f5d84)</Identifier> <Name>Surface Laplacian</Name> @@ -1444,11 +1161,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1514,11 +1231,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1542,74 +1259,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6492829d, 0x1e24b4da)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00526d72)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6964e610, 0x45e898f1)</Identifier> <Name>Graz visualization</Name> @@ -1677,11 +1326,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>768</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1705,74 +1354,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6fa99403, 0x5d1e43cf)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00afbebb)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -1794,14 +1375,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1812,11 +1393,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1873,7 +1454,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1938,11 +1519,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-47</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1950,83 +1531,15 @@ </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0122d781)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x75beae35, 0x606e8c20)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002c850d)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0122d781)</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xfba64161, 0x65304e21)</Identifier> @@ -2053,11 +1566,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -2081,41 +1594,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x7847d16b, 0x67e6919b)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00720b56)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x793df69e, 0x0103251a)</Identifier> <Name>Feature aggregator</Name> @@ -2135,11 +1613,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -2166,80 +1644,80 @@ </Boxes> <Links> <Link> - <Identifier>(0x00000395, 0x00003649)</Identifier> + <Identifier>(0x00000192, 0x0000302f)</Identifier> <Source> - <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x71ba6a0d, 0x3efa7d76)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0b67ca3f, 0x2a759530)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x72b5d43b, 0x7fb6910f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000008fb, 0x00001252)</Identifier> + <Identifier>(0x00000d58, 0x00006444)</Identifier> <Source> - <BoxIdentifier>(0x178d65c9, 0x79dd6c95)</BoxIdentifier> + <BoxIdentifier>(0x00007b66, 0x0000049e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> + <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000009e8, 0x00000e63)</Identifier> + <Identifier>(0x00000ee2, 0x00001ff5)</Identifier> <Source> - <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> + <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0b67ca3f, 0x2a759530)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003ed2, 0x000000ab)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000b58, 0x00003fc4)</Identifier> + <Identifier>(0x00001708, 0x00004269)</Identifier> <Source> - <BoxIdentifier>(0x421b6208, 0x5c202058)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d51)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x04fbf442, 0x73f1714a)</BoxIdentifier> + <BoxIdentifier>(0x793df69e, 0x0103251a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000ee2, 0x00001ff5)</Identifier> + <Identifier>(0x000017da, 0x00007110)</Identifier> <Source> - <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d52)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00003ed2, 0x000000ab)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000120b, 0x00002dc1)</Identifier> + <Identifier>(0x00001980, 0x00007345)</Identifier> <Source> - <BoxIdentifier>(0x1074abc4, 0x70c7daba)</BoxIdentifier> + <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d52)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000015d4, 0x000074ed)</Identifier> + <Identifier>(0x000019d3, 0x00007504)</Identifier> <Source> - <BoxIdentifier>(0x71ba6a0d, 0x3efa7d76)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00007b66, 0x0000049e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> @@ -2254,13 +1732,13 @@ </Target> </Link> <Link> - <Identifier>(0x00001cdf, 0x00003e07)</Identifier> + <Identifier>(0x000022d9, 0x00000f6a)</Identifier> <Source> - <BoxIdentifier>(0x1a88b934, 0x580bfc30)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x71ba6a0d, 0x3efa7d76)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x75e5990a, 0x59c95a67)</BoxIdentifier> + <BoxIdentifier>(0x000009e5, 0x0000326f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2276,53 +1754,9 @@ </Target> </Link> <Link> - <Identifier>(0x000029c7, 0x000061a3)</Identifier> + <Identifier>(0x000027b7, 0x0000545b)</Identifier> <Source> <BoxIdentifier>(0x71ba6a0d, 0x3efa7d76)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00002c2f, 0x000043b2)</Identifier> - <Source> - <BoxIdentifier>(0x413bfcbc, 0x6232e64c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6964e610, 0x45e898f1)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00002e82, 0x000069ca)</Identifier> - <Source> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72b5d43b, 0x7fb6910f)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00002e85, 0x00001180)</Identifier> - <Source> - <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00003ed2, 0x000000ab)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00002fea, 0x00000821)</Identifier> - <Source> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -2331,75 +1765,64 @@ </Target> </Link> <Link> - <Identifier>(0x00003607, 0x00005c1b)</Identifier> - <Source> - <BoxIdentifier>(0x000009e5, 0x0000326e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00004486, 0x00007ac6)</Identifier> + <Identifier>(0x000027be, 0x00007bd6)</Identifier> <Source> <BoxIdentifier>(0x71ba6a0d, 0x3efa7d76)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> + <BoxIdentifier>(0x04fbf442, 0x73f1714a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004b2f, 0x000060a6)</Identifier> + <Identifier>(0x0000294d, 0x000006b8)</Identifier> <Source> - <BoxIdentifier>(0x178d65c9, 0x79dd6c95)</BoxIdentifier> + <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> + <BoxIdentifier>(0x00007b66, 0x0000049e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000060a0, 0x00001457)</Identifier> + <Identifier>(0x00002c2f, 0x000043b2)</Identifier> <Source> - <BoxIdentifier>(0x793df69e, 0x0103251a)</BoxIdentifier> + <BoxIdentifier>(0x413bfcbc, 0x6232e64c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000705e, 0x00005604)</BoxIdentifier> + <BoxIdentifier>(0x6964e610, 0x45e898f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006c6f, 0x00006a8d)</Identifier> + <Identifier>(0x00002e85, 0x00001180)</Identifier> <Source> - <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> + <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x178d65c9, 0x79dd6c95)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003ed2, 0x000000ab)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006ef2, 0x00001663)</Identifier> + <Identifier>(0x00003607, 0x00005c1b)</Identifier> <Source> <BoxIdentifier>(0x000009e5, 0x0000326e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> + <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000072e2, 0x00004c7d)</Identifier> + <Identifier>(0x00003a44, 0x00005c8e)</Identifier> <Source> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> + <BoxIdentifier>(0x71ba6a0d, 0x3efa7d76)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> @@ -2408,90 +1831,90 @@ </Target> </Link> <Link> - <Identifier>(0x000075aa, 0x00007297)</Identifier> + <Identifier>(0x00004655, 0x00003a6d)</Identifier> <Source> - <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x52a5790c, 0x13d24266)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0b67ca3f, 0x2a759530)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d53)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x00007925, 0x000001d5)</Identifier> + <Identifier>(0x00005093, 0x0000246d)</Identifier> <Source> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x421b6208, 0x5c202058)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d51)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000079ef, 0x0000404b)</Identifier> + <Identifier>(0x00005c96, 0x00005439)</Identifier> <Source> - <BoxIdentifier>(0x421b6208, 0x5c202058)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d53)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x000009e5, 0x0000326e)</BoxIdentifier> + <BoxIdentifier>(0x4cd78e38, 0x35301f84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007df6, 0x00004072)</Identifier> + <Identifier>(0x000060a0, 0x00001457)</Identifier> <Source> - <BoxIdentifier>(0x0b67ca3f, 0x2a759531)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x793df69e, 0x0103251a)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x421b6208, 0x5c202058)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000705e, 0x00005604)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x03b0182e, 0x28a00e60)</Identifier> + <Identifier>(0x00006ef2, 0x00001663)</Identifier> <Source> - <BoxIdentifier>(0x44c6fe5a, 0x0ee5bb56)</BoxIdentifier> + <BoxIdentifier>(0x000009e5, 0x0000326e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0841694e, 0x28e40f42)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06e5f642, 0x7af6948a)</Identifier> + <Identifier>(0x0000717d, 0x0000246f)</Identifier> <Source> - <BoxIdentifier>(0x75beae35, 0x606e8c20)</BoxIdentifier> + <BoxIdentifier>(0x00007b66, 0x0000049e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1807c3c8, 0x2e5c15b2)</BoxIdentifier> + <BoxIdentifier>(0x4c1eab6f, 0x0e8c522c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x076b541e, 0x4295b37a)</Identifier> + <Identifier>(0x00007bab, 0x00004776)</Identifier> <Source> - <BoxIdentifier>(0x1807c3c8, 0x2e5c15b2)</BoxIdentifier> + <BoxIdentifier>(0x000009e5, 0x0000326f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1074abc4, 0x70c7daba)</BoxIdentifier> + <BoxIdentifier>(0x000009e5, 0x0000326e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x19180ac5, 0x739b8505)</Identifier> + <Identifier>(0x03b0182e, 0x28a00e60)</Identifier> <Source> - <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> + <BoxIdentifier>(0x44c6fe5a, 0x0ee5bb56)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6fa99403, 0x5d1e43cf)</BoxIdentifier> + <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2517,50 +1940,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x3bcdecce, 0x2f4ac910)</Identifier> - <Source> - <BoxIdentifier>(0x52e2d2a3, 0x4d9f5ea9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1a88b934, 0x580bfc30)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x3d934ab6, 0x40dfd9e6)</Identifier> - <Source> - <BoxIdentifier>(0x7847d16b, 0x67e6919b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6492829d, 0x1e24b4da)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x4fe0a074, 0x3d4b5f31)</Identifier> - <Source> - <BoxIdentifier>(0x52a5790c, 0x13d24266)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x75beae35, 0x606e8c20)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x5f5fdf49, 0x0e7e8ddc)</Identifier> - <Source> - <BoxIdentifier>(0x6492829d, 0x1e24b4da)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x793df69e, 0x0103251a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x63796305, 0x4f357282)</Identifier> <Source> @@ -2583,50 +1962,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x6a456414, 0x658272b6)</Identifier> - <Source> - <BoxIdentifier>(0x6fa99403, 0x5d1e43cf)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x7847d16b, 0x67e6919b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x720deb5e, 0x09e29398)</Identifier> - <Source> - <BoxIdentifier>(0x178d65c9, 0x79dd6c95)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x78701b64, 0x712c2db1)</Identifier> - <Source> - <BoxIdentifier>(0x09529b60, 0x70991eff)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x52e2d2a3, 0x4d9f5ea9)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x791e2919, 0x0c35d8ac)</Identifier> - <Source> - <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x09529b60, 0x70991eff)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments> <Comment> @@ -2643,11 +1978,11 @@ of each class.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>-64.000000</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>608.000000</Value> + <Value>512</Value> </Attribute> </Attributes> </Comment> @@ -2671,11 +2006,11 @@ this part of the scenario</i></small> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>-16</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>352</Value> + <Value>288</Value> </Attribute> </Attributes> </Comment> @@ -2685,11 +2020,11 @@ this part of the scenario</i></small> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-320</Value> + <Value>-160</Value> </Attribute> </Attributes> </Comment> @@ -2708,11 +2043,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>0.000000</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-192.000000</Value> + <Value>-32</Value> </Attribute> </Attributes> </Comment> @@ -2732,11 +2067,11 @@ you may have to tune this part of the scenario</i></small> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>-16.000000</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>48.000000</Value> + <Value>48</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online.xml index 927c5a11c9bd01712f86fbf606f38146b21e6c2e..640dec0286a348302b066bbd88dbf87749f5a4a9 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-3-online.xml @@ -1,11 +1,133 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000015e0, 0x00000d51)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>288</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>496</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003dd2, 0x00002721)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>496</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00005008, 0x00001e3b)</Identifier> <Name>Classifier processor</Name> @@ -46,7 +168,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -172,7 +294,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-160</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -200,85 +322,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x178d65c9, 0x79dd6c95)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x016b7673)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x1a0ac1f5, 0x2780b3ba)</Identifier> <Name>Time based epoching</Name> @@ -300,14 +343,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -318,7 +361,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -362,7 +405,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -462,28 +505,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -494,11 +537,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -681,70 +724,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6492829d, 0x1e24b4da)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x65d24383, 0x61b7fd55)</Identifier> <Name>Graz visualization</Name> @@ -812,11 +791,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>784</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -840,70 +819,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6fa99403, 0x5d1e43cf)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71ba6a0d, 0x3efa7d76)</Identifier> <Name>Acquisition client</Name> @@ -949,7 +864,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1006,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-64</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1030,41 +945,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x7847d16b, 0x67e6919b)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x793df69e, 0x0103251a)</Identifier> <Name>Feature aggregator</Name> @@ -1084,7 +964,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1121,6 +1001,17 @@ <BoxInputIndex>2</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x0000226b, 0x000017ee)</Identifier> + <Source> + <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000015e0, 0x00000d51)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> + </Target> + </Link> <Link> <Identifier>(0x00002278, 0x00000b59)</Identifier> <Source> @@ -1132,6 +1023,28 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00003160, 0x000025a8)</Identifier> + <Source> + <BoxIdentifier>(0x000015e0, 0x00000d51)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x793df69e, 0x0103251a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003895, 0x00002593)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd2, 0x00002721)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00005e57, 0x00003458)</Identifier> <Source> @@ -1166,36 +1079,36 @@ </Target> </Link> <Link> - <Identifier>(0x03b0182e, 0x28a00e60)</Identifier> + <Identifier>(0x00006f02, 0x0000137e)</Identifier> <Source> - <BoxIdentifier>(0x44c6fe5a, 0x0ee5bb56)</BoxIdentifier> + <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> + <BoxIdentifier>(0x00003dd2, 0x00002721)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x188d2388, 0x2448dfbc)</Identifier> + <Identifier>(0x03b0182e, 0x28a00e60)</Identifier> <Source> - <BoxIdentifier>(0x1e45df99, 0x3627801c)</BoxIdentifier> + <BoxIdentifier>(0x44c6fe5a, 0x0ee5bb56)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x65d24383, 0x61b7fd55)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x19180ac5, 0x739b8505)</Identifier> + <Identifier>(0x188d2388, 0x2448dfbc)</Identifier> <Source> - <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> + <BoxIdentifier>(0x1e45df99, 0x3627801c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6fa99403, 0x5d1e43cf)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x65d24383, 0x61b7fd55)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> @@ -1220,17 +1133,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x3d934ab6, 0x40dfd9e6)</Identifier> - <Source> - <BoxIdentifier>(0x7847d16b, 0x67e6919b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6492829d, 0x1e24b4da)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x48b4e63f, 0x5b38bb95)</Identifier> <Source> @@ -1264,28 +1166,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5f5fdf49, 0x0e7e8ddc)</Identifier> - <Source> - <BoxIdentifier>(0x6492829d, 0x1e24b4da)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x793df69e, 0x0103251a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x609a5ac2, 0x1a7da35c)</Identifier> - <Source> - <BoxIdentifier>(0x5aeca777, 0x638f5d84)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x178d65c9, 0x79dd6c95)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x6405b028, 0x3a4c86c2)</Identifier> <Source> @@ -1297,28 +1177,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x6a456414, 0x658272b6)</Identifier> - <Source> - <BoxIdentifier>(0x6fa99403, 0x5d1e43cf)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x7847d16b, 0x67e6919b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x720deb5e, 0x09e29398)</Identifier> - <Source> - <BoxIdentifier>(0x178d65c9, 0x79dd6c95)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1a0ac1f5, 0x2780b3ba)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments> <Comment> @@ -1336,11 +1194,11 @@ class. </Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>0.000000</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>688.000000</Value> + <Value>448</Value> </Attribute> </Attributes> </Comment> @@ -1366,11 +1224,11 @@ classifier trainer scenario</i></small></Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>0.000000</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>384.000000</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -1384,7 +1242,7 @@ classifier trainer scenario</i></small></Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-320</Value> + <Value>-224</Value> </Attribute> </Attributes> </Comment> @@ -1401,11 +1259,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>144.000000</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-160.000000</Value> + <Value>-112</Value> </Attribute> </Attributes> </Comment> @@ -1428,11 +1286,11 @@ classifier trainer scenario</i></small></Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>16.000000</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96.000000</Value> + <Value>-64</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-4-replay.xml b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-4-replay.xml index f47b38b84e9910f5610fd9ac6950eb1f55097608..4cfd955529ec7f0a7d9e1bf72a84649dc2b9ceb4 100644 --- a/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-4-replay.xml +++ b/applications/demos/motor-imagery/bci-examples/motor-imagery/motor-imagery-bci-4-replay.xml @@ -1,11 +1,133 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000015e0, 0x00000d53)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>288</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001dc8, 0x000005c1)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00006be7, 0x0000270b)</Identifier> <Name>Graz visualization</Name> @@ -73,7 +195,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>752</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -136,11 +258,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -160,70 +282,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x3d734c98, 0x52ca1e64)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x3e343902, 0x201965d5)</Identifier> <Name>Feature aggregator</Name> @@ -243,11 +301,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>480</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -316,11 +374,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -348,85 +406,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x46241df7, 0x30260558)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x016b7673)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x46e10f90, 0x7f1009d3)</Identifier> <Name>Simple DSP</Name> @@ -455,11 +434,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>672</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -531,11 +510,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -559,70 +538,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x59e9e84f, 0x3aeea63d)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x5d4f86a8, 0x1842e6f7)</Identifier> <Name>Generic stream reader</Name> @@ -657,7 +572,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-144</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -698,14 +613,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -716,11 +631,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -733,62 +648,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x63dc90f9, 0x033682c0)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x6cdfdf3c, 0x441bc59d)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> + <Value>(0x00000000, 0x005b9e8d)</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6cdfdf3c, 0x441bc59d)</Identifier> + <Identifier>(0x6cdfdf3c, 0x441bc59e)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input stream 1</Name> </Input> </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output stream 1</Name> </Output> </Outputs> <Attributes> @@ -798,11 +721,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-64</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -868,11 +791,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -903,145 +826,123 @@ </Boxes> <Links> <Link> - <Identifier>(0x0000009d, 0x00002a28)</Identifier> + <Identifier>(0x00001029, 0x0000353b)</Identifier> <Source> - <BoxIdentifier>(0x6cdfdf3c, 0x441bc59d)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006be7, 0x0000270b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00004abe, 0x00006dce)</Identifier> - <Source> - <BoxIdentifier>(0x46e10f90, 0x7f1009d3)</BoxIdentifier> + <BoxIdentifier>(0x5fb5bb23, 0x497dafe3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006be7, 0x0000270b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d53)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0e2a4811, 0x5655378b)</Identifier> + <Identifier>(0x00001880, 0x000046b6)</Identifier> <Source> - <BoxIdentifier>(0x63dc90f9, 0x033682c0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x59e9e84f, 0x3aeea63d)</BoxIdentifier> + <BoxIdentifier>(0x6cdfdf3c, 0x441bc59d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0f5b98f8, 0x3d288193)</Identifier> + <Identifier>(0x00003509, 0x00002ba1)</Identifier> <Source> - <BoxIdentifier>(0x3d734c98, 0x52ca1e64)</BoxIdentifier> + <BoxIdentifier>(0x6cdfdf3c, 0x441bc59d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x63dc90f9, 0x033682c0)</BoxIdentifier> + <BoxIdentifier>(0x6cdfdf3c, 0x441bc59e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0f7427fa, 0x4a241e37)</Identifier> + <Identifier>(0x0000369a, 0x0000456e)</Identifier> <Source> - <BoxIdentifier>(0x5fb5bb23, 0x497dafe3)</BoxIdentifier> + <BoxIdentifier>(0x3e5ff1d5, 0x253635cc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3d734c98, 0x52ca1e64)</BoxIdentifier> + <BoxIdentifier>(0x00001dc8, 0x000005c1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x30e2414f, 0x5a7eff30)</Identifier> + <Identifier>(0x000038e9, 0x000070b4)</Identifier> <Source> - <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cdfdf3c, 0x441bc59d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x3b1e0268, 0x17fc3749)</Identifier> - <Source> - <BoxIdentifier>(0x58d2f847, 0x1efebeb6)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x6cdfdf3c, 0x441bc59e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x46e10f90, 0x7f1009d3)</BoxIdentifier> + <BoxIdentifier>(0x00006be7, 0x0000270b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4483f1a9, 0x1e443bd2)</Identifier> + <Identifier>(0x000043ab, 0x00002aa3)</Identifier> <Source> - <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000015e0, 0x00000d53)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6cdfdf3c, 0x441bc59d)</BoxIdentifier> + <BoxIdentifier>(0x3e343902, 0x201965d5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x46f54223, 0x5e039f44)</Identifier> + <Identifier>(0x00004752, 0x0000105e)</Identifier> <Source> - <BoxIdentifier>(0x6cdfdf3c, 0x441bc59d)</BoxIdentifier> + <BoxIdentifier>(0x00001dc8, 0x000005c1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3ac8853d, 0x5101c67f)</BoxIdentifier> + <BoxIdentifier>(0x5fb5bb23, 0x497dafe3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4841fa41, 0x654c5ed3)</Identifier> + <Identifier>(0x00004abe, 0x00006dce)</Identifier> <Source> - <BoxIdentifier>(0x3e343902, 0x201965d5)</BoxIdentifier> + <BoxIdentifier>(0x46e10f90, 0x7f1009d3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x58d2f847, 0x1efebeb6)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006be7, 0x0000270b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x49342808, 0x02d97c87)</Identifier> + <Identifier>(0x00007583, 0x00004841)</Identifier> <Source> - <BoxIdentifier>(0x59e9e84f, 0x3aeea63d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x5d4f86a8, 0x1842e6f7)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3e343902, 0x201965d5)</BoxIdentifier> + <BoxIdentifier>(0x3ac8853d, 0x5101c67f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7e4de420, 0x36140745)</Identifier> + <Identifier>(0x3b1e0268, 0x17fc3749)</Identifier> <Source> - <BoxIdentifier>(0x3e5ff1d5, 0x253635cc)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x58d2f847, 0x1efebeb6)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x46241df7, 0x30260558)</BoxIdentifier> + <BoxIdentifier>(0x46e10f90, 0x7f1009d3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7e75d094, 0x6f423325)</Identifier> + <Identifier>(0x4841fa41, 0x654c5ed3)</Identifier> <Source> - <BoxIdentifier>(0x46241df7, 0x30260558)</BoxIdentifier> + <BoxIdentifier>(0x3e343902, 0x201965d5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5fb5bb23, 0x497dafe3)</BoxIdentifier> + <BoxIdentifier>(0x58d2f847, 0x1efebeb6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1075,11 +976,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>304</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-208</Value> + <Value>-144</Value> </Attribute> </Attributes> </Comment> @@ -1099,11 +1000,11 @@ details about the processing.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>592</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>48</Value> + <Value>0</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/neurofeedback/bci-examples/neurofeedback/neurofeedback.xml b/applications/demos/neurofeedback/bci-examples/neurofeedback/neurofeedback.xml index 951d236f36de853e1ea9e2848677282ace728a8a..1a5e2708b5943c1fae4f21a3fb656dcfc8c2d16a 100644 --- a/applications/demos/neurofeedback/bci-examples/neurofeedback/neurofeedback.xml +++ b/applications/demos/neurofeedback/bci-examples/neurofeedback/neurofeedback.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.2.1+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000de2, 0x00000f63)</Identifier> @@ -38,24 +41,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>161.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x7e39891d, 0x32cf5be7)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>132</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00153bcb)</Value> @@ -74,93 +69,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00001342, 0x00005cc2)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>16.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001d29dc)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x000013c1, 0x0000395b)</Identifier> <Name>GDF file reader</Name> @@ -205,11 +113,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -219,10 +123,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002ea966)</Value> @@ -327,15 +227,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>863.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -345,10 +241,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>84</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000cd857)</Value> @@ -453,15 +345,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -471,18 +359,10 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>83</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00239610)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -497,6 +377,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000048d9, 0x0000347d)</Identifier> <Name>Crop</Name> @@ -539,15 +496,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>656</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -561,10 +514,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000a8d19)</Value> @@ -613,15 +562,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -635,10 +580,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>92</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000ee075)</Value> @@ -682,22 +623,18 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Equation</Name> <DefaultValue>x</DefaultValue> - <Value>x-26.387050</Value> + <Value>x-26.38705</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -711,10 +648,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000b998a)</Value> @@ -780,24 +713,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x4ff49bdb, 0x9dcf6788)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>139</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00101f34)</Value> @@ -835,24 +760,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff4187, 0xffc5f432)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000b34e8)</Value> @@ -887,15 +804,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -909,10 +822,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0015e399)</Value> @@ -940,39 +849,15 @@ <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - <Input> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Input stream 4</Name> + <Name>Input stream 1</Name> </Input> </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output stream 1</Name> </Output> </Outputs> <Attributes> @@ -982,15 +867,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1004,10 +885,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00126a6c)</Value> @@ -1039,14 +916,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1057,24 +934,16 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>147</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0013cab5)</Value> @@ -1116,15 +985,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1138,10 +1003,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000c9539)</Value> @@ -1160,24 +1021,6 @@ <BoxIdentifier>(0x00007095, 0x00000179)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>530</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>539</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000009b3, 0x000064c9)</Identifier> @@ -1189,24 +1032,6 @@ <BoxIdentifier>(0x00005aff, 0x0000311f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>775</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>843</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>400</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00000abd, 0x000072ca)</Identifier> @@ -1218,53 +1043,28 @@ <BoxIdentifier>(0x000054bc, 0x000033b3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>679</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>731</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000147d, 0x00004650)</Identifier> + <Identifier>(0x00001db5, 0x00002ea1)</Identifier> <Source> - <BoxIdentifier>(0x00001342, 0x00005cc2)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x000069ef, 0x00005c93)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>290</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>379</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x000020e1, 0x00000152)</Identifier> + <Source> + <BoxIdentifier>(0x000013c1, 0x0000395b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x0000380e, 0x00007621)</Identifier> @@ -1276,24 +1076,6 @@ <BoxIdentifier>(0x00003418, 0x000038d7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>775</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>837</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>209</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000413e, 0x00007b92)</Identifier> @@ -1305,111 +1087,17 @@ <BoxIdentifier>(0x00004b73, 0x000059fc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>179</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x0000486d, 0x00001e7e)</Identifier> - <Source> - <BoxIdentifier>(0x000013c1, 0x0000395b)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>18</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>75</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>408</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005203, 0x00007a75)</Identifier> + <Identifier>(0x00005b7f, 0x0000539a)</Identifier> <Source> - <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00003cd9, 0x00004082)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>119</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>423</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>368</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x000059c3, 0x00007103)</Identifier> - <Source> - <BoxIdentifier>(0x00004b73, 0x000059fc)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001342, 0x00005cc2)</BoxIdentifier> + <BoxIdentifier>(0x00003cd9, 0x00004082)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>252</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005ec2, 0x0000171e)</Identifier> @@ -1421,53 +1109,17 @@ <BoxIdentifier>(0x0000619a, 0x00007f4b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>423</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>443</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006673, 0x00000a36)</Identifier> + <Identifier>(0x0000608d, 0x00003f93)</Identifier> <Source> - <BoxIdentifier>(0x00001342, 0x00005cc2)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00003cd9, 0x00004082)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>290</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>353</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006688, 0x00005cff)</Identifier> @@ -1479,111 +1131,39 @@ <BoxIdentifier>(0x000048d9, 0x0000347d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>583</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>635</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000070c4, 0x00003ea9)</Identifier> + <Identifier>(0x00006714, 0x00001477)</Identifier> <Source> - <BoxIdentifier>(0x0000619a, 0x00007f4b)</BoxIdentifier> + <BoxIdentifier>(0x00004b73, 0x000059fc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005c1f, 0x000045a1)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>487</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007d90, 0x00003f2b)</Identifier> + <Identifier>(0x00006c6c, 0x00001379)</Identifier> <Source> - <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> + <BoxIdentifier>(0x000013c1, 0x0000395b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00000de2, 0x00000f63)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>119</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>408</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>145</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007e19, 0x000037dd)</Identifier> + <Identifier>(0x000070c4, 0x00003ea9)</Identifier> <Source> - <BoxIdentifier>(0x000013c1, 0x0000395b)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000619a, 0x00007f4b)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x00005c1f, 0x000045a1)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>18</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>431</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>75</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>423</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1596,11 +1176,11 @@ related to feet movement.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>688.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>832.000000</Value> + <Value>720</Value> </Attribute> </Attributes> </Comment> @@ -1610,11 +1190,11 @@ related to feet movement.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>368</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-32</Value> + <Value>64</Value> </Attribute> </Attributes> </Comment> @@ -1631,11 +1211,11 @@ the beta activity,related to (imagined) feet movement.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>768</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96</Value> + <Value>176</Value> </Attribute> </Attributes> </Comment> @@ -1648,11 +1228,11 @@ and <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>656</Value> + <Value>608</Value> </Attribute> </Attributes> </Comment> @@ -1662,11 +1242,11 @@ and <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>560</Value> + <Value>528</Value> </Attribute> </Attributes> </Comment> @@ -1685,11 +1265,11 @@ of the Beta activity during 30sec of inactivity. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>784</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>688</Value> + <Value>576</Value> </Attribute> </Attributes> </Comment> @@ -1700,11 +1280,11 @@ of the Beta activity during 30sec of inactivity. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>736</Value> + <Value>688</Value> </Attribute> </Attributes> </Comment> @@ -1715,11 +1295,11 @@ and display</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>608</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>288</Value> + <Value>320</Value> </Attribute> </Attributes> </Comment> @@ -1729,11 +1309,11 @@ and display</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>480</Value> + <Value>464</Value> </Attribute> </Attributes> </Comment> @@ -1744,11 +1324,11 @@ every 0.1sec.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>400</Value> + <Value>384</Value> </Attribute> </Attributes> </Comment> @@ -1757,7 +1337,7 @@ every 0.1sec.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":400,"identifier":"(0x00003aab, 0x00002c17)","index":0,"name":"Operator","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":372},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000221e, 0x00005cd6)","index":0,"name":"Default tab","parentIdentifier":"(0x00003aab, 0x00002c17)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":267,"identifier":"(0x000054b1, 0x00006a27)","index":0,"maxDividerPosition":355,"name":"Vertical split","parentIdentifier":"(0x0000221e, 0x00005cd6)","type":4},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":123,"identifier":"(0x00002440, 0x00003f75)","index":0,"maxDividerPosition":251,"name":"Vertical split","parentIdentifier":"(0x000054b1, 0x00006a27)","type":4},{"boxIdentifier":"(0x00005aff, 0x0000311f)","childCount":0,"identifier":"(0x00001ffd, 0x00007f5a)","index":1,"parentIdentifier":"(0x000054b1, 0x00006a27)","type":3},{"boxIdentifier":"(0x00003cd9, 0x00004082)","childCount":0,"identifier":"(0x000073b3, 0x00005c8f)","index":0,"parentIdentifier":"(0x00002440, 0x00003f75)","type":3},{"boxIdentifier":"(0x00003418, 0x000038d7)","childCount":0,"identifier":"(0x00006cd9, 0x0000558d)","index":1,"parentIdentifier":"(0x00002440, 0x00003f75)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":400,"identifier":"(0x00003aab, 0x00002c17)","name":"Operator","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":475},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000221e, 0x00005cd6)","index":0,"name":"Default tab","parentIdentifier":"(0x00003aab, 0x00002c17)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":267,"identifier":"(0x000054b1, 0x00006a27)","index":0,"maxDividerPosition":355,"name":"Vertical split","parentIdentifier":"(0x0000221e, 0x00005cd6)","type":4},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":123,"identifier":"(0x00002440, 0x00003f75)","index":0,"maxDividerPosition":251,"name":"Vertical split","parentIdentifier":"(0x000054b1, 0x00006a27)","type":4},{"boxIdentifier":"(0x00005aff, 0x0000311f)","childCount":0,"identifier":"(0x00001ffd, 0x00007f5a)","index":1,"parentIdentifier":"(0x000054b1, 0x00006a27)","type":3},{"boxIdentifier":"(0x00003cd9, 0x00004082)","childCount":0,"identifier":"(0x000073b3, 0x00005c8f)","index":0,"parentIdentifier":"(0x00002440, 0x00003f75)","type":3},{"boxIdentifier":"(0x00003418, 0x000038d7)","childCount":0,"identifier":"(0x00006cd9, 0x0000558d)","index":1,"parentIdentifier":"(0x00002440, 0x00003f75)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-1-acquisition.xml b/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-1-acquisition.xml index 6bfeb240ede55b5e01716d4abd85a7b0840c81da..9c17e4d478137509d92fd55cc520ac08ab1ec650 100644 --- a/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-1-acquisition.xml +++ b/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-1-acquisition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> + <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -46,11 +46,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-309.000000</Value> + <Value>-256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576.000000</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -123,11 +123,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128.000000</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -237,77 +237,77 @@ </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(1)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/02.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/02.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(2)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/03.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/03.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(3)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/04.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/04.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(4)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/05.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/05.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(5)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/06.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/06.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(6)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/07.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/07.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(7)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/08.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/08.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(8)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/09.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/09.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(9)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/10.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/10.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(10)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/11.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/11.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(11)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/12.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/12.png</Value> <Modifiability>false</Modifiability> @@ -316,11 +316,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-96.000000</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592.000000</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -434,11 +434,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -508,11 +508,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -618,28 +618,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Flash duration (in sec)</Name> <DefaultValue>0.075</DefaultValue> - <Value>0.200000</Value> + <Value>0.2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>No flash duration (in sec)</Name> <DefaultValue>0.125</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-repetition delay (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-trial delay (in sec)</Name> <DefaultValue>2</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -653,11 +653,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> + <Value>-192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -669,89 +669,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000017e5, 0x0000150d)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x000e7bc9)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>true</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x000019a0, 0x00002a4a)</Identifier> <Name>Player Controller</Name> @@ -781,11 +698,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -810,29 +727,51 @@ </Attributes> </Box> <Box> - <Identifier>(0x0000355e, 0x00007a77)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00004326, 0x00000921)</Identifier> + <Name>Target Card Generation</Name> + <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>New input</Name> </Input> </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Stimulations</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> + <Name>Lua Script</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/p300-magic-card-stimulations-targets.lua</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Card Count</Name> + <DefaultValue>12</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation Base</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_01</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Delay Before Sending (in sec)</Name> + <DefaultValue>2</DefaultValue> + <Value>2</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -840,94 +779,35 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xd6e3f48b, 0xbee3523a)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0813fd09)</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x0000355e, 0x00007a78)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xf191c1c8, 0xa0123976)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xfba64161, 0x65304e21)</Identifier> @@ -936,48 +816,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x00004326, 0x00000921)</Identifier> - <Name>Target Card Generation</Name> - <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> - <Name>Lua Script</Name> - <DefaultValue></DefaultValue> - <Value>${Player_ScenarioDirectory}/p300-magic-card-stimulations-targets.lua</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Card Count</Name> - <DefaultValue>12</DefaultValue> - <Value>12</Value> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation Base</Name> - <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> - <Value>OVTK_StimulationId_Label_01</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Delay Before Sending (in sec)</Name> - <DefaultValue>2</DefaultValue> - <Value>2</Value> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -988,23 +868,15 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-176</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>672</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xd6e3f48b, 0xbee3523a)</Value> - </Attribute> - <Attribute> - <Identifier>(0x61d11811, 0x71e65362)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0813fd09)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1012,15 +884,11 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xf191c1c8, 0xa0123976)</Identifier> - <Value></Value> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -1046,11 +914,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1106,11 +974,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304.000000</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1126,6 +994,108 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x0000654e, 0x00004072)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00126a6c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000654e, 0x00004073)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00126a6c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000667e, 0x000067a8)</Identifier> <Name>Acquisition client</Name> @@ -1171,11 +1141,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32.000000</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1202,24 +1172,13 @@ </Boxes> <Links> <Link> - <Identifier>(0x0000024e, 0x0000554b)</Identifier> + <Identifier>(0x000001c2, 0x00003cb9)</Identifier> <Source> - <BoxIdentifier>(0x00005bc1, 0x00001477)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004073)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000355e, 0x00007a78)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00000311, 0x00001217)</Identifier> - <Source> - <BoxIdentifier>(0x0000355e, 0x00007a77)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00000b5c, 0x00005880)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1235,9 +1194,9 @@ </Target> </Link> <Link> - <Identifier>(0x00000906, 0x00000e3d)</Identifier> + <Identifier>(0x000015b0, 0x000056ad)</Identifier> <Source> - <BoxIdentifier>(0x0000355e, 0x00007a78)</BoxIdentifier> + <BoxIdentifier>(0x00005bc1, 0x00001477)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -1246,57 +1205,46 @@ </Target> </Link> <Link> - <Identifier>(0x00000b31, 0x0000339f)</Identifier> + <Identifier>(0x00002337, 0x00006b33)</Identifier> <Source> - <BoxIdentifier>(0x00000b5c, 0x00005880)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000017e5, 0x0000150d)</BoxIdentifier> + <BoxIdentifier>(0x00005bc1, 0x00001477)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000128f, 0x0000032c)</Identifier> + <Identifier>(0x000037be, 0x00006017)</Identifier> <Source> <BoxIdentifier>(0x0000667e, 0x000067a8)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00004a89, 0x000051c4)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00001600, 0x00006b67)</Identifier> - <Source> - <BoxIdentifier>(0x000017e5, 0x0000150d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005bc1, 0x00001477)</BoxIdentifier> + <BoxIdentifier>(0x00000646, 0x00007f3d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000033a2, 0x000026b3)</Identifier> + <Identifier>(0x0000392e, 0x00000660)</Identifier> <Source> - <BoxIdentifier>(0x0000667e, 0x000067a8)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000355e, 0x00007a77)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000092f, 0x00006b0c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000037be, 0x00006017)</Identifier> + <Identifier>(0x00004026, 0x000074ae)</Identifier> <Source> <BoxIdentifier>(0x0000667e, 0x000067a8)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00000646, 0x00007f3d)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004073)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1312,25 +1260,25 @@ </Target> </Link> <Link> - <Identifier>(0x000052bd, 0x00005e13)</Identifier> + <Identifier>(0x0000499a, 0x000049d3)</Identifier> <Source> - <BoxIdentifier>(0x000000ea, 0x000057a1)</BoxIdentifier> + <BoxIdentifier>(0x00000b5c, 0x00005880)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000013fa, 0x00002713)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00005377, 0x0000722c)</Identifier> + <Identifier>(0x000052bd, 0x00005e13)</Identifier> <Source> - <BoxIdentifier>(0x0000355e, 0x00007a78)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000000ea, 0x000057a1)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000092f, 0x00006b0c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000013fa, 0x00002713)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> @@ -1367,35 +1315,35 @@ </Target> </Link> <Link> - <Identifier>(0x000066cf, 0x00001437)</Identifier> + <Identifier>(0x000062b6, 0x000011a0)</Identifier> <Source> - <BoxIdentifier>(0x0000355e, 0x00007a77)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000355e, 0x00007a78)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00004a89, 0x000051c4)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006f1d, 0x00007a62)</Identifier> + <Identifier>(0x00006347, 0x00002fff)</Identifier> <Source> - <BoxIdentifier>(0x0000667e, 0x000067a8)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000654e, 0x00004072)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000355e, 0x00007a77)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000019a0, 0x00002a4a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007c62, 0x00001d51)</Identifier> + <Identifier>(0x00006d03, 0x0000002b)</Identifier> <Source> <BoxIdentifier>(0x0000667e, 0x000067a8)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000019a0, 0x00002a4a)</BoxIdentifier> + <BoxIdentifier>(0x00000b5c, 0x00005880)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1407,11 +1355,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>240.000000</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>496.000000</Value> + <Value>304</Value> </Attribute> </Attributes> </Comment> @@ -1426,11 +1374,11 @@ P300 card scenarios were created by <i>zcool</i>, <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>960.000000</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-224.000000</Value> + <Value>-160</Value> </Attribute> </Attributes> </Comment> @@ -1440,11 +1388,11 @@ P300 card scenarios were created by <i>zcool</i>, <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>720.000000</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>128.000000</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> @@ -1455,11 +1403,11 @@ to the Acquisition Server by TCP Tagging</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>864.000000</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-96.000000</Value> + <Value>-48</Value> </Attribute> </Attributes> </Comment> @@ -1474,11 +1422,11 @@ after 20 secs</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>320.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-224.000000</Value> + <Value>-144</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-2-train-classifier.xml b/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-2-train-classifier.xml index b7d0b1e0f1539292ba2429b81e33aa5ddb4f91af..bd366b560d2a1b9248bb222f9a1095dd4fa4e6cd 100644 --- a/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-2-train-classifier.xml +++ b/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-2-train-classifier.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> + <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -40,11 +40,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-160.000000</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -88,11 +88,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64.000000</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -104,6 +104,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-16</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>496</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000554a, 0x000038d8)</Identifier> <Name>Identity</Name> @@ -127,11 +204,121 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> + <Value>496</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000554a, 0x000038d9)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-80</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000554a, 0x000038da)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>48</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -205,15 +392,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -275,15 +462,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -328,11 +515,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -391,11 +578,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -462,11 +649,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -540,11 +727,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48.000000</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -599,11 +786,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -646,11 +833,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -674,85 +861,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00007f97, 0x00003689)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0154eb12)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x1a538d37, 0x06b8561f)</Identifier> <Name>Classifier trainer</Name> @@ -831,7 +939,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -859,11 +967,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -898,35 +1006,35 @@ </Boxes> <Links> <Link> - <Identifier>(0x0000042f, 0x000018ba)</Identifier> + <Identifier>(0x0000057e, 0x00006489)</Identifier> <Source> - <BoxIdentifier>(0x0000657e, 0x000036e1)</BoxIdentifier> + <BoxIdentifier>(0x00004375, 0x000055be)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007f97, 0x00003689)</BoxIdentifier> + <BoxIdentifier>(0x00005c6a, 0x00006cce)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000057e, 0x00006489)</Identifier> + <Identifier>(0x00000f98, 0x00000815)</Identifier> <Source> - <BoxIdentifier>(0x00004375, 0x000055be)</BoxIdentifier> + <BoxIdentifier>(0x0000554a, 0x000038d8)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005c6a, 0x00006cce)</BoxIdentifier> + <BoxIdentifier>(0x1a538d37, 0x06b8561f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000f98, 0x00000815)</Identifier> + <Identifier>(0x000010ec, 0x000039e6)</Identifier> <Source> - <BoxIdentifier>(0x0000554a, 0x000038d8)</BoxIdentifier> + <BoxIdentifier>(0x0000554a, 0x000038d9)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1a538d37, 0x06b8561f)</BoxIdentifier> + <BoxIdentifier>(0x0000554a, 0x000038da)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -975,46 +1083,57 @@ </Target> </Link> <Link> - <Identifier>(0x00002a69, 0x00002092)</Identifier> + <Identifier>(0x00003a7d, 0x00003daf)</Identifier> <Source> - <BoxIdentifier>(0x00007f97, 0x00003689)</BoxIdentifier> + <BoxIdentifier>(0x000060fa, 0x00005b24)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004375, 0x000055be)</BoxIdentifier> + <BoxIdentifier>(0x00006a0d, 0x00006861)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002d41, 0x0000465d)</Identifier> + <Identifier>(0x0000425f, 0x00002742)</Identifier> <Source> <BoxIdentifier>(0x0000033f, 0x000020d9)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000554a, 0x000038d8)</BoxIdentifier> + <BoxIdentifier>(0x0000554a, 0x000038d9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00003a7d, 0x00003daf)</Identifier> + <Identifier>(0x000049b1, 0x00005623)</Identifier> <Source> - <BoxIdentifier>(0x000060fa, 0x00005b24)</BoxIdentifier> + <BoxIdentifier>(0x00004375, 0x000055be)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006a0d, 0x00006861)</BoxIdentifier> + <BoxIdentifier>(0x00005c6a, 0x00006ccd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000049b1, 0x00005623)</Identifier> + <Identifier>(0x00004d00, 0x00004617)</Identifier> <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> <BoxIdentifier>(0x00004375, 0x000055be)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004d31, 0x00001d88)</Identifier> + <Source> + <BoxIdentifier>(0x0000554a, 0x000038da)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005c6a, 0x00006ccd)</BoxIdentifier> + <BoxIdentifier>(0x0000554a, 0x000038d8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1040,6 +1159,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x000074f3, 0x00001420)</Identifier> + <Source> + <BoxIdentifier>(0x0000657e, 0x000036e1)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x0000753f, 0x00001b1c)</Identifier> <Source> @@ -1087,11 +1217,11 @@ Reader box</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>224.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-128.000000</Value> + <Value>-32</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-3-online.xml b/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-3-online.xml index c6bc5342034de2f7ae725755cf5bcf70d7bfe08f..5e118e4c198e708587e95b81f4f43e4eb4362ed3 100644 --- a/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-3-online.xml +++ b/applications/demos/p300/bci-examples/p300-magic-card/p300-magic-card-3-online.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> + <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -46,11 +46,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -176,77 +176,77 @@ </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(1)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/02.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/02.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(2)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/03.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/03.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(3)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/04.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/04.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(4)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/05.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/05.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(5)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/06.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/06.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(6)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/07.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/07.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(7)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/08.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/08.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(8)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/09.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/09.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(9)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/10.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/10.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(10)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/11.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/11.png</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Card filename</Name> + <Name>Card filename(11)</Name> <DefaultValue>${Path_Data}/plugins/simple-visualisation/p300-magic-card/12.png</DefaultValue> <Value>${Path_Data}/plugins/simple-visualisation/p300-magic-card/12.png</Value> <Modifiability>false</Modifiability> @@ -255,11 +255,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>739.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208.000000</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -329,11 +329,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>99.000000</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -388,11 +388,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>435.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -469,11 +469,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>659.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -540,11 +540,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -642,28 +642,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Flash duration (in sec)</Name> <DefaultValue>0.075</DefaultValue> - <Value>0.200000</Value> + <Value>0.2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>No flash duration (in sec)</Name> <DefaultValue>0.125</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-repetition delay (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-trial delay (in sec)</Name> <DefaultValue>2</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -677,11 +677,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>579.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -704,7 +704,7 @@ </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <Name>New input(1)</Name> </Input> </Inputs> <Outputs> @@ -750,11 +750,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>595.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -827,11 +827,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-13.000000</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -851,6 +851,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>528</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000046f3, 0x00007b73)</Identifier> <Name>Signal Decimation</Name> @@ -879,11 +956,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>211.000000</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>272.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -940,11 +1017,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-125.000000</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -957,86 +1034,172 @@ </Attributes> </Box> <Box> - <Identifier>(0x00005af6, 0x00007fb7)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x000067b7, 0x00007638)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>163.000000</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>272.000000</Value> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0169e3c3)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x000067b7, 0x00007638)</Identifier> + <Identifier>(0x000067b7, 0x00007639)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000067b7, 0x0000763a)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000067b7, 0x0000763b)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> @@ -1058,11 +1221,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1136,15 +1299,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1200,11 +1363,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>499.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1234,6 +1397,17 @@ </Box> </Boxes> <Links> + <Link> + <Identifier>(0x00000611, 0x000011d2)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046f3, 0x00007b73)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00000b2f, 0x0000525f)</Identifier> <Source> @@ -1256,6 +1430,28 @@ <BoxInputIndex>2</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x0000146b, 0x000056e9)</Identifier> + <Source> + <BoxIdentifier>(0x000016ac, 0x00007204)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00001cec, 0x00007f83)</Identifier> + <Source> + <BoxIdentifier>(0x00002c9d, 0x00004ec3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000067b7, 0x0000763b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x0000205c, 0x00003b44)</Identifier> <Source> @@ -1267,6 +1463,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x000020f9, 0x000039b6)</Identifier> + <Source> + <BoxIdentifier>(0x000067b7, 0x00007638)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000067b7, 0x00007639)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00002966, 0x00007215)</Identifier> <Source> @@ -1290,14 +1497,25 @@ </Target> </Link> <Link> - <Identifier>(0x00004020, 0x00004283)</Identifier> + <Identifier>(0x00002f47, 0x00004842)</Identifier> <Source> - <BoxIdentifier>(0x000067b7, 0x00007638)</BoxIdentifier> + <BoxIdentifier>(0x000067b7, 0x0000763b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006874, 0x00002b34)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000011e6, 0x0000013f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000042ae, 0x00006fd4)</Identifier> + <Source> + <BoxIdentifier>(0x000067b7, 0x00007639)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000067b7, 0x0000763a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> @@ -1323,9 +1541,9 @@ </Target> </Link> <Link> - <Identifier>(0x00004d10, 0x00006f03)</Identifier> + <Identifier>(0x00005109, 0x00000d2f)</Identifier> <Source> - <BoxIdentifier>(0x000067b7, 0x00007638)</BoxIdentifier> + <BoxIdentifier>(0x000067b7, 0x0000763a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -1333,17 +1551,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00005339, 0x000020a6)</Identifier> - <Source> - <BoxIdentifier>(0x00002c9d, 0x00004ec3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000011e6, 0x0000013f)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x0000593a, 0x00007147)</Identifier> <Source> @@ -1377,17 +1584,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00006064, 0x00004e8d)</Identifier> - <Source> - <BoxIdentifier>(0x000016ac, 0x00007204)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00005af6, 0x00007fb7)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000063c3, 0x00005d47)</Identifier> <Source> @@ -1422,14 +1618,14 @@ </Target> </Link> <Link> - <Identifier>(0x00007b58, 0x00007e8b)</Identifier> + <Identifier>(0x00007b6b, 0x00002798)</Identifier> <Source> - <BoxIdentifier>(0x00005af6, 0x00007fb7)</BoxIdentifier> + <BoxIdentifier>(0x000067b7, 0x00007639)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000046f3, 0x00007b73)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006874, 0x00002b34)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> @@ -1457,11 +1653,11 @@ Flashing will start after <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>80.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-48.000000</Value> + <Value>48</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-0-signal-monitoring.xml b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-0-signal-monitoring.xml index 82e915684ec7d2d7c9960e8c9a0c7a5ea9192cb5..5a9fce1cdcb81a8f646ac934b864c219fd7df940 100644 --- a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-0-signal-monitoring.xml +++ b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-0-signal-monitoring.xml @@ -1,83 +1,11 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.0.2</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> - <Box> - <Identifier>(0x000014bf, 0x000034db)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>928.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xac367a9c, 0x2da95abe)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00003f1b, 0x00003c78)</Identifier> <Name>Signal Decimation</Name> @@ -106,29 +34,21 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>704</Value> + <Value>816</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>126</Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0000556f, 0x000055f8)</Identifier> - <Name>Temporal filter</Name> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -139,73 +59,67 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> + <Name>Filter Order</Name> <DefaultValue>4</DefaultValue> <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> + <Name>High Cut-off Frequency (Hz)</Name> <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>20</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>704</Value> + <Value>816</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -295,15 +209,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024.000000</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -313,10 +223,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>77</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -376,24 +282,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>928.000000</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -494,15 +392,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>832.000000</Value> + <Value>832</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -512,10 +406,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>77</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -533,265 +423,70 @@ </Boxes> <Links> <Link> - <Identifier>(0x000003a7, 0x000034db)</Identifier> - <Source> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00005c5c, 0x00007610)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>407</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>943</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>486</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1024</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00000554, 0x0000661a)</Identifier> + <Identifier>(0x00002493, 0x00003b83)</Identifier> <Source> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00003f1b, 0x00003c78)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00007e4e, 0x00006b7b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>407</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>943</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>486</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>832</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00001d33, 0x00002bb0)</Identifier> + <Identifier>(0x000035e8, 0x00006099)</Identifier> <Source> <BoxIdentifier>(0x00006b6d, 0x00002690)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>146</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>363</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>943</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00003f04, 0x000045c3)</Identifier> - <Source> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005c5c, 0x00007610)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>407</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>928</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>486</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1009</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004b11, 0x00006a43)</Identifier> + <Identifier>(0x00003916, 0x00007f8f)</Identifier> <Source> - <BoxIdentifier>(0x00003f1b, 0x00003c78)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00006b6d, 0x00002690)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00007e4e, 0x00006b7b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>338</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>704</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>363</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>913</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000056fd, 0x00004795)</Identifier> + <Identifier>(0x000055bf, 0x00000fec)</Identifier> <Source> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00006b6d, 0x00002690)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007e4e, 0x00006b7b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00005c5c, 0x00007610)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>407</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>913</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>486</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>817</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000057ad, 0x000024cb)</Identifier> + <Identifier>(0x0000657f, 0x00004f34)</Identifier> <Source> - <BoxIdentifier>(0x0000556f, 0x000055f8)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00003f1b, 0x00003c78)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>274</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>704</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>704</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00005e38, 0x00005c99)</Identifier> - <Source> - <BoxIdentifier>(0x00006b6d, 0x00002690)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000014bf, 0x000034db)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>146</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>913</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>363</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>928</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000073ac, 0x0000581b)</Identifier> + <Identifier>(0x0000783b, 0x00007a63)</Identifier> <Source> <BoxIdentifier>(0x00006b6d, 0x00002690)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000556f, 0x000055f8)</BoxIdentifier> + <BoxIdentifier>(0x00005c5c, 0x00007610)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>146</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>913</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>704</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -805,11 +500,11 @@ server</u> are compatible with the actual <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>512</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>416</Value> + <Value>480</Value> </Attribute> </Attributes> </Comment> @@ -831,11 +526,11 @@ and ensure that : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1184</Value> + <Value>1136</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>272</Value> + <Value>320</Value> </Attribute> </Attributes> </Comment> @@ -845,11 +540,11 @@ and ensure that : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>944</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>32</Value> + <Value>144</Value> </Attribute> </Attributes> </Comment> @@ -861,11 +556,11 @@ http://openvibe.inria.fr/p300-speller-xdawn/</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>576.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>130.000000</Value> + <Value>240</Value> </Attribute> </Attributes> </Comment> @@ -879,11 +574,11 @@ used online.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>512</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> </Attributes> </Comment> @@ -892,7 +587,7 @@ used online.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":635,"identifier":"(0x000077ee, 0x0000254d)","index":0,"name":"default","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":783},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004579, 0x00005fcb)","index":0,"name":"Default tab","parentIdentifier":"(0x000077ee, 0x0000254d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":293,"identifier":"(0x00005446, 0x000043a1)","index":0,"maxDividerPosition":590,"name":"Vertical split","parentIdentifier":"(0x00004579, 0x00005fcb)","type":4},{"boxIdentifier":"(0x00005c5c, 0x00007610)","childCount":0,"identifier":"(0x00000e42, 0x000074b8)","index":0,"parentIdentifier":"(0x00005446, 0x000043a1)","type":3},{"boxIdentifier":"(0x00007e4e, 0x00006b7b)","childCount":0,"identifier":"(0x00005db7, 0x000032ad)","index":1,"parentIdentifier":"(0x00005446, 0x000043a1)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":635,"identifier":"(0x000077ee, 0x0000254d)","name":"default","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":783},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004579, 0x00005fcb)","index":0,"name":"Default tab","parentIdentifier":"(0x000077ee, 0x0000254d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":293,"identifier":"(0x00005446, 0x000043a1)","index":0,"maxDividerPosition":590,"name":"Vertical split","parentIdentifier":"(0x00004579, 0x00005fcb)","type":4},{"boxIdentifier":"(0x00005c5c, 0x00007610)","childCount":0,"identifier":"(0x00000e42, 0x000074b8)","index":0,"parentIdentifier":"(0x00005446, 0x000043a1)","type":3},{"boxIdentifier":"(0x00007e4e, 0x00006b7b)","childCount":0,"identifier":"(0x00005db7, 0x000032ad)","index":1,"parentIdentifier":"(0x00005446, 0x000043a1)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-1-acquisition.xml b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-1-acquisition.xml index 97fd2d493bd33b0838d910c020fd61a00e107a3e..3f4bc86363ded78cdad0e873f2240341f7f2468c 100644 --- a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-1-acquisition.xml +++ b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-1-acquisition.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.0.2</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000000ea, 0x000057a1)</Identifier> @@ -43,15 +46,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -61,10 +60,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>81</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00e49791)</Value> @@ -161,28 +156,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Flash duration (in sec)</Name> <DefaultValue>0.075</DefaultValue> - <Value>0.200000</Value> + <Value>0.2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>No flash duration (in sec)</Name> <DefaultValue>0.125</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-repetition delay (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-trial delay (in sec)</Name> <DefaultValue>2</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -196,24 +191,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8137c905, 0x9ae4ae4b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>161</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x01203bc6)</Value> @@ -358,15 +345,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -376,10 +359,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-speller-visualization.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>178</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x07e64d8b)</Value> @@ -423,15 +402,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>623.000000</Value> + <Value>623</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -441,10 +416,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0350a9f0)</Value> @@ -484,24 +455,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784.000000</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x01070ba6)</Value> @@ -565,24 +528,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x02909b75)</Value> @@ -661,15 +616,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736.000000</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -679,10 +630,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>169</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0334c6b7)</Value> @@ -717,24 +664,6 @@ <BoxIdentifier>(0x00004eca, 0x00003f33)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>482</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>784</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001043, 0x00003d7c)</Identifier> @@ -746,24 +675,6 @@ <BoxIdentifier>(0x00001a71, 0x00003e16)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>156</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>160</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>624</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001d3e, 0x00000740)</Identifier> @@ -775,24 +686,6 @@ <BoxIdentifier>(0x00006d0d, 0x000031d8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>194</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>230</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>736</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000036a5, 0x00006190)</Identifier> @@ -804,24 +697,6 @@ <BoxIdentifier>(0x0000356c, 0x00004381)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>482</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>658</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>608</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003aa4, 0x00002b37)</Identifier> @@ -833,24 +708,6 @@ <BoxIdentifier>(0x00002c69, 0x00000b43)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>284</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>632</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004fb0, 0x00001b24)</Identifier> @@ -862,24 +719,6 @@ <BoxIdentifier>(0x00002c69, 0x00000b43)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>194</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>617</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000068a0, 0x0000330f)</Identifier> @@ -891,24 +730,6 @@ <BoxIdentifier>(0x0000356c, 0x00004381)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>482</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>638</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007bda, 0x00000772)</Identifier> @@ -920,24 +741,6 @@ <BoxIdentifier>(0x0000356c, 0x00004381)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>482</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>673</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>623</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -949,11 +752,11 @@ Acquisition Server using TCP Tagging.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>960.000000</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> </Attributes> </Comment> @@ -965,11 +768,11 @@ http://openvibe.inria.fr/p300-speller-xdawn/</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>320.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>176.000000</Value> + <Value>176</Value> </Attribute> </Attributes> </Comment> @@ -995,11 +798,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>320.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> </Attributes> </Comment> @@ -1009,11 +812,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>48.000000</Value> + <Value>64</Value> </Attribute> </Attributes> </Comment> @@ -1022,7 +825,7 @@ folder where the scenario xml is located <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00002c69, 0x00000b43)","childCount":0,"identifier":"(0x0000742d, 0x000050d7)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0x00002c69, 0x00000b43)","childCount":0,"identifier":"(0x0000742d, 0x000050d7)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-2-train-xDAWN.xml b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-2-train-xDAWN.xml index 0b3c5e00a0983cb5778e542b60e843e9a1b3c3cf..e37a4c95614ce76ab6d2532e85f1405ecf0bbe13 100644 --- a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-2-train-xDAWN.xml +++ b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-2-train-xDAWN.xml @@ -1,86 +1,11 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> - <Box> - <Identifier>(0x00001c48, 0x00005598)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00001db8, 0x00001848)</Identifier> <Name>xDAWN Trainer</Name> @@ -196,11 +121,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-128</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -233,14 +158,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>0.250000</Value> + <Value>0.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.250000</Value> + <Value>0.25</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -251,7 +176,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -263,6 +188,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>80</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>288</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00004aea, 0x00001465)</Identifier> <Name>Player Controller</Name> @@ -340,7 +342,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -377,14 +379,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>0.600000</Value> + <Value>0.6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -406,7 +408,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -479,13 +481,13 @@ </Target> </Link> <Link> - <Identifier>(0x00006413, 0x00003ed2)</Identifier> + <Identifier>(0x00005ca5, 0x00002066)</Identifier> <Source> - <BoxIdentifier>(0x00001c48, 0x00005598)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00002514, 0x00001614)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006be0, 0x000074b5)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -501,13 +503,13 @@ </Target> </Link> <Link> - <Identifier>(0x000070d8, 0x00000f4e)</Identifier> + <Identifier>(0x0000757f, 0x00001451)</Identifier> <Source> - <BoxIdentifier>(0x00002514, 0x00001614)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001c48, 0x00005598)</BoxIdentifier> + <BoxIdentifier>(0x00006be0, 0x000074b5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -526,11 +528,11 @@ server</u> are compatible with the actual <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>48</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>32</Value> + <Value>160</Value> </Attribute> </Attributes> </Comment> @@ -543,11 +545,11 @@ server</u> are compatible with the actual <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>816.000000</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>112.000000</Value> + <Value>336</Value> </Attribute> </Attributes> </Comment> @@ -573,11 +575,11 @@ If you want details on this values, you should read <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>800.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-80.000000</Value> + <Value>144</Value> </Attribute> </Attributes> </Comment> @@ -587,11 +589,11 @@ If you want details on this values, you should read <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>304.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-192.000000</Value> + <Value>-48</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-3-train-classifier.xml b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-3-train-classifier.xml index 8db2c94bd90165a4f82c9c5457a286a527a44c51..40bd4fd62c42fbf7329f184ef33e90eb063230bf 100644 --- a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-3-train-classifier.xml +++ b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-3-train-classifier.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000b2d, 0x00006d61)</Identifier> @@ -24,22 +27,14 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>352</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002bb807)</Value> @@ -80,24 +75,75 @@ <Value>352</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x002b7d6e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f4f)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>432</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002b7d6e)</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -147,15 +193,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -165,10 +207,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x008e34c7)</Value> @@ -204,24 +242,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00301c7f)</Value> @@ -265,14 +295,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>0.600000</Value> + <Value>0.6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -288,21 +318,13 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>224</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>145</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -338,24 +360,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>126</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002c5bfc)</Value> @@ -363,8 +377,8 @@ </Attributes> </Box> <Box> - <Identifier>(0x0000486f, 0x000075f4)</Identifier> - <Name>Temporal filter</Name> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -375,77 +389,67 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> + <Name>Filter Order</Name> <DefaultValue>4</DefaultValue> <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> + <Name>High Cut-off Frequency (Hz)</Name> <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>20</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002b9aae)</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -474,14 +478,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>0.600000</Value> + <Value>0.6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -497,21 +501,13 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>224</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>145</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -556,13 +552,9 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>288</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -580,10 +572,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002b5470)</Value> @@ -639,15 +627,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -665,10 +649,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-spatial-filter.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>143</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002b601f)</Value> @@ -724,13 +704,9 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>288</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -748,10 +724,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002c2168)</Value> @@ -836,7 +808,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -864,28 +836,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9de21779, 0x37776c89)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -920,53 +880,17 @@ <BoxIdentifier>(0x000063a5, 0x0000197c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>108</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>203</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>312</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00000a32, 0x00005cae)</Identifier> + <Identifier>(0x000002a8, 0x00003c81)</Identifier> <Source> - <BoxIdentifier>(0x0000486f, 0x000075f4)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003e14, 0x00000027)</BoxIdentifier> + <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-14</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>288</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00000aca, 0x000037d3)</Identifier> @@ -978,24 +902,6 @@ <BoxIdentifier>(0x000078f9, 0x000063eb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>34</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>54</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>288</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001717, 0x00003cf9)</Identifier> @@ -1007,53 +913,17 @@ <BoxIdentifier>(0x00000b2d, 0x00006d61)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>331</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00001770, 0x00000ded)</Identifier> + <Identifier>(0x00001890, 0x00003293)</Identifier> <Source> <BoxIdentifier>(0x00001f83, 0x00004e32)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000063a5, 0x0000197c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>415</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>203</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>327</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000227f, 0x00003a6f)</Identifier> @@ -1065,24 +935,6 @@ <BoxIdentifier>(0x00002f94, 0x00000341)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>108</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>203</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>536</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002599, 0x0000329b)</Identifier> @@ -1094,24 +946,6 @@ <BoxIdentifier>(0x000078d0, 0x000029bc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>247</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>312</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>267</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004098, 0x00007e81)</Identifier> @@ -1123,24 +957,6 @@ <BoxIdentifier>(0x00007b56, 0x000033f9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>247</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>536</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>267</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004674, 0x000061af)</Identifier> @@ -1152,140 +968,61 @@ <BoxIdentifier>(0x00000d41, 0x000013b7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>331</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005d56, 0x000065e9)</Identifier> + <Identifier>(0x00005fa6, 0x00005686)</Identifier> <Source> <BoxIdentifier>(0x00001f83, 0x00004e32)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000486f, 0x000075f4)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-48</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>288</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006821, 0x00000c75)</Identifier> + <Identifier>(0x000073a2, 0x00003928)</Identifier> <Source> - <BoxIdentifier>(0x00001f83, 0x00004e32)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002f94, 0x00000341)</BoxIdentifier> + <BoxIdentifier>(0x000063a5, 0x0000197c)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>415</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>203</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>551</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x175e412c, 0x0692f4ee)</Identifier> + <Identifier>(0x000073f4, 0x000025f6)</Identifier> <Source> - <BoxIdentifier>(0x00000d41, 0x000013b7)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x00003e14, 0x00000027)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>375</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>427</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>447</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x5a67b7d8, 0x1cf07f9a)</Identifier> + <Identifier>(0x00007494, 0x000038cd)</Identifier> <Source> - <BoxIdentifier>(0x00001f83, 0x00004e32)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00002f94, 0x00000341)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x175e412c, 0x0692f4ee)</Identifier> + <Source> + <BoxIdentifier>(0x00000d41, 0x000013b7)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>415</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>427</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>417</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x616495af, 0x5c020b32)</Identifier> @@ -1297,24 +1034,6 @@ <BoxIdentifier>(0x00002c8b, 0x000001d5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>471</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>432</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x63fa63da, 0x0e447c5b)</Identifier> @@ -1326,24 +1045,6 @@ <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>375</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>427</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>432</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1357,7 +1058,7 @@ </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-240</Value> + <Value>-112</Value> </Attribute> </Attributes> </Comment> @@ -1374,11 +1075,11 @@ server</u> are compatible with the actual <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>48</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>0</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> @@ -1405,11 +1106,11 @@ the spatial filter should have been trained using <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>848</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96</Value> + <Value>176</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-4-online.xml b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-4-online.xml index 24b48deb9966c82fc71db22f29cf2464a834662f..2fc25e3205c82626d46756320d167e11bb432264 100644 --- a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-4-online.xml +++ b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-4-online.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000000ea, 0x000057a1)</Identifier> @@ -43,15 +46,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -61,10 +60,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>90</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x008e9275)</Value> @@ -91,6 +86,124 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00001700, 0x00003f4f)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f50)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00002bb3, 0x0000133c)</Identifier> <Name>Acquisition client</Name> @@ -136,24 +249,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>125</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x007036bf)</Value> @@ -201,24 +306,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>124</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -279,23 +376,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>191</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -330,7 +419,7 @@ </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <Name>New input(1)</Name> </Input> </Inputs> <Outputs> @@ -387,15 +476,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>627.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -405,10 +490,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0304fb88)</Value> @@ -435,6 +516,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00007786, 0x00001163)</Identifier> <Name>Identity</Name> @@ -458,15 +616,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -480,10 +634,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -503,138 +653,47 @@ </Attributes> </Box> <Box> - <Identifier>(0x001a8c16, 0x15ba27e3)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x008f57e1, 0x2790537b)</Identifier> + <Name>Generic stream writer</Name> + <AlgorithmClassIdentifier>(0x09c92218, 0x7c1216f8)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 3</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/signals/p300-xdawn-online-[$core{date}-$core{time}].ov</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>110</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0040f8d4)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x008f57e1, 0x2790537b)</Identifier> - <Name>Generic stream writer</Name> - <AlgorithmClassIdentifier>(0x09c92218, 0x7c1216f8)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Player_ScenarioDirectory}/signals/p300-xdawn-online-[$core{date}-$core{time}].ov</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Use compression</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Use compression</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -644,10 +703,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>158</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x007b2629)</Value> @@ -693,15 +748,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -719,10 +770,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000eaa12)</Value> @@ -748,24 +795,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>134</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000f9a38)</Value> @@ -844,15 +883,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -862,10 +897,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>178</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x034a702f)</Value> @@ -928,28 +959,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>560.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xa6c8e548, 0x9e3e405b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -1106,15 +1125,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>656.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1124,10 +1139,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-speller-visualization.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>188</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x017985f8)</Value> @@ -1162,24 +1173,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>129</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002cae02)</Value> @@ -1256,28 +1259,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Flash duration (in sec)</Name> <DefaultValue>0.075</DefaultValue> - <Value>0.200000</Value> + <Value>0.2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>No flash duration (in sec)</Name> <DefaultValue>0.125</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-repetition delay (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-trial delay (in sec)</Name> <DefaultValue>2</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1291,24 +1294,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8137c905, 0x9ae4ae4b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>174</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x008ede97)</Value> @@ -1364,15 +1359,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1390,10 +1381,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-spatial-filter.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>154</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1408,81 +1395,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6f54afd0, 0x5f2e0f65)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-80.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x005f48d2)</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> @@ -1495,53 +1407,28 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>3</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>487</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>634</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>636</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>502</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000266b, 0x000033bb)</Identifier> + <Identifier>(0x00001dcd, 0x0000349f)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> + <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002b73, 0x00000331)</Identifier> + <Source> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>156</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>503</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002cf9, 0x0000757a)</Identifier> @@ -1553,24 +1440,6 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>615</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>636</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>472</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002e50, 0x00003fba)</Identifier> @@ -1582,111 +1451,28 @@ <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>488</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>211</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000416b, 0x00000842)</Identifier> + <Identifier>(0x00004406, 0x000017e6)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000000ea, 0x000057a1)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x001a8c16, 0x15ba27e3)</BoxIdentifier> + <BoxIdentifier>(0x53567600, 0x4c3da6a5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-20</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004406, 0x000017e6)</Identifier> + <Identifier>(0x00004765, 0x00001481)</Identifier> <Source> - <BoxIdentifier>(0x000000ea, 0x000057a1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x53567600, 0x4c3da6a5)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>487</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>492</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>448</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x000046b8, 0x00001136)</Identifier> - <Source> - <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-138</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-109</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>639</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004944, 0x00005bde)</Identifier> @@ -1698,24 +1484,6 @@ <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>366</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>684</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>720</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004a23, 0x00007947)</Identifier> @@ -1727,198 +1495,72 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>534</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>636</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>457</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005b72, 0x00000606)</Identifier> + <Identifier>(0x00004c23, 0x00007be8)</Identifier> <Source> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>487</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>619</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>636</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>487</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005fac, 0x00002630)</Identifier> + <Identifier>(0x00004cde, 0x000011b0)</Identifier> <Source> <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-138</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>610</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-109</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>609</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006501, 0x000068bf)</Identifier> + <Identifier>(0x00005b72, 0x00000606)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007786, 0x00001163)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>307</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>720</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006c4d, 0x0000126f)</Identifier> + <Identifier>(0x00006700, 0x00004fcf)</Identifier> <Source> - <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6d03daab, 0x55fdea78)</BoxIdentifier> + <BoxIdentifier>(0x00007786, 0x00001163)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>86</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>75</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007051, 0x00001557)</Identifier> + <Identifier>(0x00006c4d, 0x0000126f)</Identifier> <Source> - <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x6d03daab, 0x55fdea78)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-138</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>625</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-109</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>624</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000074af, 0x000038c2)</Identifier> + <Identifier>(0x000074c2, 0x00000216)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>115</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>831</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000756d, 0x000027c0)</Identifier> @@ -1930,198 +1572,61 @@ <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>151</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>156</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>488</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007b30, 0x00005e90)</Identifier> + <Identifier>(0x000078be, 0x000075fd)</Identifier> <Source> - <BoxIdentifier>(0x00007786, 0x00001163)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>366</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>411</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>634</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> - <Source> - <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>270</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>275</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0de02dd1, 0x545eff87)</Identifier> + <Identifier>(0x00007b30, 0x00005e90)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00007786, 0x00001163)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>115</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>816</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x136dcee0, 0x20dbb005)</Identifier> + <Identifier>(0x00007e94, 0x00006642)</Identifier> <Source> - <BoxIdentifier>(0x28b5e192, 0x37431137)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>390</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>545</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>411</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>619</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x1a535826, 0x3804f216)</Identifier> + <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> <Source> - <BoxIdentifier>(0x001a8c16, 0x15ba27e3)</BoxIdentifier> + <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> + <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>22</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>44</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x2893bc68, 0x5c0429ec)</Identifier> + <Identifier>(0x136dcee0, 0x20dbb005)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> + <BoxIdentifier>(0x28b5e192, 0x37431137)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>609</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>115</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>801</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x3ccbcbed, 0x529f3e1d)</Identifier> @@ -2133,24 +1638,6 @@ <BoxIdentifier>(0x28b5e192, 0x37431137)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>334</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>348</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>552</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x62a925f7, 0x4bf2755d)</Identifier> @@ -2162,24 +1649,6 @@ <BoxIdentifier>(0x12c0a51c, 0x5d112d9b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>534</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>539</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -2195,11 +1664,11 @@ again on the recorded data. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>896.000000</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>608.000000</Value> + <Value>576</Value> </Attribute> </Attributes> </Comment> @@ -2210,11 +1679,11 @@ to Acquisiton client to use it online</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>176.000000</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-48.000000</Value> + <Value>-48</Value> </Attribute> </Attributes> </Comment> @@ -2234,11 +1703,11 @@ the classifier on the recorded data.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>128.000000</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>576.000000</Value> + <Value>304</Value> </Attribute> </Attributes> </Comment> @@ -2273,11 +1742,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>192</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-48</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> @@ -2298,7 +1767,7 @@ server</u> are compatible with the actual </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>240</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> @@ -2308,11 +1777,11 @@ server</u> are compatible with the actual <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>608.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-288.000000</Value> + <Value>-144</Value> </Attribute> </Attributes> </Comment> @@ -2321,7 +1790,7 @@ server</u> are compatible with the actual <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x00001d62, 0x00007def)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x00001d62, 0x00007def)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-5-replay.xml b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-5-replay.xml index f68d4be7d9ff0c8d2597b27523ae6ac1732018c2..1096dfd18b46aef66cfff3f6258e229381e22834 100644 --- a/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-5-replay.xml +++ b/applications/demos/p300/bci-examples/p300-speller-xDAWN/p300-xdawn-5-replay.xml @@ -1,8 +1,129 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00001700, 0x00003f4f)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>144</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>560</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f50)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>560</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00002db4, 0x00004e4d)</Identifier> <Name>Pick target</Name> @@ -35,15 +156,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768.000000</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -53,10 +170,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>90</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00749b30)</Value> @@ -115,15 +228,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -133,10 +242,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>90</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x007aab35)</Value> @@ -192,24 +297,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784.000000</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>124</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004d93cc)</Value> @@ -274,23 +371,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>191</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -325,7 +414,7 @@ </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <Name>New input(1)</Name> </Input> </Inputs> <Outputs> @@ -382,15 +471,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>608.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -400,10 +485,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0a2185a6)</Value> @@ -430,6 +511,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>144</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>432</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x09c41dd7, 0x09f2e37b)</Identifier> <Name>Epoch average</Name> @@ -465,15 +623,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -491,10 +645,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004afe07)</Value> @@ -520,24 +670,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>480.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>134</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004313a5)</Value> @@ -596,28 +738,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>464.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xa6c8e548, 0x9e3e405b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -637,136 +767,53 @@ </Attributes> </Box> <Box> - <Identifier>(0x2978c82c, 0x4a22f240)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x2e63c8c5, 0x79a8ae7b)</Identifier> + <Name>P300 Speller Visualization</Name> + <AlgorithmClassIdentifier>(0x195e41d6, 0x6e684d47)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Sequence stimulations</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Target stimulations</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Row selection stimulations</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Column selection stimulations</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Target / Non target flagging</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Interface filename</Name> + <DefaultValue>${Path_Data}/plugins/simple-visualization/p300-speller.glade</DefaultValue> + <Value>${Path_Data}/plugins/simple-visualization/p300-speller.ui</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Row stimulation base</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_01</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>110</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2e63c8c5, 0x79a8ae7b)</Identifier> - <Name>P300 Speller Visualization</Name> - <AlgorithmClassIdentifier>(0x195e41d6, 0x6e684d47)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Sequence stimulations</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Target stimulations</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Row selection stimulations</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Column selection stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Target / Non target flagging</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Interface filename</Name> - <DefaultValue>${Path_Data}/plugins/simple-visualization/p300-speller.glade</DefaultValue> - <Value>${Path_Data}/plugins/simple-visualization/p300-speller.ui</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Row stimulation base</Name> - <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> - <Value>OVTK_StimulationId_Label_01</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Column stimulation base</Name> - <DefaultValue>OVTK_StimulationId_Label_07</DefaultValue> - <Value>OVTK_StimulationId_Label_07</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Column stimulation base</Name> + <DefaultValue>OVTK_StimulationId_Label_07</DefaultValue> + <Value>OVTK_StimulationId_Label_07</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -857,15 +904,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>672.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -875,10 +918,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-speller-visualization.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>188</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x05899984)</Value> @@ -913,95 +952,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432.000000</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>129</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x483b59a5, 0x4318abba)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> @@ -1038,15 +998,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1056,10 +1012,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>159</Value> - </Attribute> </Attributes> </Box> <Box> @@ -1111,15 +1063,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432.000000</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1137,10 +1085,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-spatial-filter.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>154</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -1157,6 +1101,17 @@ </Box> </Boxes> <Links> + <Link> + <Identifier>(0x0000028d, 0x00001482)</Identifier> + <Source> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x0000062d, 0x00006549)</Identifier> <Source> @@ -1167,24 +1122,6 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>3</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>647</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>551</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>652</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>646</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000121f, 0x00004438)</Identifier> @@ -1196,24 +1133,17 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>439</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>652</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>616</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00001697, 0x000041cb)</Identifier> + <Source> + <BoxIdentifier>(0x634a083c, 0x52143369)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x00001a5d, 0x000012a3)</Identifier> @@ -1225,53 +1155,17 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>439</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>652</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>601</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000023ed, 0x00007962)</Identifier> + <Identifier>(0x00002d51, 0x000069b6)</Identifier> <Source> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002db4, 0x00004e4d)</BoxIdentifier> + <BoxIdentifier>(0x00002db4, 0x00004e4e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>363</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002e50, 0x00003fba)</Identifier> @@ -1283,140 +1177,61 @@ <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>374</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>440</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>387</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>448</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003a8e, 0x00004020)</Identifier> + <Identifier>(0x00003950, 0x00007ce6)</Identifier> <Source> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x3806695f, 0x750288cb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>571</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>551</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004ead, 0x0000166d)</Identifier> + <Identifier>(0x000039a5, 0x000003e4)</Identifier> <Source> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002db4, 0x00004e4e)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>363</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>688</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005b72, 0x00000606)</Identifier> + <Identifier>(0x00003db7, 0x0000721e)</Identifier> <Source> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>647</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>536</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>652</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>631</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005ee4, 0x00001e68)</Identifier> + <Identifier>(0x00004989, 0x000033bc)</Identifier> <Source> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f50)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> + <BoxIdentifier>(0x00002db4, 0x00004e4d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>684</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>784</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00005b72, 0x00000606)</Identifier> + <Source> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x00006b0f, 0x00003281)</Identifier> @@ -1428,111 +1243,39 @@ <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>332</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>440</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007e4c, 0x00005f90)</Identifier> + <Identifier>(0x000079e1, 0x00001be7)</Identifier> <Source> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>332</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>455</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> + <Identifier>(0x00007a3c, 0x00003e91)</Identifier> <Source> - <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x634a083c, 0x52143369)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>446</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>451</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>448</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x04e9bcb9, 0x608aa078)</Identifier> + <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> <Source> - <BoxIdentifier>(0x634a083c, 0x52143369)</BoxIdentifier> + <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> + <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>14</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>609</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>35</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>609</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x087ce678, 0x55c0c4ef)</Identifier> @@ -1544,24 +1287,6 @@ <BoxIdentifier>(0x666e568d, 0x579616d6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>230</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>235</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>432</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x22e7d928, 0x245a74de)</Identifier> @@ -1573,24 +1298,6 @@ <BoxIdentifier>(0x28b5e192, 0x37431137)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>510</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>524</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>456</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x335d6001, 0x4c535469)</Identifier> @@ -1602,140 +1309,6 @@ <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>566</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>449</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>571</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>536</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x596adb78, 0x549a0689)</Identifier> - <Source> - <BoxIdentifier>(0x2978c82c, 0x4a22f240)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3806695f, 0x750288cb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>182</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>188</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>432</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x666eada5, 0x09010e07)</Identifier> - <Source> - <BoxIdentifier>(0x634a083c, 0x52143369)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>14</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>35</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>624</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x6963bf7e, 0x02c7cc5d)</Identifier> - <Source> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2978c82c, 0x4a22f240)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>140</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>432</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x7061b67e, 0x7c481576)</Identifier> - <Source> - <BoxIdentifier>(0x634a083c, 0x52143369)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x483b59a5, 0x4318abba)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>14</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>639</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>35</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>639</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1755,11 +1328,11 @@ details about the processing.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>288</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>16</Value> + <Value>224</Value> </Attribute> </Attributes> </Comment> @@ -1769,11 +1342,11 @@ details about the processing.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>624</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-128</Value> + <Value>0</Value> </Attribute> </Attributes> </Comment> @@ -1782,7 +1355,7 @@ details about the processing.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x000060a8, 0x0000168c)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x000060a8, 0x0000168c)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller/p300-speller-0-signal-monitoring.xml b/applications/demos/p300/bci-examples/p300-speller/p300-speller-0-signal-monitoring.xml index e8227f5d9ccd15253de0a76c69b45352f7c678f8..813b8eb4c20487bb37e364800312777a9759b2d3 100644 --- a/applications/demos/p300/bci-examples/p300-speller/p300-speller-0-signal-monitoring.xml +++ b/applications/demos/p300/bci-examples/p300-speller/p300-speller-0-signal-monitoring.xml @@ -1,12 +1,15 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.0.2</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x00000fa6, 0x00006e68)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x000020f0, 0x000020aa)</Identifier> + <Name>Signal Decimation</Name> + <AlgorithmClassIdentifier>(0x012f4bea, 0x3be37c66)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -16,77 +19,34 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> + <Name>Decimation factor</Name> + <DefaultValue>8</DefaultValue> <Value>4</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00604a7e)</Value> + <Value>(0x00000000, 0x003d1522)</Value> </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> @@ -95,9 +55,9 @@ </Attributes> </Box> <Box> - <Identifier>(0x000020f0, 0x000020aa)</Identifier> - <Name>Signal Decimation</Name> - <AlgorithmClassIdentifier>(0x012f4bea, 0x3be37c66)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -111,42 +71,63 @@ </Output> </Outputs> <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Decimation factor</Name> - <DefaultValue>8</DefaultValue> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> <Value>4</Value> <Modifiability>false</Modifiability> </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48.000000</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x5082af41, 0xd0fbf4cb)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>126</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x003d1522)</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -195,24 +176,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0092d9ae)</Value> @@ -231,6 +204,108 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x0000654e, 0x00004073)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-48</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00126a6c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000654e, 0x00004074)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-160</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00126a6c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000069b9, 0x00005532)</Identifier> <Name>Signal display</Name> @@ -317,15 +392,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -335,10 +406,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>100</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00707726)</Value> @@ -399,15 +466,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -421,10 +484,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>92</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004455b9)</Value> @@ -459,140 +518,72 @@ <BoxIdentifier>(0x000069b9, 0x00005532)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-30</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>11</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>529</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000047bf, 0x000069e6)</Identifier> + <Identifier>(0x00006e61, 0x000027a1)</Identifier> <Source> <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00000fa6, 0x00006e68)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000706a, 0x000008f4)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000020f0, 0x000020aa)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-148</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>416</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000049ec, 0x00002dc5)</Identifier> + <Identifier>(0x000070e1, 0x0000292c)</Identifier> <Source> <BoxIdentifier>(0x0000599b, 0x000026ba)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000069b9, 0x00005532)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-286</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>11</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006ae5, 0x00003a78)</Identifier> + <Identifier>(0x00007120, 0x00006ba7)</Identifier> <Source> - <BoxIdentifier>(0x00000fa6, 0x00006e68)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004074)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000020f0, 0x000020aa)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004073)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-94</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-64</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>416</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000070e1, 0x0000292c)</Identifier> + <Identifier>(0x000073e2, 0x000044c8)</Identifier> <Source> <BoxIdentifier>(0x0000599b, 0x000026ba)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxIdentifier>(0x0000654e, 0x00004074)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-286</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>465</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-202</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>416</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00007945, 0x00004f31)</Identifier> + <Source> + <BoxIdentifier>(0x0000654e, 0x00004073)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000069b9, 0x00005532)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> </Link> </Links> <Comments> @@ -606,11 +597,11 @@ server</u> are compatible with the actual <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>208.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>0.000000</Value> + <Value>0</Value> </Attribute> </Attributes> </Comment> @@ -632,11 +623,11 @@ and ensure that : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>816.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-112.000000</Value> + <Value>-80</Value> </Attribute> </Attributes> </Comment> @@ -646,11 +637,11 @@ and ensure that : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-368.000000</Value> + <Value>-288</Value> </Attribute> </Attributes> </Comment> @@ -664,11 +655,11 @@ used online.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>208.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-128.000000</Value> + <Value>-128</Value> </Attribute> </Attributes> </Comment> @@ -677,7 +668,7 @@ used online.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":513,"identifier":"(0x00002206, 0x0000360e)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":518},{"boxIdentifier":"(0x000069b9, 0x00005532)","childCount":0,"identifier":"(0x000023cd, 0x0000415f)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007f2f, 0x00001c2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00002206, 0x0000360e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000071f9, 0x000001f9)","index":0,"name":"Empty","parentIdentifier":"(0x00007f2f, 0x00001c2b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":513,"identifier":"(0x00002206, 0x0000360e)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":518},{"boxIdentifier":"(0x000069b9, 0x00005532)","childCount":0,"identifier":"(0x000023cd, 0x0000415f)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007f2f, 0x00001c2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00002206, 0x0000360e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000071f9, 0x000001f9)","index":0,"name":"Empty","parentIdentifier":"(0x00007f2f, 0x00001c2b)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller/p300-speller-1-acquisition.xml b/applications/demos/p300/bci-examples/p300-speller/p300-speller-1-acquisition.xml index d31cff9d210d077696a292b7584dac727cab0b53..cbf869abca97a044a51472f4807d7c167f946925 100644 --- a/applications/demos/p300/bci-examples/p300-speller/p300-speller-1-acquisition.xml +++ b/applications/demos/p300/bci-examples/p300-speller/p300-speller-1-acquisition.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.0.2</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000000ea, 0x000057a1)</Identifier> @@ -43,15 +46,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>-272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -61,10 +60,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>81</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00ac1587)</Value> @@ -161,28 +156,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Flash duration (in sec)</Name> <DefaultValue>0.075</DefaultValue> - <Value>0.200000</Value> + <Value>0.2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>No flash duration (in sec)</Name> <DefaultValue>0.125</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-repetition delay (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-trial delay (in sec)</Name> <DefaultValue>2</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -196,24 +191,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-272</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8137c905, 0x9ae4ae4b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>161</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00843565)</Value> @@ -358,15 +345,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>704.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -376,10 +359,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-speller-visualization.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>178</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00f44ed7)</Value> @@ -423,15 +402,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>695.000000</Value> + <Value>695</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -441,10 +416,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00848d41)</Value> @@ -484,24 +455,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848.000000</Value> + <Value>832</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0027ce86)</Value> @@ -565,24 +528,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0068aa09)</Value> @@ -661,15 +616,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800.000000</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -679,10 +630,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>169</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x03412669)</Value> @@ -717,24 +664,6 @@ <BoxIdentifier>(0x00004eca, 0x00003f33)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>34</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>160</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>848</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001043, 0x00003d7c)</Identifier> @@ -746,24 +675,6 @@ <BoxIdentifier>(0x00001a71, 0x00003e16)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-292</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-288</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>688</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001d3e, 0x00000740)</Identifier> @@ -775,24 +686,6 @@ <BoxIdentifier>(0x00006d0d, 0x000031d8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-254</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-218</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>800</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000036a5, 0x00006190)</Identifier> @@ -804,24 +697,6 @@ <BoxIdentifier>(0x0000356c, 0x00004381)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>34</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>722</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>75</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>680</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003aa4, 0x00002b37)</Identifier> @@ -833,24 +708,6 @@ <BoxIdentifier>(0x00002c69, 0x00000b43)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-164</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>800</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>696</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004fb0, 0x00001b24)</Identifier> @@ -862,24 +719,6 @@ <BoxIdentifier>(0x00002c69, 0x00000b43)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-254</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>681</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000068a0, 0x0000330f)</Identifier> @@ -891,24 +730,6 @@ <BoxIdentifier>(0x0000356c, 0x00004381)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>34</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>75</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>710</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007bda, 0x00000772)</Identifier> @@ -920,24 +741,6 @@ <BoxIdentifier>(0x0000356c, 0x00004381)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>34</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>737</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>75</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>695</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -947,11 +750,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>417.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96.000000</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> @@ -963,11 +766,11 @@ Acquisition Server using TCP Tagging.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1056.000000</Value> + <Value>1072</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-112.000000</Value> + <Value>-64</Value> </Attribute> </Attributes> </Comment> @@ -977,11 +780,11 @@ Acquisition Server using TCP Tagging.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>496.000000</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-384.000000</Value> + <Value>-336</Value> </Attribute> </Attributes> </Comment> @@ -993,11 +796,11 @@ http://openvibe.inria.fr/openvibe-p300-speller/</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1072.000000</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-320.000000</Value> + <Value>-240</Value> </Attribute> </Attributes> </Comment> @@ -1009,11 +812,11 @@ from (token ${Player_ScenarioDirectory})</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>992.000000</Value> + <Value>1024</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96.000000</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> @@ -1039,11 +842,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>384.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-176.000000</Value> + <Value>-160</Value> </Attribute> </Attributes> </Comment> @@ -1052,7 +855,7 @@ folder where the scenario xml is located <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":513,"identifier":"(0x00002206, 0x0000360e)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":518},{"boxIdentifier":"(0x00002c69, 0x00000b43)","childCount":0,"identifier":"(0x00007158, 0x00006ece)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007f2f, 0x00001c2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00002206, 0x0000360e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000071f9, 0x000001f9)","index":0,"name":"Empty","parentIdentifier":"(0x00007f2f, 0x00001c2b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":513,"identifier":"(0x00002206, 0x0000360e)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":518},{"boxIdentifier":"(0x00002c69, 0x00000b43)","childCount":0,"identifier":"(0x00007158, 0x00006ece)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007f2f, 0x00001c2b)","index":0,"name":"Default tab","parentIdentifier":"(0x00002206, 0x0000360e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000071f9, 0x000001f9)","index":0,"name":"Empty","parentIdentifier":"(0x00007f2f, 0x00001c2b)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller/p300-speller-2-train-classifier.xml b/applications/demos/p300/bci-examples/p300-speller/p300-speller-2-train-classifier.xml index a894b5bef60f4a2f379eede609bbbea4e340bf8a..e57f147f338b7638584e16c8aadf0caf08404c8f 100644 --- a/applications/demos/p300/bci-examples/p300-speller/p300-speller-2-train-classifier.xml +++ b/applications/demos/p300/bci-examples/p300-speller/p300-speller-2-train-classifier.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000018f, 0x00000cf9)</Identifier> @@ -26,15 +29,74 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64.000000</Value> + <Value>128</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x003f9f4a)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000018f, 0x00000cfa)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608.000000</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -49,8 +111,67 @@ <Value></Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x003f9f4a)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000018f, 0x00000cfb)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>64</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>576</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -74,6 +195,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00006dc8, 0x00007bff)</Identifier> <Name>Player Controller</Name> @@ -103,24 +301,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0042757f)</Value> @@ -181,15 +371,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -203,10 +389,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>92</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004455b9)</Value> @@ -307,7 +489,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -335,28 +517,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9de21779, 0x37776c89)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -398,24 +568,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384.000000</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00306e79)</Value> @@ -469,15 +631,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -495,10 +653,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00399afa)</Value> @@ -530,135 +684,40 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>0.600000</Value> + <Value>0.6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_GDF_VEP</DefaultValue> - <Value>OVTK_StimulationId_NonTarget</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>704.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>189</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00947976)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x3d7e61e0, 0x5462c727)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_GDF_VEP</DefaultValue> + <Value>OVTK_StimulationId_NonTarget</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x008074eb)</Value> + <Value>(0x00000000, 0x00947976)</Value> </Attribute> </Attributes> </Box> @@ -681,24 +740,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0037d22e)</Value> @@ -747,10 +798,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>64</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>480</Value> @@ -759,10 +806,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>126</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005da328)</Value> @@ -794,14 +837,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>0.600000</Value> + <Value>0.6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -815,23 +858,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>189</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -874,15 +909,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384.000000</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -900,10 +931,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0031cdde)</Value> @@ -944,15 +971,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>527.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -962,10 +985,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00df7d54)</Value> @@ -975,62 +994,48 @@ </Boxes> <Links> <Link> - <Identifier>(0x00001e87, 0x00000b6b)</Identifier> + <Identifier>(0x00000d4f, 0x0000247e)</Identifier> <Source> - <BoxIdentifier>(0x7f752994, 0x60b5d8d8)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000018f, 0x00000cfb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x0000018f, 0x00000cf9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-153</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>542</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>43</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>608</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00002f36, 0x00001f4f)</Identifier> + <Identifier>(0x00003322, 0x00003233)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x4fd27695, 0x43631853)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003488, 0x00006527)</Identifier> <Source> <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3d7e61e0, 0x5462c727)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003826, 0x00006ced)</Identifier> + <Source> + <BoxIdentifier>(0x0000018f, 0x00000cfa)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000018f, 0x00000cfb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-20</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005c28, 0x00001a49)</Identifier> @@ -1042,24 +1047,17 @@ <BoxIdentifier>(0x1c541307, 0x0a82ac15)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>87</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>711</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00005cd9, 0x0000654e)</Identifier> + <Source> + <BoxIdentifier>(0x7f752994, 0x60b5d8d8)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000018f, 0x00000cfa)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x0000693f, 0x000006b5)</Identifier> @@ -1071,24 +1069,6 @@ <BoxIdentifier>(0x55d9b276, 0x037c7824)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>87</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>407</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006d76, 0x00003e53)</Identifier> @@ -1100,24 +1080,6 @@ <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-153</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>527</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-74</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0289f0ac, 0x7ccf911f)</Identifier> @@ -1129,24 +1091,6 @@ <BoxIdentifier>(0x599f86f5, 0x4a64d1da)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>162</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>392</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>203</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x08651bdc, 0x51a071b6)</Identifier> @@ -1158,24 +1102,6 @@ <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>379</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>511</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x09194257, 0x1fd9f895)</Identifier> @@ -1187,24 +1113,6 @@ <BoxIdentifier>(0x1b824c2d, 0x35b61935)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>162</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>696</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>203</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>688</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x2b6c192a, 0x27af69e6)</Identifier> @@ -1216,24 +1124,6 @@ <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>379</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x356b2cb6, 0x68a27a94)</Identifier> @@ -1245,24 +1135,6 @@ <BoxIdentifier>(0x14295e6a, 0x23ec1ce1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>247</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>267</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x43d99f84, 0x5d797f5b)</Identifier> @@ -1274,24 +1146,6 @@ <BoxIdentifier>(0x0a5a6a4a, 0x1d92a778)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>87</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>379</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>481</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x559011c8, 0x5a65b9d9)</Identifier> @@ -1303,24 +1157,6 @@ <BoxIdentifier>(0x3db25003, 0x05792630)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>247</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>267</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>688</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x69eeb38f, 0x21d417d6)</Identifier> @@ -1332,24 +1168,6 @@ <BoxIdentifier>(0x1c541307, 0x0a82ac15)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>696</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x6a6bf91c, 0x7e969644)</Identifier> @@ -1361,24 +1179,6 @@ <BoxIdentifier>(0x55d9b276, 0x037c7824)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>392</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x771fba05, 0x1de25d1f)</Identifier> @@ -1390,53 +1190,6 @@ <BoxIdentifier>(0x00006dc8, 0x00007bff)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>423</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x7f27c7b4, 0x06c00c24)</Identifier> - <Source> - <BoxIdentifier>(0x3d7e61e0, 0x5462c727)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x4fd27695, 0x43631853)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>34</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>48</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>480</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1449,11 +1202,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>880.000000</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-145.000000</Value> + <Value>-96</Value> </Attribute> </Attributes> </Comment> @@ -1463,11 +1216,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>544.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-240.000000</Value> + <Value>-208</Value> </Attribute> </Attributes> </Comment> @@ -1490,11 +1243,11 @@ If this performance is lower than 70%, just run a new <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>208.000000</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-80.000000</Value> + <Value>16</Value> </Attribute> </Attributes> </Comment> @@ -1503,7 +1256,7 @@ If this performance is lower than 70%, just run a new <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":501,"identifier":"(0x4308346b, 0x22eb24f1)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":816},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x6ff5e783, 0x155f45c9)","index":0,"name":"Default tab","parentIdentifier":"(0x4308346b, 0x22eb24f1)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000ca2, 0x000036d4)","index":0,"name":"Empty","parentIdentifier":"(0x6ff5e783, 0x155f45c9)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":501,"identifier":"(0x4308346b, 0x22eb24f1)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":816},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x6ff5e783, 0x155f45c9)","index":0,"name":"Default tab","parentIdentifier":"(0x4308346b, 0x22eb24f1)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000ca2, 0x000036d4)","index":0,"name":"Empty","parentIdentifier":"(0x6ff5e783, 0x155f45c9)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller/p300-speller-3-online.xml b/applications/demos/p300/bci-examples/p300-speller/p300-speller-3-online.xml index 7ff8d2326272e0d0301ce11384789b0c0bf8cda0..e0c37763bf1e7d94edac140c68d25087cfd36408 100644 --- a/applications/demos/p300/bci-examples/p300-speller/p300-speller-3-online.xml +++ b/applications/demos/p300/bci-examples/p300-speller/p300-speller-3-online.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000000ea, 0x000057a1)</Identifier> @@ -43,15 +46,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -61,10 +60,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>90</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00d5b88e)</Value> @@ -114,15 +109,70 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>784</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f4c)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -137,8 +187,63 @@ <Value></Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f4d)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>64</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>784</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> @@ -203,24 +308,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>672.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>125</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0042dee1)</Value> @@ -268,24 +365,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>752.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>124</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002a3b4f)</Value> @@ -350,23 +439,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>191</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -401,7 +482,7 @@ </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <Name>New input(1)</Name> </Input> </Inputs> <Outputs> @@ -458,15 +539,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>503.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -476,10 +553,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0b971674)</Value> @@ -507,9 +580,9 @@ </Attributes> </Box> <Box> - <Identifier>(0x0000785b, 0x00002bfd)</Identifier> - <Name>Cz;O1;O2</Name> - <AlgorithmClassIdentifier>(0x361722e8, 0x311574e8)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -524,63 +597,50 @@ </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Channel List</Name> - <DefaultValue>:</DefaultValue> - <Value>Cz;O1;O2</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x3bcf9e67, 0x0c23994d)</TypeIdentifier> - <Name>Action</Name> - <DefaultValue>Select</DefaultValue> - <Value>Select</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x666f25e9, 0x3e5738d6)</TypeIdentifier> - <Name>Channel Matching Method</Name> - <DefaultValue>Smart</DefaultValue> - <Value>Smart</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48.000000</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x277826e1, 0xa30a3bd0)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>102</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004455b9)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -588,7 +648,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -597,9 +657,9 @@ </Attributes> </Box> <Box> - <Identifier>(0x001a8c16, 0x15ba27e3)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x0000785b, 0x00002bfd)</Identifier> + <Name>Cz;O1;O2</Name> + <AlgorithmClassIdentifier>(0x361722e8, 0x311574e8)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -609,77 +669,72 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Channel List</Name> + <DefaultValue>:</DefaultValue> + <Value>Cz;O1;O2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> + <TypeIdentifier>(0x3bcf9e67, 0x0c23994d)</TypeIdentifier> + <Name>Action</Name> + <DefaultValue>Select</DefaultValue> + <Value>Select</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <TypeIdentifier>(0x666f25e9, 0x3e5738d6)</TypeIdentifier> + <Name>Channel Matching Method</Name> + <DefaultValue>Smart</DefaultValue> + <Value>Smart</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> + <Value>64</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x277826e1, 0xa30a3bd0)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>110</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0085ac42)</Value> + <Value>(0x00000000, 0x004455b9)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -720,15 +775,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -738,10 +789,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>158</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0093f8a3)</Value> @@ -787,15 +834,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -813,10 +856,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0029fadd)</Value> @@ -842,24 +881,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>134</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002a9907)</Value> @@ -938,15 +969,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>65</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -956,10 +983,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>178</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x03bb2da4)</Value> @@ -1022,28 +1045,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>538.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xa6c8e548, 0x9e3e405b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -1200,15 +1211,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1218,10 +1225,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-speller-visualization.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>188</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x052d329c)</Value> @@ -1256,24 +1259,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>129</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0059bf7f)</Value> @@ -1350,28 +1345,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Flash duration (in sec)</Name> <DefaultValue>0.075</DefaultValue> - <Value>0.200000</Value> + <Value>0.2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>No flash duration (in sec)</Name> <DefaultValue>0.125</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-repetition delay (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Inter-trial delay (in sec)</Name> <DefaultValue>2</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1385,251 +1380,89 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>31</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8137c905, 0x9ae4ae4b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>174</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0115983f)</Value> </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6f54afd0, 0x5f2e0f65)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>48</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>656.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x008d61ea)</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x0000012a, 0x00004201)</Identifier> + <Identifier>(0x0000062d, 0x00006549)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001700, 0x00003f4b)</BoxIdentifier> + <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000006fb, 0x000055bc)</Identifier> + <Source> + <BoxIdentifier>(0x00001700, 0x00003f4c)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-2</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>671</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>339</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>752</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000062d, 0x00006549)</Identifier> + <Identifier>(0x000012ec, 0x00005f08)</Identifier> <Source> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>542</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>631</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>684</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>470</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000080d, 0x0000086e)</Identifier> + <Identifier>(0x00001358, 0x00003cbf)</Identifier> <Source> - <BoxIdentifier>(0x00001700, 0x00003f4b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>466</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>631</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00000b25, 0x00004527)</Identifier> + <Identifier>(0x000021f4, 0x000005b3)</Identifier> <Source> - <BoxIdentifier>(0x00001700, 0x00003f4b)</BoxIdentifier> + <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>732</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>752</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000266b, 0x000033bb)</Identifier> + <Identifier>(0x00002210, 0x0000583e)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4d)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-2</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>671</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>535</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002cf9, 0x0000757a)</Identifier> @@ -1641,24 +1474,6 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>679</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>684</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>440</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002e50, 0x00003fba)</Identifier> @@ -1670,82 +1485,28 @@ <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>246</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>520</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>259</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000350b, 0x00006820)</Identifier> + <Identifier>(0x00003471, 0x000060ec)</Identifier> <Source> - <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x001a8c16, 0x15ba27e3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>87</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>92</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>512</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004243, 0x0000628e)</Identifier> + <Identifier>(0x000037b6, 0x00003ca3)</Identifier> <Source> <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-90</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>672</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-61</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>671</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004406, 0x000017e6)</Identifier> @@ -1757,198 +1518,61 @@ <BoxIdentifier>(0x53567600, 0x4c3da6a5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>535</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>540</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>416</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004a23, 0x00007947)</Identifier> + <Identifier>(0x0000498b, 0x00002ad2)</Identifier> <Source> - <BoxIdentifier>(0x53567600, 0x4c3da6a5)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>582</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>684</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>425</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005b72, 0x00000606)</Identifier> + <Identifier>(0x00004a23, 0x00007947)</Identifier> <Source> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxIdentifier>(0x53567600, 0x4c3da6a5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>542</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>616</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>684</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>455</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005fac, 0x00002630)</Identifier> + <Identifier>(0x00004b78, 0x00004021)</Identifier> <Source> - <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-90</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>642</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-61</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>641</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006356, 0x00004d4a)</Identifier> + <Identifier>(0x00005b72, 0x00000606)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-2</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>656</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>11</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00006a33, 0x00004bb6)</Identifier> + <Identifier>(0x00006c11, 0x00006e60)</Identifier> <Source> <BoxIdentifier>(0x00002bb3, 0x0000133c)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-90</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>657</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-61</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>656</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x000074af, 0x000038c2)</Identifier> - <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-2</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>671</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>815</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000769a, 0x00007906)</Identifier> @@ -1960,169 +1584,50 @@ <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>182</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>520</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> + <Identifier>(0x00007724, 0x00001e08)</Identifier> <Source> - <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>318</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>323</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x0de02dd1, 0x545eff87)</Identifier> - <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-2</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>656</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>800</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x12d5fdfc, 0x6ecf55b2)</Identifier> + <Identifier>(0x00007a5d, 0x0000462a)</Identifier> <Source> - <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x28b5e192, 0x37431137)</BoxIdentifier> + <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>382</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>396</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>530</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x1a535826, 0x3804f216)</Identifier> + <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> <Source> - <BoxIdentifier>(0x001a8c16, 0x15ba27e3)</BoxIdentifier> + <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> + <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>134</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>140</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>512</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x2893bc68, 0x5c0429ec)</Identifier> + <Identifier>(0x12d5fdfc, 0x6ecf55b2)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> + <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x008f57e1, 0x2790537b)</BoxIdentifier> + <BoxIdentifier>(0x28b5e192, 0x37431137)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-2</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>641</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>785</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x448c2d7d, 0x69a12a35)</Identifier> @@ -2134,24 +1639,6 @@ <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>438</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>523</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>466</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>616</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x62a925f7, 0x4bf2755d)</Identifier> @@ -2163,24 +1650,6 @@ <BoxIdentifier>(0x12c0a51c, 0x5d112d9b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>582</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>603</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>448</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -2190,11 +1659,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>288.000000</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-64.000000</Value> + <Value>-48</Value> </Attribute> </Attributes> </Comment> @@ -2230,11 +1699,11 @@ folder where the scenario xml is located <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>208.000000</Value> + <Value>992</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>224.000000</Value> + <Value>240</Value> </Attribute> </Attributes> </Comment> @@ -2243,7 +1712,7 @@ folder where the scenario xml is located <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x15cc794b, 0x08631685)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":496,"identifier":"(0x5acf1658, 0x420dc7f5)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":741},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4526250d, 0x3dea2a26)","index":0,"name":"Default tab","parentIdentifier":"(0x5acf1658, 0x420dc7f5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x36ee8865, 0x68264bc3)","index":0,"name":"Empty","parentIdentifier":"(0x4526250d, 0x3dea2a26)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x15cc794b, 0x08631685)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":496,"identifier":"(0x5acf1658, 0x420dc7f5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":741},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4526250d, 0x3dea2a26)","index":0,"name":"Default tab","parentIdentifier":"(0x5acf1658, 0x420dc7f5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x36ee8865, 0x68264bc3)","index":0,"name":"Empty","parentIdentifier":"(0x4526250d, 0x3dea2a26)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/demos/p300/bci-examples/p300-speller/p300-speller-4-replay.xml b/applications/demos/p300/bci-examples/p300-speller/p300-speller-4-replay.xml index df11f89e0b59c954d5b1be733f734853b90d225e..e9bbd8a24dec1dc34a7da77f511b2144e9690bdd 100644 --- a/applications/demos/p300/bci-examples/p300-speller/p300-speller-4-replay.xml +++ b/applications/demos/p300/bci-examples/p300-speller/p300-speller-4-replay.xml @@ -1,8 +1,188 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenViBE</Creator> - <CreatorVersion>1.1.0+git</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00001700, 0x00003f4d)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f4e)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001700, 0x00003f4f)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>64</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00001d80, 0x00003839)</Identifier> <Name>Classifier processor</Name> @@ -43,28 +223,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>537.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xa6c8e548, 0x9e3e405b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>138</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -115,15 +283,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -133,10 +297,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>81</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00749b30)</Value> @@ -195,15 +355,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>727.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -213,10 +369,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>81</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x007aab35)</Value> @@ -272,24 +424,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>896.000000</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004d93cc)</Value> @@ -354,23 +498,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>189</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -405,7 +541,7 @@ </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <Name>New input(1)</Name> </Input> </Inputs> <Outputs> @@ -462,15 +598,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>480.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -480,10 +612,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>125</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0a2185a6)</Value> @@ -511,25 +639,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x0000677e, 0x000032be)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Player_ScenarioDirectory}/signals/CHANGE_ME.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -540,35 +691,15 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x010e2eba)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -576,61 +707,49 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0000785b, 0x00002bfd)</Identifier> - <Name>Cz;O1;O2</Name> - <AlgorithmClassIdentifier>(0x361722e8, 0x311574e8)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> + <Identifier>(0x0000677e, 0x000032be)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output signal</Name> + <Name>Output stream 1</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 2</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Channel List</Name> - <DefaultValue>:</DefaultValue> - <Value>Cz;O1;O2</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x3bcf9e67, 0x0c23994d)</TypeIdentifier> - <Name>Action</Name> - <DefaultValue>Select</DefaultValue> - <Value>Select</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x666f25e9, 0x3e5738d6)</TypeIdentifier> - <Name>Channel Matching Method</Name> - <DefaultValue>Smart</DefaultValue> - <Value>Smart</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/signals/CHANGE_ME.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48.000000</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -638,19 +757,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x277826e1, 0xa30a3bd0)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>92</Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004455b9)</Value> + <Value>(0x00000000, 0x010e2eba)</Value> </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> @@ -662,18 +773,14 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x001a8c16, 0x15ba27e3)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x0000785b, 0x00002bfd)</Identifier> + <Name>Cz;O1;O2</Name> + <AlgorithmClassIdentifier>(0x361722e8, 0x311574e8)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -683,77 +790,72 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Channel List</Name> + <DefaultValue>:</DefaultValue> + <Value>Cz;O1;O2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.000000</Value> + <TypeIdentifier>(0x3bcf9e67, 0x0c23994d)</TypeIdentifier> + <Name>Action</Name> + <DefaultValue>Select</DefaultValue> + <Value>Select</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <TypeIdentifier>(0x666f25e9, 0x3e5738d6)</TypeIdentifier> + <Name>Channel Matching Method</Name> + <DefaultValue>Smart</DefaultValue> + <Value>Smart</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> + <Value>64</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>528</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x277826e1, 0xa30a3bd0)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0079e418)</Value> + <Value>(0x00000000, 0x004455b9)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> @@ -792,15 +894,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -818,10 +916,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-epoch-average.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004afe07)</Value> @@ -847,24 +941,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004313a5)</Value> @@ -1021,15 +1107,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1039,10 +1121,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/p300-speller-visualization.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>178</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x05899984)</Value> @@ -1077,107 +1155,35 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x5082af41, 0xd0fbf4cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>126</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005b8857)</Value> </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6f54afd0, 0x5f2e0f65)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 3</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>656.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x006b2e3e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> + <Link> + <Identifier>(0x0000054c, 0x00001376)</Identifier> + <Source> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001700, 0x00003f4d)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x0000062d, 0x00006549)</Identifier> <Source> @@ -1188,53 +1194,28 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>3</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>508</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>631</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>710</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00000ace, 0x000049a0)</Identifier> + <Identifier>(0x000011a8, 0x0000436f)</Identifier> <Source> <BoxIdentifier>(0x0000677e, 0x000032be)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000011c5, 0x00001252)</Identifier> + <Source> + <BoxIdentifier>(0x00001700, 0x00003f4d)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001700, 0x00003f4e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-89</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>896</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000121f, 0x00004438)</Identifier> @@ -1246,24 +1227,6 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>300</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>680</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001824, 0x000046e3)</Identifier> @@ -1275,24 +1238,6 @@ <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>434</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>522</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>454</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>616</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001a5d, 0x000012a3)</Identifier> @@ -1304,53 +1249,17 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>300</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>727</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>665</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000266b, 0x000033bb)</Identifier> + <Identifier>(0x00001f95, 0x000064df)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-9</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>671</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>535</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002e50, 0x00003fba)</Identifier> @@ -1362,111 +1271,39 @@ <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>242</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>520</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>267</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003307, 0x0000684b)</Identifier> + <Identifier>(0x00002eb8, 0x00000277)</Identifier> <Source> - <BoxIdentifier>(0x0000677e, 0x000032be)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x00002db4, 0x00004e4d)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-89</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-53</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>671</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004b6e, 0x000065db)</Identifier> + <Identifier>(0x000042a2, 0x000046cd)</Identifier> <Source> - <BoxIdentifier>(0x0000677e, 0x000032be)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002db4, 0x00004e4d)</BoxIdentifier> + <BoxIdentifier>(0x00003d0e, 0x000025ef)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-89</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>246</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>816</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005a4a, 0x00006d99)</Identifier> + <Identifier>(0x000049ea, 0x0000169b)</Identifier> <Source> - <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxIdentifier>(0x00001700, 0x00003f4e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x001a8c16, 0x15ba27e3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>76</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>512</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005b72, 0x00000606)</Identifier> @@ -1478,111 +1315,28 @@ <BoxIdentifier>(0x2e63c8c5, 0x79a8ae7b)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>508</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>616</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>695</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000064b5, 0x00002c57)</Identifier> + <Identifier>(0x00005eab, 0x000041a7)</Identifier> <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4d)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-9</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>656</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>22</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000065fe, 0x00005dce)</Identifier> + <Identifier>(0x000060b7, 0x0000236a)</Identifier> <Source> - <BoxIdentifier>(0x0000677e, 0x000032be)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00001700, 0x00003f4e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00002db4, 0x00004e4e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-89</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>871</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>246</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>727</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x00006736, 0x00007e42)</Identifier> - <Source> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000445b, 0x000068e3)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-9</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>671</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>454</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>631</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007246, 0x00001771)</Identifier> @@ -1594,24 +1348,6 @@ <BoxIdentifier>(0x00001d80, 0x00003839)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>375</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>529</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000769a, 0x00007906)</Identifier> @@ -1623,111 +1359,39 @@ <BoxIdentifier>(0x00003dec, 0x00004c7b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>520</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007bba, 0x00000887)</Identifier> + <Identifier>(0x000077d4, 0x000075ca)</Identifier> <Source> <BoxIdentifier>(0x0000677e, 0x000032be)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6f54afd0, 0x5f2e0f65)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000785b, 0x00002bfd)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-89</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>856</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-53</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>656</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> + <Identifier>(0x00007cfd, 0x0000494e)</Identifier> <Source> - <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> + <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>331</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x1a535826, 0x3804f216)</Identifier> + <Identifier>(0x00f1a11e, 0x4a813bb8)</Identifier> <Source> - <BoxIdentifier>(0x001a8c16, 0x15ba27e3)</BoxIdentifier> + <BoxIdentifier>(0x09c41dd7, 0x09f2e37b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x40e41bf9, 0x5c44b1b1)</BoxIdentifier> + <BoxIdentifier>(0x0e30a73f, 0x7ae6d95a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>130</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>512</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>144</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>512</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1737,11 +1401,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>288.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-48.000000</Value> + <Value>-64</Value> </Attribute> </Attributes> </Comment> @@ -1761,11 +1425,11 @@ details about the processing.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>256.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>128.000000</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> @@ -1774,7 +1438,7 @@ details about the processing.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x15cc794b, 0x08631685)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":496,"identifier":"(0x5acf1658, 0x420dc7f5)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":741},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4526250d, 0x3dea2a26)","index":0,"name":"Default tab","parentIdentifier":"(0x5acf1658, 0x420dc7f5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x36ee8865, 0x68264bc3)","index":0,"name":"Empty","parentIdentifier":"(0x4526250d, 0x3dea2a26)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x2e63c8c5, 0x79a8ae7b)","childCount":0,"identifier":"(0x15cc794b, 0x08631685)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":496,"identifier":"(0x5acf1658, 0x420dc7f5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":741},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4526250d, 0x3dea2a26)","index":0,"name":"Default tab","parentIdentifier":"(0x5acf1658, 0x420dc7f5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x36ee8865, 0x68264bc3)","index":0,"name":"Empty","parentIdentifier":"(0x4526250d, 0x3dea2a26)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/developer-tools/plugin-inspector/src/CAlgorithmGlobalDefinesGen.cpp b/applications/developer-tools/plugin-inspector/src/CAlgorithmGlobalDefinesGen.cpp index 350a15b3f78374e3673736f3608960c87ed630df..e520daabdf4499a0d449e95542819b0054a5ca07 100644 --- a/applications/developer-tools/plugin-inspector/src/CAlgorithmGlobalDefinesGen.cpp +++ b/applications/developer-tools/plugin-inspector/src/CAlgorithmGlobalDefinesGen.cpp @@ -81,7 +81,6 @@ bool CAlgorithmGlobalDefinesGen::callback(const Plugins::IPluginObjectDesc& plug addIdentifier(defName.c_str(), id, spaces.c_str()); }; - addIdentifierFromParameters("OVP_GD_ClassId_Algorithm_", "", pluginObjectDesc.getCreatedClassIdentifier(), ""); addIdentifierFromParameters("OVP_GD_ClassId_Algorithm_", "Desc", pluginObjectDesc.getCreatedClassIdentifier(), ""); CIdentifier id = CIdentifier::undefined(); diff --git a/applications/developer-tools/plugin-inspector/src/CPluginObjectDescEnum.hpp b/applications/developer-tools/plugin-inspector/src/CPluginObjectDescEnum.hpp index 648ad731a8f52eb601c8413284376f7d10702dfe..416ad2d735f6a1500bbeff5438227c53163f1a27 100644 --- a/applications/developer-tools/plugin-inspector/src/CPluginObjectDescEnum.hpp +++ b/applications/developer-tools/plugin-inspector/src/CPluginObjectDescEnum.hpp @@ -33,7 +33,7 @@ protected: }; virtual Kernel::ILogManager& getLogManager() const { return m_kernelCtx.getLogManager(); } - virtual Kernel::IErrorManager& getErrorManager() const { return m_kernelCtx.getErrorManager(); } + virtual Kernel::CErrorManager& getErrorManager() const { return m_kernelCtx.getErrorManager(); } const Kernel::IKernelContext& m_kernelCtx; static GdkColor colorFromIdentifier(const CIdentifier& identifier) diff --git a/applications/developer-tools/skeleton-generator/CMakeLists.txt b/applications/developer-tools/skeleton-generator/CMakeLists.txt index 2a0ea51dc7da87d3218f68f6a27be65578c9c88f..a4ddaa40d4dd8d97abb099f155505f7dcdc99813 100644 --- a/applications/developer-tools/skeleton-generator/CMakeLists.txt +++ b/applications/developer-tools/skeleton-generator/CMakeLists.txt @@ -14,17 +14,26 @@ target_link_libraries(${PROJECT_NAME} openvibe-toolkit openvibe-module-ebml openvibe-module-fs + Boost::boost + Boost::thread + Boost::regex ) +if(UNIX AND NOT APPLE) + find_library(LIB_RT rt) + if(LIB_RT) + target_link_libraries(${PROJECT_NAME} ${LIB_RT}) + else() + message(WARNING " FAILED to find rt...") + endif() +endif() + set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) # --------------------------------- include("FindThirdPartyGTK") -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_Thread") -include("FindThirdPartyBoost_Regex") # ---------------------- # Generate launch script diff --git a/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.cpp b/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.cpp index 2d5bb58c443e25ef2f4f0381fe16f8beca67094b..b4a7349b392970d7bedbcbe9f0a84dabc9f0b1d4 100755 --- a/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.cpp +++ b/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.cpp @@ -992,7 +992,7 @@ bool CBoxAlgorithmSkeletonGenerator::initialize() m_typeCorrespondances[Kernel::ParameterType_String] = "CString"; m_typeCorrespondances[Kernel::ParameterType_Identifier] = "CIdentifier"; m_typeCorrespondances[Kernel::ParameterType_Matrix] = "CMatrix *"; - m_typeCorrespondances[Kernel::ParameterType_StimulationSet] = "IStimulationSet *"; + m_typeCorrespondances[Kernel::ParameterType_StimulationSet] = "CStimulationSet *"; m_typeCorrespondances[Kernel::ParameterType_MemoryBuffer] = "IMemoryBuffer *"; m_typeCorrespondances[Kernel::ParameterType_Object] = "IObject *"; m_typeCorrespondances[Kernel::ParameterType_Pointer] = "uint8_t*"; diff --git a/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.h b/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.h index a7bb95a5de808da562824d15a71c4dd50ac616c1..ee3ad21a6d4f50a9eca747e598c7619ef7d44eb7 100644 --- a/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.h +++ b/applications/developer-tools/skeleton-generator/src/ovsgCBoxAlgorithmSkeletonGenerator.h @@ -98,7 +98,7 @@ public: private: Kernel::ILogManager& getLogManager() const override { return m_kernelCtx.getLogManager(); } - Kernel::IErrorManager& getErrorManager() const override { return m_kernelCtx.getErrorManager(); } + Kernel::CErrorManager& getErrorManager() const override { return m_kernelCtx.getErrorManager(); } static std::string getRandomIdentifierString() { return CIdentifier::random().str(); } diff --git a/applications/developer-tools/skeleton-generator/src/ovsgCDriverSkeletonGenerator.h b/applications/developer-tools/skeleton-generator/src/ovsgCDriverSkeletonGenerator.h index 2f6dd10324fce50de0064028bc046bfe5b743f24..7b8536533acc05322a443a9619bf0cefb0b95236 100755 --- a/applications/developer-tools/skeleton-generator/src/ovsgCDriverSkeletonGenerator.h +++ b/applications/developer-tools/skeleton-generator/src/ovsgCDriverSkeletonGenerator.h @@ -34,7 +34,7 @@ public: private: Kernel::ILogManager& getLogManager() const override { return m_kernelCtx.getLogManager(); } - Kernel::IErrorManager& getErrorManager() const override { return m_kernelCtx.getErrorManager(); } + Kernel::CErrorManager& getErrorManager() const override { return m_kernelCtx.getErrorManager(); } enum class EWidgetName { diff --git a/applications/developer-tools/skeleton-generator/src/ovsgCSkeletonGenerator.h b/applications/developer-tools/skeleton-generator/src/ovsgCSkeletonGenerator.h index aa057188a923ae222aaf5a39d5057174dbe7bb67..dc28ab100ce2496a269a4892eb381f9deeee3d9f 100755 --- a/applications/developer-tools/skeleton-generator/src/ovsgCSkeletonGenerator.h +++ b/applications/developer-tools/skeleton-generator/src/ovsgCSkeletonGenerator.h @@ -56,7 +56,7 @@ protected: virtual bool load(const std::string& filename) = 0; virtual Kernel::ILogManager& getLogManager() const { return m_kernelCtx.getLogManager(); } - virtual Kernel::IErrorManager& getErrorManager() const { return m_kernelCtx.getErrorManager(); } + virtual Kernel::CErrorManager& getErrorManager() const { return m_kernelCtx.getErrorManager(); } }; } // namespace SkeletonGenerator } // namespace OpenViBE diff --git a/applications/developer-tools/vrpn-simulator/CMakeLists.txt b/applications/developer-tools/vrpn-simulator/CMakeLists.txt index 3336ba48ee840e3f19397ff1be93330e5f1cc965..b615255709e698e885808a7a8a611873c358c0ec 100644 --- a/applications/developer-tools/vrpn-simulator/CMakeLists.txt +++ b/applications/developer-tools/vrpn-simulator/CMakeLists.txt @@ -5,11 +5,6 @@ endif(OV_DISABLE_GTK) project(openvibe-vrpn-simulator VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -include("FindThirdPartyVRPN_Check") -if(NOT PATH_VRPN) - message(STATUS " --> Not building ${PROJECT_NAME}") - return() -endif(NOT PATH_VRPN) file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl) add_executable(${PROJECT_NAME} ${SRC_FILES}) @@ -17,12 +12,12 @@ add_executable(${PROJECT_NAME} ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} openvibe openvibe-common + vrpn ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) include("FindThirdPartyGTK") -include("FindThirdPartyVRPN") # --------------------------------- # Finds standard library pthread diff --git a/applications/developer-tools/vrpn-simulator/src/ova_main.cpp b/applications/developer-tools/vrpn-simulator/src/ova_main.cpp index 873419070f007aee1a237045c4c7f492bfe8fbc5..749c38998adc13f5848b389b8ca97936fa5a84fd 100644 --- a/applications/developer-tools/vrpn-simulator/src/ova_main.cpp +++ b/applications/developer-tools/vrpn-simulator/src/ova_main.cpp @@ -1,5 +1,22 @@ -#if defined TARGET_HAS_ThirdPartyVRPN - +/** + * @file ova_main.cpp + * @brief Program to simulate VPRN interaction + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include <clocale> // std::setlocale #include <gtk/gtk.h> @@ -78,11 +95,8 @@ gboolean fIdleApplicationLoop(gpointer /*data*/) return TRUE; } -#endif // TARGET_HAS_ThirdPartyVRPN - int main(int argc, char** argv) { -#if defined TARGET_HAS_ThirdPartyVRPN const int nChannels = 8; gtk_init(&argc, &argv); @@ -130,7 +144,5 @@ int main(int argc, char** argv) delete analogServer; delete buttonServer; delete connection; - -#endif // TARGET_HAS_ThirdPartyVRPN return 0; } diff --git a/applications/examples/convert/share/csv2edf.xml b/applications/examples/convert/share/csv2edf.xml index a9ea96f639909da44aaac4b291052ff9026f3d87..322e386f6d9b9301e709d255e1822bcc148f4d27 100644 --- a/applications/examples/convert/share/csv2edf.xml +++ b/applications/examples/convert/share/csv2edf.xml @@ -1,8 +1,61 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000006dc, 0x00005fd5)</Identifier> + <Name>CSV File Reader</Name> + <AlgorithmClassIdentifier>(0x336a3d9a, 0x753f1ba4)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stimulation</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>$ENV{OV_CONVERT_SRC}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00002ba5, 0x000028e3)</Identifier> <Name>Player Controller</Name> @@ -32,24 +85,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>192</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -95,24 +140,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>192</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -127,89 +164,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000065b1, 0x00001c78)</Identifier> - <Name>CSV File Reader</Name> - <AlgorithmClassIdentifier>(0x641d0717, 0x02884107)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>$ENV{OV_CONVERT_SRC}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Don't use the file time</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Samples per buffer</Name> - <DefaultValue>32</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x3bf57676, 0xad3aaefa)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>4</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x000066b4, 0x00006748)</Identifier> <Name>EDF File Writer</Name> @@ -240,11 +194,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -254,10 +204,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -270,6 +216,17 @@ </Box> </Boxes> <Links> + <Link> + <Identifier>(0x00000f20, 0x00007d7e)</Identifier> + <Source> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00004365, 0x00004e39)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00001289, 0x000050aa)</Identifier> <Source> @@ -280,82 +237,28 @@ <BoxIdentifier>(0x00002ba5, 0x000028e3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-281</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>192</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>192</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000058de, 0x00001e61)</Identifier> + <Identifier>(0x0000414a, 0x000068da)</Identifier> <Source> - <BoxIdentifier>(0x000065b1, 0x00001c78)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004365, 0x00004e39)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x000066b4, 0x00006748)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-388</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-325</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>192</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005ab2, 0x00006da3)</Identifier> + <Identifier>(0x00006212, 0x000072f7)</Identifier> <Source> - <BoxIdentifier>(0x000065b1, 0x00001c78)</BoxIdentifier> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x000066b4, 0x00006748)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-388</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>352</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -391,7 +294,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000117a, 0x00006d76)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000878, 0x000036c2)","index":0,"name":"Default tab","parentIdentifier":"(0x0000117a, 0x00006d76)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004963, 0x000026b1)","index":0,"name":"Empty","parentIdentifier":"(0x00000878, 0x000036c2)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000117a, 0x00006d76)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000878, 0x000036c2)","index":0,"name":"Default tab","parentIdentifier":"(0x0000117a, 0x00006d76)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004963, 0x000026b1)","index":0,"name":"Empty","parentIdentifier":"(0x00000878, 0x000036c2)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/csv2gdf.xml b/applications/examples/convert/share/csv2gdf.xml index f6043f4ee53948d2f6cf2dc3cb6d91d1ca7e45e6..5fced5d857ad487f797afef8808e044e67944249 100644 --- a/applications/examples/convert/share/csv2gdf.xml +++ b/applications/examples/convert/share/csv2gdf.xml @@ -1,8 +1,61 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000006dc, 0x00005fd5)</Identifier> + <Name>CSV File Reader</Name> + <AlgorithmClassIdentifier>(0x336a3d9a, 0x753f1ba4)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stimulation</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>$ENV{OV_CONVERT_SRC}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000015fd, 0x00007cb9)</Identifier> <Name>GDF file writer</Name> @@ -33,24 +86,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>103</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -96,24 +141,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -157,24 +194,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -185,119 +214,18 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000065b1, 0x00001c78)</Identifier> - <Name>CSV File Reader</Name> - <AlgorithmClassIdentifier>(0x641d0717, 0x02884107)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>$ENV{OV_CONVERT_SRC}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Don't use the file time</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Samples per buffer</Name> - <DefaultValue>32</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x3bf57676, 0xad3aaefa)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>4</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x00001127, 0x00004996)</Identifier> + <Identifier>(0x0000254d, 0x00002b8d)</Identifier> <Source> - <BoxIdentifier>(0x000065b1, 0x00001c78)</BoxIdentifier> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00001af6, 0x00003a73)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-420</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-325</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000027d3, 0x00007f0e)</Identifier> @@ -309,53 +237,28 @@ <BoxIdentifier>(0x0000634f, 0x00006f69)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-281</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007faf, 0x00000aff)</Identifier> + <Identifier>(0x00004ded, 0x00000136)</Identifier> <Source> - <BoxIdentifier>(0x000065b1, 0x00001c78)</BoxIdentifier> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x000015fd, 0x00007cb9)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-420</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>400</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00006088, 0x00006870)</Identifier> + <Source> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000015fd, 0x00007cb9)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> + </Target> </Link> </Links> <Comments> @@ -391,7 +294,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000183a, 0x00001fb4)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000013a6, 0x00004f66)","index":0,"name":"Default tab","parentIdentifier":"(0x0000183a, 0x00001fb4)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00007153, 0x00007833)","index":0,"name":"Empty","parentIdentifier":"(0x000013a6, 0x00004f66)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000183a, 0x00001fb4)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000013a6, 0x00004f66)","index":0,"name":"Default tab","parentIdentifier":"(0x0000183a, 0x00001fb4)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00007153, 0x00007833)","index":0,"name":"Empty","parentIdentifier":"(0x000013a6, 0x00004f66)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/csv2ov.xml b/applications/examples/convert/share/csv2ov.xml index e40fae01f480208972b14ad4e290b8ae93b97699..a101673fff48b1d76eafbced8f30e744903361f7 100644 --- a/applications/examples/convert/share/csv2ov.xml +++ b/applications/examples/convert/share/csv2ov.xml @@ -1,8 +1,61 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000006dc, 0x00005fd5)</Identifier> + <Name>CSV File Reader</Name> + <AlgorithmClassIdentifier>(0x336a3d9a, 0x753f1ba4)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stimulation</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>$ENV{OV_CONVERT_SRC}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-448</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00001b32, 0x00002935)</Identifier> <Name>Player Controller</Name> @@ -32,11 +85,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -46,10 +95,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -77,10 +122,6 @@ <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 3</Name> </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 4</Name> - </Input> </Inputs> <Settings> <Setting> @@ -101,15 +142,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -119,10 +156,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -172,11 +205,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -186,10 +215,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -204,119 +229,29 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000065b1, 0x00001c78)</Identifier> - <Name>CSV File Reader</Name> - <AlgorithmClassIdentifier>(0x641d0717, 0x02884107)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>$ENV{OV_CONVERT_SRC}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Don't use the file time</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Samples per buffer</Name> - <DefaultValue>32</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x3bf57676, 0xad3aaefa)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>4</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x000001ff, 0x00004d2a)</Identifier> + <Identifier>(0x00000cb2, 0x00005d3b)</Identifier> <Source> - <BoxIdentifier>(0x000065b1, 0x00001c78)</BoxIdentifier> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000384d, 0x00004102)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000030d3, 0x00001513)</Identifier> + <Source> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00004d8f, 0x00006118)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-420</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-341</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003356, 0x00002cc7)</Identifier> @@ -328,53 +263,17 @@ <BoxIdentifier>(0x00001b32, 0x00002935)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000034e3, 0x00000c1c)</Identifier> + <Identifier>(0x00005fa0, 0x00001300)</Identifier> <Source> - <BoxIdentifier>(0x000065b1, 0x00001c78)</BoxIdentifier> + <BoxIdentifier>(0x000006dc, 0x00005fd5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x0000384d, 0x00004102)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-420</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-261</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>360</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -410,7 +309,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000006d8, 0x0000480b)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006e88, 0x00003181)","index":0,"name":"Default tab","parentIdentifier":"(0x000006d8, 0x0000480b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00002738, 0x00002461)","index":0,"name":"Empty","parentIdentifier":"(0x00006e88, 0x00003181)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000006d8, 0x0000480b)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006e88, 0x00003181)","index":0,"name":"Default tab","parentIdentifier":"(0x000006d8, 0x0000480b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00002738, 0x00002461)","index":0,"name":"Empty","parentIdentifier":"(0x00006e88, 0x00003181)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/dat2csv.xml b/applications/examples/convert/share/dat2csv.xml index 655278f20701477d90325b66bc871f3e8e2ffb55..025b263d9441bbd257990590aa597f75475dbc21 100644 --- a/applications/examples/convert/share/dat2csv.xml +++ b/applications/examples/convert/share/dat2csv.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000014f, 0x00002238)</Identifier> @@ -38,11 +41,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-336</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -52,10 +51,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -99,11 +94,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -113,10 +104,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -128,134 +115,125 @@ </Attributes> </Box> <Box> - <Identifier>(0x00004b99, 0x00004b73)</Identifier> - <Name>CSV File Writer</Name> - <AlgorithmClassIdentifier>(0x2c9312f1, 0x2d6613e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> + <Identifier>(0x0000561c, 0x00002bfb)</Identifier> + <Name>BCI2000 File Reader</Name> + <AlgorithmClassIdentifier>(0xff78daf4, 0xc41544b8)</AlgorithmClassIdentifier> + <Outputs> + <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Streamed matrix</Name> - </Input> - </Inputs> + <Name>Signal</Name> + </Output> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>State</Name> + </Output> + </Outputs> <Settings> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> - <Value>$ENV{OV_CONVERT_DEST}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> + <Name>File name</Name> + <DefaultValue></DefaultValue> + <Value>$ENV{OV_CONVERT_SRC}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Use compression</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Samples per buffer</Name> + <DefaultValue>16</DefaultValue> + <Value>16</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x229d1207, 0xebac8ab0)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> + <Value>(0xbe81a967, 0x726cb086)</Value> </Attribute> <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0000561c, 0x00002bfb)</Identifier> - <Name>BCI2000 File Reader</Name> - <AlgorithmClassIdentifier>(0xff78daf4, 0xc41544b8)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Signal</Name> - </Output> - <Output> + <Identifier>(0x00006371, 0x00001324)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>State</Name> - </Output> - </Outputs> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> <Settings> <Setting> <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>File name</Name> - <DefaultValue></DefaultValue> - <Value>$ENV{OV_CONVERT_SRC}</Value> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>$ENV{OV_CONVERT_DEST}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Samples per buffer</Name> - <DefaultValue>16</DefaultValue> - <Value>16</Value> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-448</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xbe81a967, 0x726cb086)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>141</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>2</Value> </Attribute> </Attributes> @@ -263,33 +241,15 @@ </Boxes> <Links> <Link> - <Identifier>(0x00002bb8, 0x00001db6)</Identifier> + <Identifier>(0x00002540, 0x0000059c)</Identifier> <Source> <BoxIdentifier>(0x0000561c, 0x00002bfb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004b99, 0x00004b73)</BoxIdentifier> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-277</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000062b0, 0x00002f96)</Identifier> @@ -301,24 +261,6 @@ <BoxIdentifier>(0x0000014f, 0x00002238)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-357</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006f57, 0x00000ef6)</Identifier> @@ -330,24 +272,6 @@ <BoxIdentifier>(0x000048db, 0x00006875)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-272</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -383,7 +307,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00005cdf, 0x00005080)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000726c, 0x0000176d)","index":0,"name":"Default tab","parentIdentifier":"(0x00005cdf, 0x00005080)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000448d, 0x00007374)","index":0,"name":"Empty","parentIdentifier":"(0x0000726c, 0x0000176d)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00005cdf, 0x00005080)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000726c, 0x0000176d)","index":0,"name":"Default tab","parentIdentifier":"(0x00005cdf, 0x00005080)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000448d, 0x00007374)","index":0,"name":"Empty","parentIdentifier":"(0x0000726c, 0x0000176d)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/dat2edf.xml b/applications/examples/convert/share/dat2edf.xml index 6dd0b9499692bd1d46b8673391fdf55b00599f26..ba4ea11e254bf6735db41d5e9f817a9e3d413686 100644 --- a/applications/examples/convert/share/dat2edf.xml +++ b/applications/examples/convert/share/dat2edf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000a6e, 0x0000673d)</Identifier> @@ -38,11 +41,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-336</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -52,10 +51,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -100,28 +95,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -165,24 +148,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-448</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xbe81a967, 0x726cb086)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>141</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>2</Value> @@ -222,11 +197,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -236,10 +207,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -262,24 +229,6 @@ <BoxIdentifier>(0x00000a6e, 0x0000673d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-357</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000052e5, 0x00005888)</Identifier> @@ -291,24 +240,6 @@ <BoxIdentifier>(0x00006d7b, 0x00000ff5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-272</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007f5c, 0x000001f8)</Identifier> @@ -320,24 +251,6 @@ <BoxIdentifier>(0x0000275b, 0x00004963)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-272</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -373,7 +286,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000164a, 0x0000093b)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002332, 0x0000569b)","index":0,"name":"Default tab","parentIdentifier":"(0x0000164a, 0x0000093b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006b61, 0x00004740)","index":0,"name":"Empty","parentIdentifier":"(0x00002332, 0x0000569b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000164a, 0x0000093b)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002332, 0x0000569b)","index":0,"name":"Default tab","parentIdentifier":"(0x0000164a, 0x0000093b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006b61, 0x00004740)","index":0,"name":"Empty","parentIdentifier":"(0x00002332, 0x0000569b)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/dat2gdf.xml b/applications/examples/convert/share/dat2gdf.xml index 3e606f2cdadb71fd6bc765fc1232d7d07302b81b..fd6e46dcb7a27bc25852752b04d437409fdad040 100644 --- a/applications/examples/convert/share/dat2gdf.xml +++ b/applications/examples/convert/share/dat2gdf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000b9b, 0x000045c9)</Identifier> @@ -35,26 +38,14 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-256</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>103</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -96,10 +87,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-256</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>208</Value> @@ -108,10 +95,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -159,10 +142,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-336</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>208</Value> @@ -171,10 +150,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -222,24 +197,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-448</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xbe81a967, 0x726cb086)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>141</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>2</Value> @@ -262,24 +229,6 @@ <BoxIdentifier>(0x0000448a, 0x000048f7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-272</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002147, 0x000036a2)</Identifier> @@ -291,24 +240,6 @@ <BoxIdentifier>(0x00005429, 0x00007029)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-357</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006e81, 0x00003e49)</Identifier> @@ -320,24 +251,6 @@ <BoxIdentifier>(0x00000b9b, 0x000045c9)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>376</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-272</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -373,7 +286,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00000b31, 0x0000486c)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005acd, 0x000063a4)","index":0,"name":"Default tab","parentIdentifier":"(0x00000b31, 0x0000486c)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006e9e, 0x00006cde)","index":0,"name":"Empty","parentIdentifier":"(0x00005acd, 0x000063a4)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00000b31, 0x0000486c)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005acd, 0x000063a4)","index":0,"name":"Default tab","parentIdentifier":"(0x00000b31, 0x0000486c)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006e9e, 0x00006cde)","index":0,"name":"Empty","parentIdentifier":"(0x00005acd, 0x000063a4)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/dat2ov.xml b/applications/examples/convert/share/dat2ov.xml index e38f934d3bc08cdb5529c0b68cd95ccd10659246..0d70b3d082dfa75b2307b758513348e99f9240e5 100644 --- a/applications/examples/convert/share/dat2ov.xml +++ b/applications/examples/convert/share/dat2ov.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000b7f, 0x0000315e)</Identifier> @@ -38,24 +41,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>144</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -111,11 +106,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-144</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -129,10 +120,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -180,24 +167,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-336</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xbe81a967, 0x726cb086)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>141</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>2</Value> @@ -237,24 +216,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-144</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>144</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -277,24 +248,6 @@ <BoxIdentifier>(0x00000b7f, 0x0000315e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>312</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-245</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>144</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00000634, 0x00002c4f)</Identifier> @@ -306,24 +259,6 @@ <BoxIdentifier>(0x00006303, 0x00000829)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-201</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>144</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-160</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>144</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000052e5, 0x000006df)</Identifier> @@ -335,24 +270,6 @@ <BoxIdentifier>(0x000013b9, 0x0000124a)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>312</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-165</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>312</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -388,7 +305,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007502, 0x00005198)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003742, 0x000002b2)","index":0,"name":"Default tab","parentIdentifier":"(0x00007502, 0x00005198)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00001f0d, 0x0000322b)","index":0,"name":"Empty","parentIdentifier":"(0x00003742, 0x000002b2)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007502, 0x00005198)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003742, 0x000002b2)","index":0,"name":"Default tab","parentIdentifier":"(0x00007502, 0x00005198)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00001f0d, 0x0000322b)","index":0,"name":"Empty","parentIdentifier":"(0x00003742, 0x000002b2)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/gdf2csv.xml b/applications/examples/convert/share/gdf2csv.xml index 90b5d3f67ecf9dd4b26584ddee5b9ea446c48684..0893e16a80fa2a86fc9630d19456dfd8372b2575 100644 --- a/applications/examples/convert/share/gdf2csv.xml +++ b/applications/examples/convert/share/gdf2csv.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000168d, 0x000033c9)</Identifier> @@ -47,28 +50,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-432</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>-368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -120,10 +111,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-304</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>208</Value> @@ -132,10 +119,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -181,10 +164,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-224</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>208</Value> @@ -193,10 +172,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -208,13 +183,17 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006f61, 0x00006be2)</Identifier> + <Identifier>(0x00006371, 0x00001324)</Identifier> <Name>CSV File Writer</Name> - <AlgorithmClassIdentifier>(0x2c9312f1, 0x2d6613e5)</AlgorithmClassIdentifier> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Streamed matrix</Name> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> </Input> </Inputs> <Settings> @@ -225,13 +204,6 @@ <Value>$ENV{OV_CONVERT_DEST}</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>Precision</Name> @@ -239,39 +211,45 @@ <Value>10</Value> <Modifiability>false</Modifiability> </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-224</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x229d1207, 0xebac8ab0)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -287,24 +265,17 @@ <BoxIdentifier>(0x00001cb3, 0x00006b41)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-413</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-328</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00003527, 0x00001c26)</Identifier> + <Source> + <BoxIdentifier>(0x0000168d, 0x000033c9)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x000059cb, 0x00000146)</Identifier> @@ -316,53 +287,17 @@ <BoxIdentifier>(0x00005edb, 0x000070ac)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-279</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-241</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000686a, 0x00001061)</Identifier> + <Identifier>(0x00005f08, 0x000062b2)</Identifier> <Source> <BoxIdentifier>(0x0000168d, 0x000033c9)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006f61, 0x00006be2)</BoxIdentifier> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-413</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-248</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -398,7 +333,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000028e5, 0x00005b8f)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007be7, 0x0000130b)","index":0,"name":"Default tab","parentIdentifier":"(0x000028e5, 0x00005b8f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004189, 0x000004fe)","index":0,"name":"Empty","parentIdentifier":"(0x00007be7, 0x0000130b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000028e5, 0x00005b8f)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007be7, 0x0000130b)","index":0,"name":"Default tab","parentIdentifier":"(0x000028e5, 0x00005b8f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004189, 0x000004fe)","index":0,"name":"Empty","parentIdentifier":"(0x00007be7, 0x0000130b)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/gdf2edf.xml b/applications/examples/convert/share/gdf2edf.xml index 46815166b84e86d60ae2ed121f40714304380538..f6587a6b91ae02307422e078791413531635391b 100644 --- a/applications/examples/convert/share/gdf2edf.xml +++ b/applications/examples/convert/share/gdf2edf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000526, 0x00007353)</Identifier> @@ -33,24 +36,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -96,11 +91,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>-368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -110,10 +101,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>69</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -172,24 +159,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-464</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>-432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>123</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -233,11 +212,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -247,10 +222,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -273,24 +244,17 @@ <BoxIdentifier>(0x00000526, 0x00007353)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-445</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>351</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-241</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>351</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00002f06, 0x00006315)</Identifier> + <Source> + <BoxIdentifier>(0x00006113, 0x00000a51)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000526, 0x00007353)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x000059ec, 0x00001b74)</Identifier> @@ -302,24 +266,6 @@ <BoxIdentifier>(0x00007990, 0x00003864)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-279</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-241</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005ddc, 0x00007598)</Identifier> @@ -331,24 +277,6 @@ <BoxIdentifier>(0x00000526, 0x00007353)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-445</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-241</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007ea6, 0x00001136)</Identifier> @@ -360,24 +288,6 @@ <BoxIdentifier>(0x00001818, 0x0000049e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-445</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-328</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -413,7 +323,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00003f0d, 0x0000558e)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003b1f, 0x000025da)","index":0,"name":"Default tab","parentIdentifier":"(0x00003f0d, 0x0000558e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000f4f, 0x00002230)","index":0,"name":"Empty","parentIdentifier":"(0x00003b1f, 0x000025da)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00003f0d, 0x0000558e)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003b1f, 0x000025da)","index":0,"name":"Default tab","parentIdentifier":"(0x00003f0d, 0x0000558e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000f4f, 0x00002230)","index":0,"name":"Empty","parentIdentifier":"(0x00003b1f, 0x000025da)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/gdf2ov.xml b/applications/examples/convert/share/gdf2ov.xml index 4e404f8f5a1f3be94fd93e1b1d695eef4983dacf..cdff5fbc520257619aa535e12b80d2d82c481115 100644 --- a/applications/examples/convert/share/gdf2ov.xml +++ b/applications/examples/convert/share/gdf2ov.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00002996, 0x00000832)</Identifier> @@ -32,11 +35,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -46,10 +45,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -95,11 +90,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -109,10 +100,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -164,15 +151,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -182,14 +165,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -248,24 +223,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-448</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -292,24 +259,17 @@ <BoxIdentifier>(0x00002a1e, 0x0000388c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-430</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-341</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>192</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00003e2c, 0x00004802)</Identifier> + <Source> + <BoxIdentifier>(0x00005519, 0x00002a93)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000357c, 0x00007bce)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x00006143, 0x000006c2)</Identifier> @@ -321,24 +281,6 @@ <BoxIdentifier>(0x0000357c, 0x00007bce)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-430</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-245</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000623e, 0x00007989)</Identifier> @@ -350,24 +292,6 @@ <BoxIdentifier>(0x00002996, 0x00000832)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>192</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>192</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006650, 0x00002814)</Identifier> @@ -379,24 +303,6 @@ <BoxIdentifier>(0x0000357c, 0x00007bce)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-430</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>351</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-245</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>351</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -432,7 +338,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007de8, 0x00004b42)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006836, 0x00000506)","index":0,"name":"Default tab","parentIdentifier":"(0x00007de8, 0x00004b42)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000b7d, 0x00007991)","index":0,"name":"Empty","parentIdentifier":"(0x00006836, 0x00000506)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007de8, 0x00004b42)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006836, 0x00000506)","index":0,"name":"Default tab","parentIdentifier":"(0x00007de8, 0x00004b42)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000b7d, 0x00007991)","index":0,"name":"Empty","parentIdentifier":"(0x00006836, 0x00000506)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/ov2csv.xml b/applications/examples/convert/share/ov2csv.xml index 732285ce3f73ae3becac1acaa7b336207e632c26..fdba57630df784b055f730a8e3b79ec319750201 100644 --- a/applications/examples/convert/share/ov2csv.xml +++ b/applications/examples/convert/share/ov2csv.xml @@ -1,76 +1,11 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> - <Box> - <Identifier>(0x0000003a, 0x0000396d)</Identifier> - <Name>CSV File Writer</Name> - <AlgorithmClassIdentifier>(0x2c9312f1, 0x2d6613e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Streamed matrix</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> - <Value>$ENV{OV_CONVERT_DEST}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Precision</Name> - <DefaultValue>10</DefaultValue> - <Value>10</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x229d1207, 0xebac8ab0)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x000005eb, 0x000062b6)</Identifier> <Name>Generic stream reader</Name> @@ -101,15 +36,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-432</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -123,10 +54,6 @@ <Identifier>(0xac637a9c, 0x2ad59abe)</Identifier> <Value>false</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x006d82bf)</Value> @@ -172,24 +99,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -205,70 +124,47 @@ </Attributes> </Box> <Box> - <Identifier>(0x000059f9, 0x00004007)</Identifier> - <Name>CSV File Writer</Name> - <AlgorithmClassIdentifier>(0x2c9312f1, 0x2d6613e5)</AlgorithmClassIdentifier> + <Identifier>(0x00006169, 0x000070c6)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream</Name> + <Name>Stimulations</Name> </Input> </Inputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> - <Value>$ENV{OV_CONVERT_DEST}.stims.csv</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Precision</Name> - <DefaultValue>10</DefaultValue> - <Value>10</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x229d1207, 0xebac8ab0)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -277,179 +173,121 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006169, 0x000070c6)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x00006371, 0x00001324)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input stream</Name> + </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <Name>Stimulations stream</Name> </Input> </Inputs> <Settings> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_00</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>$ENV{OV_CONVERT_DEST}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> </Boxes> <Links> <Link> - <Identifier>(0x00003233, 0x0000249f)</Identifier> + <Identifier>(0x00000d9f, 0x000040c3)</Identifier> <Source> <BoxIdentifier>(0x000005eb, 0x000062b6)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000059f9, 0x00004007)</BoxIdentifier> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-409</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>375</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-245</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>512</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003693, 0x00006699)</Identifier> + <Identifier>(0x00001a30, 0x00004084)</Identifier> <Source> - <BoxIdentifier>(0x00000f77, 0x0000195e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000005eb, 0x000062b6)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006169, 0x000070c6)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-281</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00007214, 0x0000354c)</Identifier> + <Identifier>(0x00003693, 0x00006699)</Identifier> <Source> - <BoxIdentifier>(0x000005eb, 0x000062b6)</BoxIdentifier> + <BoxIdentifier>(0x00000f77, 0x0000195e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00000f77, 0x0000195e)</BoxIdentifier> + <BoxIdentifier>(0x00006169, 0x000070c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-409</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>360</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-325</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000745e, 0x000067f4)</Identifier> + <Identifier>(0x00007214, 0x0000354c)</Identifier> <Source> <BoxIdentifier>(0x000005eb, 0x000062b6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000003a, 0x0000396d)</BoxIdentifier> + <BoxIdentifier>(0x00000f77, 0x0000195e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-409</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>360</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-245</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>368</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -485,7 +323,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000479a, 0x00000bdf)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007604, 0x00007268)","index":0,"name":"Default tab","parentIdentifier":"(0x0000479a, 0x00000bdf)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006db2, 0x000007a2)","index":0,"name":"Empty","parentIdentifier":"(0x00007604, 0x00007268)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000479a, 0x00000bdf)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007604, 0x00007268)","index":0,"name":"Default tab","parentIdentifier":"(0x0000479a, 0x00000bdf)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006db2, 0x000007a2)","index":0,"name":"Empty","parentIdentifier":"(0x00007604, 0x00007268)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/ov2edf.xml b/applications/examples/convert/share/ov2edf.xml index c27c20e42364a5a0617c965a7ba18855bc9bc1bc..2061d5ae707ea7c4a03d0f5d513737eb75ec0ba9 100644 --- a/applications/examples/convert/share/ov2edf.xml +++ b/applications/examples/convert/share/ov2edf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000001c, 0x00006261)</Identifier> @@ -38,11 +41,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -52,10 +51,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -99,11 +94,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -113,10 +104,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -157,28 +144,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -206,10 +181,6 @@ <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 3</Name> </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 4</Name> - </Output> </Outputs> <Settings> <Setting> @@ -229,13 +200,9 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-448</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -249,10 +216,6 @@ <Identifier>(0xac637a9c, 0x2ad59abe)</Identifier> <Value>false</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x006d82bf)</Value> @@ -275,24 +238,6 @@ <BoxIdentifier>(0x000006bb, 0x00005374)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002c45, 0x00005954)</Identifier> @@ -304,24 +249,17 @@ <BoxIdentifier>(0x0000328d, 0x00003daf)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>328</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>352</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x0000378d, 0x00001313)</Identifier> + <Source> + <BoxIdentifier>(0x00006601, 0x00002719)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000328d, 0x00003daf)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x000055d6, 0x00000430)</Identifier> @@ -333,24 +271,6 @@ <BoxIdentifier>(0x0000001c, 0x00006261)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>328</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-341</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000060ca, 0x00001c21)</Identifier> @@ -362,24 +282,6 @@ <BoxIdentifier>(0x0000328d, 0x00003daf)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-425</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>343</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>367</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -415,7 +317,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00006629, 0x000037d7)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007da8, 0x00005159)","index":0,"name":"Default tab","parentIdentifier":"(0x00006629, 0x000037d7)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000025cc, 0x00003d0d)","index":0,"name":"Empty","parentIdentifier":"(0x00007da8, 0x00005159)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00006629, 0x000037d7)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007da8, 0x00005159)","index":0,"name":"Default tab","parentIdentifier":"(0x00006629, 0x000037d7)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000025cc, 0x00003d0d)","index":0,"name":"Empty","parentIdentifier":"(0x00007da8, 0x00005159)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/ov2gdf.xml b/applications/examples/convert/share/ov2gdf.xml index 583f612ef72d39c9aa7eddd41a89988729cf0e14..3294ca37d307cda2383affca3fa0553fd5717c0f 100644 --- a/applications/examples/convert/share/ov2gdf.xml +++ b/applications/examples/convert/share/ov2gdf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000053c, 0x00001637)</Identifier> @@ -39,13 +42,9 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>-432</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -59,10 +58,6 @@ <Identifier>(0xac637a9c, 0x2ad59abe)</Identifier> <Value>false</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x006d82bf)</Value> @@ -102,24 +97,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -160,24 +147,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>103</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -223,24 +202,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -267,24 +238,6 @@ <BoxIdentifier>(0x00006ffa, 0x000071a0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-409</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-325</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000042e4, 0x00005d86)</Identifier> @@ -296,24 +249,6 @@ <BoxIdentifier>(0x00006c21, 0x00004dfd)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-409</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>367</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>367</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000045ee, 0x000074b2)</Identifier> @@ -325,24 +260,17 @@ <BoxIdentifier>(0x00001785, 0x00002d8f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-281</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00004de9, 0x000043dc)</Identifier> + <Source> + <BoxIdentifier>(0x0000053c, 0x00001637)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006c21, 0x00004dfd)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x0000727d, 0x00004fc0)</Identifier> @@ -354,24 +282,6 @@ <BoxIdentifier>(0x00006c21, 0x00004dfd)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-409</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>352</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -407,7 +317,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007fe9, 0x00007c12)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006f07, 0x00006b8b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007fe9, 0x00007c12)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000012c6, 0x00002fec)","index":0,"name":"Empty","parentIdentifier":"(0x00006f07, 0x00006b8b)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00007fe9, 0x00007c12)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006f07, 0x00006b8b)","index":0,"name":"Default tab","parentIdentifier":"(0x00007fe9, 0x00007c12)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000012c6, 0x00002fec)","index":0,"name":"Empty","parentIdentifier":"(0x00006f07, 0x00006b8b)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/vhdr2csv.xml b/applications/examples/convert/share/vhdr2csv.xml index d724e1bd8b9b94c0960d3414dd7641510e432391..c6444f8731c425568652e29df828d535cadc979b 100644 --- a/applications/examples/convert/share/vhdr2csv.xml +++ b/applications/examples/convert/share/vhdr2csv.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000140b, 0x000075a3)</Identifier> @@ -38,24 +41,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -99,24 +94,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -171,28 +158,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x15ef4ecc, 0xb1af1f0b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -208,13 +183,17 @@ </Attributes> </Box> <Box> - <Identifier>(0x00004037, 0x00001f17)</Identifier> + <Identifier>(0x00006371, 0x00001324)</Identifier> <Name>CSV File Writer</Name> - <AlgorithmClassIdentifier>(0x2c9312f1, 0x2d6613e5)</AlgorithmClassIdentifier> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Streamed matrix</Name> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> </Input> </Inputs> <Settings> @@ -225,13 +204,6 @@ <Value>$ENV{OV_CONVERT_DEST}</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Column separator</Name> - <DefaultValue>;</DefaultValue> - <Value>;</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>Precision</Name> @@ -239,72 +211,71 @@ <Value>10</Value> <Modifiability>false</Modifiability> </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x229d1207, 0xebac8ab0)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> </Boxes> <Links> <Link> - <Identifier>(0x00001243, 0x00001091)</Identifier> + <Identifier>(0x00002b90, 0x00004144)</Identifier> + <Source> + <BoxIdentifier>(0x000027aa, 0x00007b44)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003872, 0x000067c1)</Identifier> <Source> <BoxIdentifier>(0x000027aa, 0x00007b44)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004037, 0x00001f17)</BoxIdentifier> + <BoxIdentifier>(0x00006371, 0x00001324)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-245</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>352</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000473a, 0x000038a1)</Identifier> @@ -316,24 +287,6 @@ <BoxIdentifier>(0x0000140b, 0x000075a3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-325</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006092, 0x00007409)</Identifier> @@ -345,24 +298,6 @@ <BoxIdentifier>(0x00001d43, 0x00003591)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-281</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -398,7 +333,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000473e, 0x00006737)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006d0e, 0x00002a72)","index":0,"name":"Default tab","parentIdentifier":"(0x0000473e, 0x00006737)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000044fb, 0x00007ef2)","index":0,"name":"Empty","parentIdentifier":"(0x00006d0e, 0x00002a72)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000473e, 0x00006737)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006d0e, 0x00002a72)","index":0,"name":"Default tab","parentIdentifier":"(0x0000473e, 0x00006737)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000044fb, 0x00007ef2)","index":0,"name":"Empty","parentIdentifier":"(0x00006d0e, 0x00002a72)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/vhdr2edf.xml b/applications/examples/convert/share/vhdr2edf.xml index 02790afbdfb4f50e1c87c9db485ba48f9c4e4ee1..825faaf3c290dab352121dfa89baed80548f3973 100644 --- a/applications/examples/convert/share/vhdr2edf.xml +++ b/applications/examples/convert/share/vhdr2edf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00001c6e, 0x00005140)</Identifier> @@ -33,24 +36,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -105,28 +100,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-416.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x15ef4ecc, 0xb1af1f0b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -176,24 +159,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -237,24 +212,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -277,24 +244,17 @@ <BoxIdentifier>(0x00001c6e, 0x00005140)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>368</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00001f21, 0x000010d2)</Identifier> + <Source> + <BoxIdentifier>(0x000027aa, 0x00007b44)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001c6e, 0x00005140)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x000064e4, 0x0000361c)</Identifier> @@ -306,24 +266,6 @@ <BoxIdentifier>(0x00006e9b, 0x000011e0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000076eb, 0x00002391)</Identifier> @@ -335,24 +277,6 @@ <BoxIdentifier>(0x00001c6e, 0x00005140)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>383</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>383</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007f79, 0x0000071c)</Identifier> @@ -364,24 +288,6 @@ <BoxIdentifier>(0x0000363a, 0x0000021d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-398</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-341</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -417,7 +323,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000068c0, 0x00005ea6)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00001161, 0x0000421d)","index":0,"name":"Default tab","parentIdentifier":"(0x000068c0, 0x00005ea6)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000292, 0x000000e5)","index":0,"name":"Empty","parentIdentifier":"(0x00001161, 0x0000421d)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000068c0, 0x00005ea6)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00001161, 0x0000421d)","index":0,"name":"Default tab","parentIdentifier":"(0x000068c0, 0x00005ea6)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000292, 0x000000e5)","index":0,"name":"Empty","parentIdentifier":"(0x00001161, 0x0000421d)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/vhdr2gdf.xml b/applications/examples/convert/share/vhdr2gdf.xml index 16cc6f0c70a872fc57af1416ffcb86995b137359..b949fbdefcfc1d09f2474e5bbe472e564086a9a5 100644 --- a/applications/examples/convert/share/vhdr2gdf.xml +++ b/applications/examples/convert/share/vhdr2gdf.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00002d01, 0x000001dc)</Identifier> @@ -33,24 +36,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>103</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -105,28 +100,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-432.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x15ef4ecc, 0xb1af1f0b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -176,24 +159,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -237,24 +212,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -277,24 +244,6 @@ <BoxIdentifier>(0x00003cff, 0x00005031)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003e1e, 0x00004245)</Identifier> @@ -306,24 +255,6 @@ <BoxIdentifier>(0x000033b2, 0x0000311b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-414</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-341</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>208</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000555b, 0x00004e94)</Identifier> @@ -335,24 +266,17 @@ <BoxIdentifier>(0x00002d01, 0x000001dc)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-414</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>352</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x000057b6, 0x00007b45)</Identifier> + <Source> + <BoxIdentifier>(0x00003127, 0x0000618f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00002d01, 0x000001dc)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x000059db, 0x00001829)</Identifier> @@ -364,24 +288,6 @@ <BoxIdentifier>(0x00002d01, 0x000001dc)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-414</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>367</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>367</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -417,7 +323,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000014a, 0x00007cb3)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006ebe, 0x000037fd)","index":0,"name":"Default tab","parentIdentifier":"(0x0000014a, 0x00007cb3)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000598d, 0x00002a9e)","index":0,"name":"Empty","parentIdentifier":"(0x00006ebe, 0x000037fd)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000014a, 0x00007cb3)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006ebe, 0x000037fd)","index":0,"name":"Default tab","parentIdentifier":"(0x0000014a, 0x00007cb3)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000598d, 0x00002a9e)","index":0,"name":"Empty","parentIdentifier":"(0x00006ebe, 0x000037fd)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/convert/share/vhdr2ov.xml b/applications/examples/convert/share/vhdr2ov.xml index 772f973b1cb32a0fe7e713281450cf4be67255dc..07b385112bcf666c833333459fc0db94cf6257a2 100644 --- a/applications/examples/convert/share/vhdr2ov.xml +++ b/applications/examples/convert/share/vhdr2ov.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00003127, 0x0000618f)</Identifier> @@ -47,24 +50,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-464.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x15ef4ecc, 0xb1af1f0b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>142</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -96,10 +91,6 @@ <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 3</Name> </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 4</Name> - </Input> </Inputs> <Settings> <Setting> @@ -120,15 +111,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -138,10 +125,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -185,24 +168,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -248,24 +223,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-320</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -292,24 +259,6 @@ <BoxIdentifier>(0x00006fec, 0x00002003)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-446</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-341</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001869, 0x00003931)</Identifier> @@ -321,24 +270,6 @@ <BoxIdentifier>(0x00006408, 0x00007769)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001d9d, 0x00007706)</Identifier> @@ -350,24 +281,17 @@ <BoxIdentifier>(0x00004b51, 0x00001bae)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-446</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-261</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>376</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x00003af2, 0x0000267e)</Identifier> + <Source> + <BoxIdentifier>(0x00003127, 0x0000618f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00004b51, 0x00001bae)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x00007829, 0x000076c6)</Identifier> @@ -379,24 +303,6 @@ <BoxIdentifier>(0x00004b51, 0x00001bae)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-446</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>367</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-261</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>391</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -432,7 +338,7 @@ Script 'openvibe-convert' relies on this scenario.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000003af, 0x00007f63)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000795, 0x00004f41)","index":0,"name":"Default tab","parentIdentifier":"(0x000003af, 0x00007f63)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000020e3, 0x000015bd)","index":0,"name":"Empty","parentIdentifier":"(0x00000795, 0x00004f41)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000003af, 0x00007f63)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000795, 0x00004f41)","index":0,"name":"Default tab","parentIdentifier":"(0x000003af, 0x00007f63)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000020e3, 0x000015bd)","index":0,"name":"Empty","parentIdentifier":"(0x00000795, 0x00004f41)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/applications/examples/external-stimulation-connection/CMakeLists.txt b/applications/examples/external-stimulation-connection/CMakeLists.txt index 212b46dcb5b1f9599bfbf8486abc5aebd4c400eb..f07f74ab0b789025c2992d6b4a29270f6b105be0 100644 --- a/applications/examples/external-stimulation-connection/CMakeLists.txt +++ b/applications/examples/external-stimulation-connection/CMakeLists.txt @@ -4,10 +4,22 @@ file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl include/*.h) include_directories(include) add_executable(${PROJECT_NAME} ${SRC_FILES}) -set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_Thread") +target_link_libraries(${PROJECT_NAME} + Boost::boost + Boost::thread +) + +if(UNIX AND NOT APPLE) + find_library(LIB_RT rt) + if(LIB_RT) + target_link_libraries(${PROJECT_NAME} ${LIB_RT}) + else() + message(WARNING " FAILED to find rt...") + endif() +endif() + +set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) # --------------------------------- diff --git a/applications/examples/openvibe-to-tcpip/CMakeLists.txt b/applications/examples/openvibe-to-tcpip/CMakeLists.txt index f51b1c62df0afa9a48a60cecd4c97790c6e7a973..0108e94a89e5b0563591c0ca690e3dc5f15e211e 100755 --- a/applications/examples/openvibe-to-tcpip/CMakeLists.txt +++ b/applications/examples/openvibe-to-tcpip/CMakeLists.txt @@ -6,8 +6,10 @@ include_directories(include) add_executable(${PROJECT_NAME} ${SRC_FILES}) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_System") +target_link_libraries(${PROJECT_NAME} + Boost::boost + Boost::system) + include("FindThirdPartyPThread") # for ubuntu # --------------------------------- diff --git a/applications/examples/openvibe-to-tcpip/box-tutorials/tcp-writer.xml b/applications/examples/openvibe-to-tcpip/box-tutorials/tcp-writer.xml index 713ca46768646f68def689123919844054cd9d20..83b1915208d443ca525ef6b290d0425ad71eeb9c 100755 --- a/applications/examples/openvibe-to-tcpip/box-tutorials/tcp-writer.xml +++ b/applications/examples/openvibe-to-tcpip/box-tutorials/tcp-writer.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -35,11 +35,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -92,11 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -156,11 +156,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -266,7 +266,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -320,7 +320,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -404,11 +404,11 @@ the client along with the number of signal bytes received so far.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>65.000000</Value> + <Value>65</Value> </Attribute> </Attributes> </Comment> diff --git a/applications/examples/openvibe-to-tcpip/src/tcpip-client.cpp b/applications/examples/openvibe-to-tcpip/src/tcpip-client.cpp index c6cb54c305ee8633e678021f0cbbb3f606de16e8..49e7fd9f11bb2922a4bcee6f4a9d7b9e9e2dbbf6 100755 --- a/applications/examples/openvibe-to-tcpip/src/tcpip-client.cpp +++ b/applications/examples/openvibe-to-tcpip/src/tcpip-client.cpp @@ -14,8 +14,6 @@ * */ -#ifdef TARGET_HAS_Boost - #include <iostream> #include <fstream> #include <cstdlib> @@ -199,5 +197,3 @@ int main(int argc, char** argv) return 0; } - -#endif diff --git a/applications/examples/openvibe-to-vrpn/CMakeLists.txt b/applications/examples/openvibe-to-vrpn/CMakeLists.txt index 5d26567d36e180bd36cbb51a06f297ca4af64cef..60337328996d4eaf50088e0057b10f823e7ac370 100755 --- a/applications/examples/openvibe-to-vrpn/CMakeLists.txt +++ b/applications/examples/openvibe-to-vrpn/CMakeLists.txt @@ -1,18 +1,14 @@ project(openvibe-examples-openvibe-to-vrpn VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -include("FindThirdPartyVRPN_Check") -if(NOT PATH_VRPN) - message(STATUS " --> Not building ${PROJECT_NAME}") - return() -endif(NOT PATH_VRPN) - file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl include/*.h) include_directories(include) add_executable(${PROJECT_NAME} ${SRC_FILES}) + +target_link_libraries(${PROJECT_NAME} vrpn) + set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) -include("FindThirdPartyVRPN") include("FindThirdPartyPThread") # needed on Linux for VRPN # --------------------------------- diff --git a/applications/examples/openvibe-to-vrpn/box-tutorials/vrpn-example-openvibe-to-vrpn.xml b/applications/examples/openvibe-to-vrpn/box-tutorials/vrpn-example-openvibe-to-vrpn.xml index 266cc615a74c96faaef992a6942151408d2ae359..ea0a36c5625afbf705621c4bed21aa35df9192a0 100755 --- a/applications/examples/openvibe-to-vrpn/box-tutorials/vrpn-example-openvibe-to-vrpn.xml +++ b/applications/examples/openvibe-to-vrpn/box-tutorials/vrpn-example-openvibe-to-vrpn.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -28,11 +28,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>176</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -88,11 +88,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -130,11 +130,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -318,11 +318,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/applications/examples/vrpn-to-openvibe/CMakeLists.txt b/applications/examples/vrpn-to-openvibe/CMakeLists.txt index 4c2becdbe97476d12016a3e42653650527ae700d..c439813ec51b8508e9dd8f60f7d39db62b428af0 100755 --- a/applications/examples/vrpn-to-openvibe/CMakeLists.txt +++ b/applications/examples/vrpn-to-openvibe/CMakeLists.txt @@ -1,18 +1,14 @@ project(openvibe-examples-vrpn-to-openvibe VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -include("FindThirdPartyVRPN_Check") -if(NOT PATH_VRPN) - message(STATUS " --> Not building ${PROJECT_NAME}") - return() -endif(NOT PATH_VRPN) - file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl include/*.h) include_directories(include) add_executable(${PROJECT_NAME} ${SRC_FILES}) + +target_link_libraries(${PROJECT_NAME} vrpn) + set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) -include("FindThirdPartyVRPN") include("FindThirdPartyPThread") # needed on Linux for VRPN # --------------------------------- diff --git a/applications/examples/vrpn-to-openvibe/box-tutorials/vrpn-example-vrpn-to-openvibe.xml b/applications/examples/vrpn-to-openvibe/box-tutorials/vrpn-example-vrpn-to-openvibe.xml index 034fb4411aa580bfc4ae53b0d4afd0bbc5029931..49b3bbac972af36ec3f71773e56f26aacda442d1 100755 --- a/applications/examples/vrpn-to-openvibe/box-tutorials/vrpn-example-vrpn-to-openvibe.xml +++ b/applications/examples/vrpn-to-openvibe/box-tutorials/vrpn-example-vrpn-to-openvibe.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000f15, 0x00007fd2)</Identifier> @@ -43,11 +46,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -57,10 +56,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x09fd9ef3, 0xeb8c3069)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>152</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -114,11 +109,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -128,10 +119,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8888a3e2, 0xedc76707)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>154</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -228,15 +215,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -246,14 +229,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -280,24 +255,6 @@ <BoxIdentifier>(0x0000322d, 0x00004eed)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>233</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>328</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003ce7, 0x00000907)</Identifier> @@ -309,24 +266,6 @@ <BoxIdentifier>(0x0000322d, 0x00004eed)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>227</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>328</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>289</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -353,7 +292,7 @@ Its used together with <b>openvibe-examples-vrpn-to-openvibe</b> app <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x0000322d, 0x00004eed)","childCount":0,"identifier":"(0x0000007b, 0x0000045c)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007e32, 0x0000369d)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004cc4, 0x00004f75)","index":0,"name":"Default tab","parentIdentifier":"(0x00007e32, 0x0000369d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000f17, 0x00002485)","index":0,"name":"Empty","parentIdentifier":"(0x00004cc4, 0x00004f75)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x0000322d, 0x00004eed)","childCount":0,"identifier":"(0x0000007b, 0x0000045c)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007e32, 0x0000369d)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004cc4, 0x00004f75)","index":0,"name":"Default tab","parentIdentifier":"(0x00007e32, 0x0000369d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000f17, 0x00002485)","index":0,"name":"Empty","parentIdentifier":"(0x00004cc4, 0x00004f75)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/applications/platform/acquisition-server/CMakeLists.txt b/applications/platform/acquisition-server/CMakeLists.txt index 260664f8d7e223e1e70314bf2dc63cd8a0e210e6..eba75ec15e014cd682332cfc6f7c095bd0538cc2 100644 --- a/applications/platform/acquisition-server/CMakeLists.txt +++ b/applications/platform/acquisition-server/CMakeLists.txt @@ -33,7 +33,9 @@ target_link_libraries(${PROJECT_NAME} openvibe-module-socket openvibe-module-system openvibe-module-fs - openvibe-module-labstreamlayer + openvibe-module-lsl + Boost::boost + Boost::system ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) @@ -54,7 +56,6 @@ foreach(FILENAME ${children}) endforeach(FILENAME) include("FindThirdPartyGTK") -include("FindThirdPartyBoost_System") if(WIN32) # @FIXME CERT getting timeBeginPeriod() linker issues without this @@ -77,7 +78,6 @@ include("FindThirdPartyUSBFirstAmpAPI") include("FindThirdPartyLiveAmpAPI") include("FindThirdPartyOpenAL") -include("FindThirdPartyBoost") include("FindThirdPartyPThread") # for Windows Fieldtrip include("FindThirdPartyRT") # external stims shared memory needs this diff --git a/applications/platform/acquisition-server/include/ovasIDriver.h b/applications/platform/acquisition-server/include/ovasIDriver.h index 74c562d364681c20722f6fa4f28b63cea1d3e01a..8f5f742626835ad91cce7b22e1ec51af967ed6dc 100644 --- a/applications/platform/acquisition-server/include/ovasIDriver.h +++ b/applications/platform/acquisition-server/include/ovasIDriver.h @@ -280,7 +280,7 @@ public: * * \sa IDriver::loop */ - virtual void setStimulationSet(const IStimulationSet& stimSet) = 0; + virtual void setStimulationSet(const CStimulationSet& stimSet) = 0; /** * \brief Destructor diff --git a/applications/platform/acquisition-server/src/drivers/biosemi-activetwo/ovasCDriverBioSemiActiveTwo.cpp b/applications/platform/acquisition-server/src/drivers/biosemi-activetwo/ovasCDriverBioSemiActiveTwo.cpp index ff94949ee4c2f01b7f90fc581637f77f1cdd1903..c51efbb018380540537e675762bb5a43862ceb60 100644 --- a/applications/platform/acquisition-server/src/drivers/biosemi-activetwo/ovasCDriverBioSemiActiveTwo.cpp +++ b/applications/platform/acquisition-server/src/drivers/biosemi-activetwo/ovasCDriverBioSemiActiveTwo.cpp @@ -310,7 +310,7 @@ bool CDriverBioSemiActiveTwo::loop() { m_triggers[j] = m_bridge.getTrigger(j); const uint64_t date = (1LL << 32) / m_bridge.getSamplingFrequency(); // date is relative to the buffer start. I only have one sample in the buffer so it's fairly simple - m_stimSet.appendStimulation(OVTK_StimulationId_Label(j+1), date, 0); + m_stimSet.push_back(OVTK_StimulationId_Label(j+1), date, 0); m_driverCtx.getLogManager() << Kernel::LogLevel_Trace << "Trigger " << j + 1 << "/16 has switched to " << m_triggers[j] << "\n"; } } @@ -354,7 +354,7 @@ bool CDriverBioSemiActiveTwo::loop() if (m_bCMCurrentlyInRange) { const uint64_t date = (1LL << 32) / m_bridge.getSamplingFrequency(); - m_stimSet.appendStimulation(OVTK_StimulationId_SegmentStart, date, 0); + m_stimSet.push_back(OVTK_StimulationId_SegmentStart, date, 0); } m_bCMCurrentlyInRange = false; m_bCMSBackInRange = false; @@ -367,7 +367,7 @@ bool CDriverBioSemiActiveTwo::loop() m_lastCmsBackInRange = System::Time::getTime(); m_driverCtx.getLogManager() << Kernel::LogLevel_Trace << "isCMSInRange \n"; const uint64_t date = (1LL << 32) / m_bridge.getSamplingFrequency(); - m_stimSet.appendStimulation(OVTK_StimulationId_SegmentStop, date, 0); + m_stimSet.push_back(OVTK_StimulationId_SegmentStop, date, 0); m_bCMCurrentlyInRange = true; } // CMS is considered "back in range" if it stayed in range for more than 500ms diff --git a/applications/platform/acquisition-server/src/drivers/brainproducts-actichamp/ovasCDriverBrainProductsActiCHamp.cpp b/applications/platform/acquisition-server/src/drivers/brainproducts-actichamp/ovasCDriverBrainProductsActiCHamp.cpp index ae68b5b4439f35440e0fcc03012076145845359e..8bef65541b6b53150d653d8c6a9c5915d6895b7c 100644 --- a/applications/platform/acquisition-server/src/drivers/brainproducts-actichamp/ovasCDriverBrainProductsActiCHamp.cpp +++ b/applications/platform/acquisition-server/src/drivers/brainproducts-actichamp/ovasCDriverBrainProductsActiCHamp.cpp @@ -673,14 +673,14 @@ bool CDriverBrainProductsActiCHamp::loop() // The date is relative to the last buffer start time (cf the setSamples before setStimulationSet) const uint64_t date = m_nSample * (1LL << 32) / m_physicalSamplingHz; - m_stimSet.appendStimulation(OVTK_StimulationId_Label((*trigger)&0x000000ff), date, 0); + m_stimSet.push_back(OVTK_StimulationId_Label((*trigger)&0x000000ff), date, 0); // special case : MyButton // The MyButton trigger bit is too far in the trigger bytes to have a valid value // We use 2 dedicated stims OVTK_StimulationId_Button1_Pressed and OVTK_StimulationId_Button1_Released if (bSwitch) { - m_stimSet.appendStimulation((m_bMyButtonstate ? OVTK_StimulationId_Button1_Pressed : OVTK_StimulationId_Button1_Released), date, 0); + m_stimSet.push_back((m_bMyButtonstate ? OVTK_StimulationId_Button1_Pressed : OVTK_StimulationId_Button1_Released), date, 0); } } m_uiLastTriggers = *trigger; diff --git a/applications/platform/acquisition-server/src/drivers/brainproducts-brainampseries/ovasCDriverBrainProductsBrainampSeries.cpp b/applications/platform/acquisition-server/src/drivers/brainproducts-brainampseries/ovasCDriverBrainProductsBrainampSeries.cpp index a206dec4f89261c4bb4ddad72c0b9ec2294353c3..2dd14fefef13987d4c68471175dd7c72cb70bced 100644 --- a/applications/platform/acquisition-server/src/drivers/brainproducts-brainampseries/ovasCDriverBrainProductsBrainampSeries.cpp +++ b/applications/platform/acquisition-server/src/drivers/brainproducts-brainampseries/ovasCDriverBrainProductsBrainampSeries.cpp @@ -444,7 +444,7 @@ bool CDriverBrainProductsBrainampSeries::loop() if (marker != m_marker) { m_marker = marker; - stimSet.appendStimulation(OVTK_StimulationId_Label(m_marker), CTime(m_header.getSamplingFrequency() * m_decimationFactor, uint64_t(j)).time(), + stimSet.push_back(OVTK_StimulationId_Label(m_marker), CTime(m_header.getSamplingFrequency() * m_decimationFactor, uint64_t(j)).time(), 0); m_driverCtx.getLogManager() << Kernel::LogLevel_Trace << "Got stim code " << m_marker << " at sample " << j << "\n"; } diff --git a/applications/platform/acquisition-server/src/drivers/brainproducts-liveamp/ovasCDriverBrainProductsLiveAmp.cpp b/applications/platform/acquisition-server/src/drivers/brainproducts-liveamp/ovasCDriverBrainProductsLiveAmp.cpp index d19cbf86cf052d96a3747e05d965e0b8536b1f1f..91cd85146c75e2d7d7710f5322f97f1ad68247c3 100644 --- a/applications/platform/acquisition-server/src/drivers/brainproducts-liveamp/ovasCDriverBrainProductsLiveAmp.cpp +++ b/applications/platform/acquisition-server/src/drivers/brainproducts-liveamp/ovasCDriverBrainProductsLiveAmp.cpp @@ -251,7 +251,7 @@ bool CDriverBrainProductsLiveAmp::loop() if (trigg != m_lastTriggerStates[t]) { const uint64_t time = CTime(m_header.getSamplingFrequency(), sample).time(); - m_stimSet.appendStimulation(OVTK_StimulationId_Label(trigg), time, 0); // send the same time as the 'sample' + m_stimSet.push_back(OVTK_StimulationId_Label(trigg), time, 0); // send the same time as the 'sample' m_lastTriggerStates[t] = trigg; } } diff --git a/applications/platform/acquisition-server/src/drivers/brainproducts-vamp/ovasCDriverBrainProductsVAmp.cpp b/applications/platform/acquisition-server/src/drivers/brainproducts-vamp/ovasCDriverBrainProductsVAmp.cpp index 016ad516b5f1bbf253866989a908016dd19d2d0b..ba006a0bc99e7433235e2aadc32d83b2cf6fcb8b 100644 --- a/applications/platform/acquisition-server/src/drivers/brainproducts-vamp/ovasCDriverBrainProductsVAmp.cpp +++ b/applications/platform/acquisition-server/src/drivers/brainproducts-vamp/ovasCDriverBrainProductsVAmp.cpp @@ -446,7 +446,7 @@ bool CDriverBrainProductsVAmp::loop() // The date is relative to the last buffer start time (cf the setSamples before setStimulationSet) const uint64_t date = CTime(m_physicalSamplingHz, m_nTotalSample).time(); // Code of stimulation = OVTK_StimulationId_LabelStart + value of the trigger bytes. - m_stimSet.appendStimulation(OVTK_StimulationId_Label(status), 0, 0); + m_stimSet.push_back(OVTK_StimulationId_Label(status), 0, 0); m_driverCtx.getLogManager() << Kernel::LogLevel_Debug << "[LOOP] VAmp Driver: Send stimulation: " << status << " at date: " << date << ".\n"; m_lastTrigger = status; } diff --git a/applications/platform/acquisition-server/src/drivers/generic-oscillator/ovasCDriverGenericOscillator.cpp b/applications/platform/acquisition-server/src/drivers/generic-oscillator/ovasCDriverGenericOscillator.cpp index 1ff460c55ac5c0046091235f1396224fcb51d518..5c8cdfa2d8384384c651658270f529964a7b943f 100644 --- a/applications/platform/acquisition-server/src/drivers/generic-oscillator/ovasCDriverGenericOscillator.cpp +++ b/applications/platform/acquisition-server/src/drivers/generic-oscillator/ovasCDriverGenericOscillator.cpp @@ -60,10 +60,10 @@ bool CDriverGenericOscillator::initialize(const uint32_t nSamplePerSentBlock, ID m_callback = &callback; m_nSamplePerSentBlock = nSamplePerSentBlock; - m_stimSet.setStimulationCount(1); - m_stimSet.setStimulationIdentifier(0, OVTK_StimulationId_Label_00); - m_stimSet.setStimulationDate(0, 0); - m_stimSet.setStimulationDuration(0, 0); + m_stimSet.resize(1); + m_stimSet.setId(0, OVTK_StimulationId_Label_00); + m_stimSet.setDate(0, 0); + m_stimSet.setDuration(0, 0); return true; } diff --git a/applications/platform/acquisition-server/src/drivers/labstreaminglayer/ovasCDriverLabStreamingLayer.cpp b/applications/platform/acquisition-server/src/drivers/labstreaminglayer/ovasCDriverLabStreamingLayer.cpp index 53e7707ca590d187a4c6a98ce667821f56ad5398..97d222032135cb10bb7aaf866ead4fb7d0b8f67d 100755 --- a/applications/platform/acquisition-server/src/drivers/labstreaminglayer/ovasCDriverLabStreamingLayer.cpp +++ b/applications/platform/acquisition-server/src/drivers/labstreaminglayer/ovasCDriverLabStreamingLayer.cpp @@ -469,7 +469,7 @@ bool CDriverLabStreamingLayer::loop() // << stimTime << "s." // << "\n"; - stimulationSet.appendStimulation(uint64_t(marker), CTime(stimTime).time(), 0); + stimulationSet.push_back(uint64_t(marker), CTime(stimTime).time(), 0); // std::cout << "date " << stimTime << "\n"; } } diff --git a/applications/platform/acquisition-server/src/drivers/mcs-nvx/ovasCDriverMCSNVXDriver.cpp b/applications/platform/acquisition-server/src/drivers/mcs-nvx/ovasCDriverMCSNVXDriver.cpp index ad77e4f3c0ac441226171ed048b47a7c3d989690..cf73bd833dc36a24d18016e2a571f9f9f25e8b76 100755 --- a/applications/platform/acquisition-server/src/drivers/mcs-nvx/ovasCDriverMCSNVXDriver.cpp +++ b/applications/platform/acquisition-server/src/drivers/mcs-nvx/ovasCDriverMCSNVXDriver.cpp @@ -314,7 +314,7 @@ bool CDriverMKSNVXDriver::loop() m_driverCtx.getLogManager() << Kernel::LogLevel_Error << "Data loss: expected sample number is " << samplesCounter_ << " and the hardware reports " << correctSamplesCounter << "\n"; samplesCounter_ = correctSamplesCounter; - stimSet.appendStimulation(OVTK_StimulationId_Label_00, CTime(m_header.getSamplingFrequency(), j).time(), 0); + stimSet.push_back(OVTK_StimulationId_Label_00, CTime(m_header.getSamplingFrequency(), j).time(), 0); } ++samplesCounter_; // set triggers @@ -343,7 +343,7 @@ bool CDriverMKSNVXDriver::loop() if (!(triggerStates_ & triggerBit)) { triggerStates_ |= triggerBit; - stimSet.appendStimulation(ovtkLabel, CTime(m_header.getSamplingFrequency(), j).time(), 0); + stimSet.push_back(ovtkLabel, CTime(m_header.getSamplingFrequency(), j).time(), 0); } } else { triggerStates_ &= ~triggerBit; } @@ -360,7 +360,7 @@ bool CDriverMKSNVXDriver::loop() // receive events from hardware // and put them the correct way in a CStimulationSet object //... - if (stimSet.getStimulationCount() != 0) { m_callback->setStimulationSet(stimSet); } + if (stimSet.size() != 0) { m_callback->setStimulationSet(stimSet); } } } else if (m_driverCtx.isImpedanceCheckRequested()) diff --git a/applications/platform/acquisition-server/src/drivers/micromed-systemplusevolution/ovasCDriverMicromedSystemPlusEvolution.cpp b/applications/platform/acquisition-server/src/drivers/micromed-systemplusevolution/ovasCDriverMicromedSystemPlusEvolution.cpp index 3caee8a4b58e35e95ff50c49733204ef9591d411..428c35e66d37bb13b27eb52986ffc27d24a79444 100644 --- a/applications/platform/acquisition-server/src/drivers/micromed-systemplusevolution/ovasCDriverMicromedSystemPlusEvolution.cpp +++ b/applications/platform/acquisition-server/src/drivers/micromed-systemplusevolution/ovasCDriverMicromedSystemPlusEvolution.cpp @@ -691,7 +691,7 @@ bool CDriverMicromedSystemPlusEvolution::loop() m_callback->setSamples(m_sample); m_driverCtx.correctDriftSampleCount(m_driverCtx.getSuggestedDriftCorrectionSampleCount()); m_driverCtx.getLogManager() << Kernel::LogLevel_Debug << "Send samples back to CAcquisitionServer: samples.len = " << m_buffDataIdx << "\n"; - if (m_stimSet.getStimulationCount() > 0) + if (m_stimSet.size() > 0) { m_callback->setStimulationSet(m_stimSet); m_stimSet.clear(); @@ -730,7 +730,7 @@ bool CDriverMicromedSystemPlusEvolution::loop() { uint32_t pos = uint32_t(sample - m_posFirstSampleOfCurrentBlock); uint64_t time = CTime(m_header.getSamplingFrequency(), uint64_t(pos)).time(); - m_stimSet.appendStimulation(fGetTriggerValue(i), time, 0); + m_stimSet.push_back(fGetTriggerValue(i), time, 0); } } diff --git a/applications/platform/acquisition-server/src/drivers/neurosky-mindset/ovasCDriverNeuroskyMindset.cpp b/applications/platform/acquisition-server/src/drivers/neurosky-mindset/ovasCDriverNeuroskyMindset.cpp index 4157f613ebf8adfa344aeb6abebb283d772fdadb..9eeb5ba0fbf7be5a4ca87cc81f382120f53b3ab9 100644 --- a/applications/platform/acquisition-server/src/drivers/neurosky-mindset/ovasCDriverNeuroskyMindset.cpp +++ b/applications/platform/acquisition-server/src/drivers/neurosky-mindset/ovasCDriverNeuroskyMindset.cpp @@ -369,7 +369,7 @@ bool CDriverNeuroskyMindset::loop() if(TG_GetValueStatus(m_connectionID,TG_DATA_BLINK_STRENGTH) != 0 || blinkDetected) { uint64_t time = CTime(m_header.getSamplingFrequency(),receivedSamples); - stimSet.appendStimulation(OVTK_GDF_Eye_Blink, time,0); + stimSet.push_back(OVTK_GDF_Eye_Blink, time,0); } } #endif diff --git a/applications/platform/acquisition-server/src/drivers/simulated-deviator/ovasCDriverSimulatedDeviator.cpp b/applications/platform/acquisition-server/src/drivers/simulated-deviator/ovasCDriverSimulatedDeviator.cpp index 8eafb09f9a57acaaef0e9ff29fcb1bd2def035b3..7815fb3d8454cbcb7e9ca8b9efc0b4206e550a9f 100644 --- a/applications/platform/acquisition-server/src/drivers/simulated-deviator/ovasCDriverSimulatedDeviator.cpp +++ b/applications/platform/acquisition-server/src/drivers/simulated-deviator/ovasCDriverSimulatedDeviator.cpp @@ -101,10 +101,10 @@ bool CDriverSimulatedDeviator::loop() CStimulationSet stimSet; if (m_sendPeriodicStimulations) { - stimSet.setStimulationCount(1); - stimSet.setStimulationIdentifier(0, 0); - stimSet.setStimulationDate(0, 0); - stimSet.setStimulationDuration(0, 0); + stimSet.resize(1); + stimSet.setId(0, 0); + stimSet.setDate(0, 0); + stimSet.setDuration(0, 0); } const uint64_t now = System::Time::zgetTime(); diff --git a/applications/platform/acquisition-server/src/drivers/tmsi-refa32b/ovasCDriverTMSiRefa32B.cpp b/applications/platform/acquisition-server/src/drivers/tmsi-refa32b/ovasCDriverTMSiRefa32B.cpp index 8ea65516b414e02bd8296b51837f1915b3c94cda..2264ae165822c308fe8af204637a86ac21420072 100644 --- a/applications/platform/acquisition-server/src/drivers/tmsi-refa32b/ovasCDriverTMSiRefa32B.cpp +++ b/applications/platform/acquisition-server/src/drivers/tmsi-refa32b/ovasCDriverTMSiRefa32B.cpp @@ -454,9 +454,9 @@ bool CDriverTMSiRefa32B::loop() if (m_lastTriggerValue != trigger) { - //uint32_t indexStimulation = uint32_t(m_stimSet.getStimulationCount()); + //uint32_t indexStimulation = uint32_t(m_stimSet.size()); const uint64_t stimulationTime = CTime(m_header.getSamplingFrequency(), uint64_t(m_sampleIdx + j)).time(); - m_stimSet.appendStimulation(trigger, stimulationTime, 0); + m_stimSet.push_back(trigger, stimulationTime, 0); m_lastTriggerValue = trigger; } } diff --git a/applications/platform/acquisition-server/src/drivers/tmsi/ovasCTMSiAccess.cpp b/applications/platform/acquisition-server/src/drivers/tmsi/ovasCTMSiAccess.cpp index 587a8133ffd155f3b4d6e20339df11c3d164b61e..f89b341474ada12a9ede070429040c87536fbead 100644 --- a/applications/platform/acquisition-server/src/drivers/tmsi/ovasCTMSiAccess.cpp +++ b/applications/platform/acquisition-server/src/drivers/tmsi/ovasCTMSiAccess.cpp @@ -772,7 +772,7 @@ int CTMSiAccess::getSamples(float* samples, IDriverCallback* driverCB, const uin if (m_lastTriggerValue != trigger) { const uint64_t time = CTime(sampling, uint64_t(m_lastSampleIndexInBuffer)).time(); - m_stimSet.appendStimulation(trigger, time, 0); + m_stimSet.push_back(trigger, time, 0); m_lastTriggerValue = trigger; } } diff --git a/applications/platform/acquisition-server/src/ovasCAcquisitionServer.cpp b/applications/platform/acquisition-server/src/ovasCAcquisitionServer.cpp index e4237f7408963da90e7eaedfaba9e0b3638459ca..6f9ac61ebccf33c914ea561cf8c5969545160670 100755 --- a/applications/platform/acquisition-server/src/ovasCAcquisitionServer.cpp +++ b/applications/platform/acquisition-server/src/ovasCAcquisitionServer.cpp @@ -491,13 +491,13 @@ bool CAcquisitionServer::loop() //m_kernelCtx.getLogManager() << Kernel::LogLevel_Info << "start: " << (start) << "end: " << (end) << "\n"; // Stimulation buffer - IStimulationSet& stimSet = *ip_stimSet; + CStimulationSet& stimSet = *ip_stimSet; stimSet.clear(); // Take the stimuli range valid for the buffer and adjust wrt connection time (stamp at connection = stamp at time 0 for the client) - for (size_t k = 0; k < m_PendingStimSet.getStimulationCount(); ++k) + for (size_t k = 0; k < m_PendingStimSet.size(); ++k) { - const uint64_t date = m_PendingStimSet.getStimulationDate(k); // this date is wrt the whole acquisition time in the server + const uint64_t date = m_PendingStimSet.getDate(k); // this date is wrt the whole acquisition time in the server if (date >= connBlockStartTime && date <= connBlockEndTime) { // The new date is wrt the specific connection time of the client (i.e. the chunk times on Designer side) @@ -508,7 +508,7 @@ bool CAcquisitionServer::loop() << " for [" << CTime(startTime).toSeconds() << "," << CTime(endTime).toSeconds() << "]\n"; */ - stimSet.appendStimulation(m_PendingStimSet.getStimulationIdentifier(k), newDate, m_PendingStimSet.getStimulationDuration(k)); + stimSet.push_back(m_PendingStimSet.getId(k), newDate, m_PendingStimSet.getDuration(k)); } } @@ -544,7 +544,7 @@ bool CAcquisitionServer::loop() // Clears pending stimulations; Can start from zero as we know we'll never send anything in the future thats // before current BufferEndTime. - Toolkit::StimulationSet::removeRange(m_PendingStimSet, 0, endTime); + m_PendingStimSet.removeRange(0, endTime); // Clears pending signal m_PendingBuffers.erase(m_PendingBuffers.begin(), m_PendingBuffers.begin() + m_nSamplePerSentBlock); @@ -921,7 +921,7 @@ void CAcquisitionServer::setSamples(const float* samples, const size_t count) if (!m_replacementInProgress) { const uint64_t incorrectBlockStarts = CTime(m_sampling, currentIdx).time(); - m_PendingStimSet.appendStimulation(OVTK_StimulationId_Artifact, incorrectBlockStarts, 0); + m_PendingStimSet.push_back(OVTK_StimulationId_Artifact, incorrectBlockStarts, 0); m_replacementInProgress = true; } } @@ -932,7 +932,7 @@ void CAcquisitionServer::setSamples(const float* samples, const size_t count) // @note -1 is used here because the incorrect-correct range is inclusive, [a,b]. So when sample is good at b+1, we set the end point at b. const uint64_t incorrectBlockStops = CTime(m_sampling, currentIdx - 1).time(); - m_PendingStimSet.appendStimulation(OVTK_StimulationId_NoArtifact, incorrectBlockStops, 0); + m_PendingStimSet.push_back(OVTK_StimulationId_NoArtifact, incorrectBlockStops, 0); m_replacementInProgress = false; } } @@ -952,12 +952,12 @@ void CAcquisitionServer::setSamples(const float* samples, const size_t count) else { m_kernelCtx.getLogManager() << Kernel::LogLevel_Warning << "The acquisition is not started\n"; } } -void CAcquisitionServer::setStimulationSet(const IStimulationSet& stimSet) +void CAcquisitionServer::setStimulationSet(const CStimulationSet& stimSet) { if (m_isStarted) { const uint64_t time = CTime(m_sampling, m_nLastSample).time(); - Toolkit::StimulationSet::append(m_PendingStimSet, stimSet, time); + m_PendingStimSet.append(stimSet, time); } else { m_kernelCtx.getLogManager() << Kernel::LogLevel_Warning << "The acquisition is not started\n"; } } diff --git a/applications/platform/acquisition-server/src/ovasCAcquisitionServer.h b/applications/platform/acquisition-server/src/ovasCAcquisitionServer.h index 3c2b134140b519b36312c8e1375493d38fd8ba88..8b9a45008bc7af59303f6ead31c7bd2b84db5efd 100644 --- a/applications/platform/acquisition-server/src/ovasCAcquisitionServer.h +++ b/applications/platform/acquisition-server/src/ovasCAcquisitionServer.h @@ -82,7 +82,7 @@ public: // Driver samples information callback void setSamples(const float* samples) override; void setSamples(const float* samples, const size_t count) override; - void setStimulationSet(const IStimulationSet& stimSet) override; + void setStimulationSet(const CStimulationSet& stimSet) override; // Driver context callback bool isConnected() const { return m_isInitialized; } @@ -140,7 +140,7 @@ protected: Kernel::TParameterHandler<CMatrix*> ip_matrix; Kernel::TParameterHandler<CMatrix*> ip_channelUnits; Kernel::TParameterHandler<uint64_t> ip_sampling; - Kernel::TParameterHandler<IStimulationSet*> ip_stimSet; + Kernel::TParameterHandler<CStimulationSet*> ip_stimSet; Kernel::TParameterHandler<uint64_t> ip_bufferDuration; Kernel::TParameterHandler<IMemoryBuffer*> op_buffer; diff --git a/applications/platform/acquisition-server/src/ovasCDriftCorrection.cpp b/applications/platform/acquisition-server/src/ovasCDriftCorrection.cpp index 0349045b2150e11b60561d45079db00e6ff2f5dc..800b05083d73a8ad46eb2bdea191911b0de227c8 100644 --- a/applications/platform/acquisition-server/src/ovasCDriftCorrection.cpp +++ b/applications/platform/acquisition-server/src/ovasCDriftCorrection.cpp @@ -313,8 +313,8 @@ bool CDriftCorrection::correctDrift(const int64_t correction, size_t& totalSampl const uint64_t timeOfIncorrect = CTime(m_correctedSampleCount - 1).time() / uint64_t(m_sampling); const uint64_t durationOfIncorrect = CTime(m_sampling, correction).time(); const uint64_t timeOfCorrect = CTime(m_correctedSampleCount - 1 + correction).time() / uint64_t(m_sampling); - pendingStimSet.appendStimulation(OVTK_StimulationId_AddedSamplesBegin, timeOfIncorrect, durationOfIncorrect); - pendingStimSet.appendStimulation(OVTK_StimulationId_AddedSamplesEnd, timeOfCorrect, 0); + pendingStimSet.push_back(OVTK_StimulationId_AddedSamplesBegin, timeOfIncorrect, durationOfIncorrect); + pendingStimSet.push_back(OVTK_StimulationId_AddedSamplesEnd, timeOfCorrect, 0); m_driftEstimate += correction; @@ -329,12 +329,12 @@ bool CDriftCorrection::correctDrift(const int64_t correction, size_t& totalSampl pendingBuffers.erase(pendingBuffers.begin() + pendingBuffers.size() - int(samplesToRemove), pendingBuffers.begin() + pendingBuffers.size()); const size_t lastSampleDate = CTime(m_correctedSampleCount - samplesToRemove).time() / size_t(m_sampling); - for (size_t i = 0; i < pendingStimSet.getStimulationCount(); ++i) + for (size_t i = 0; i < pendingStimSet.size(); ++i) { - if (pendingStimSet.getStimulationDate(i) > lastSampleDate) { pendingStimSet.setStimulationDate(i, lastSampleDate); } + if (pendingStimSet.getDate(i) > lastSampleDate) { pendingStimSet.setDate(i, lastSampleDate); } } - pendingStimSet.appendStimulation(OVTK_StimulationId_RemovedSamples, lastSampleDate, 0); + pendingStimSet.push_back(OVTK_StimulationId_RemovedSamples, lastSampleDate, 0); m_driftEstimate -= samplesToRemove; diff --git a/applications/platform/tracker/CMakeLists.txt b/applications/platform/tracker/CMakeLists.txt index fd7fda1ea459f1eb17927aa0c751475bd8384fb7..9f5a6b56afd499f094beae345e187cec38f84156 100755 --- a/applications/platform/tracker/CMakeLists.txt +++ b/applications/platform/tracker/CMakeLists.txt @@ -66,6 +66,8 @@ target_link_libraries(${PROJECT_NAME} openvibe-module-xml openvibe-visualization-toolkit mensia-advanced-visualization-static + Boost::boost + Boost::system ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER}) @@ -80,7 +82,6 @@ include_directories(${OV_KERNEL_PATH}) include_directories(${OV_KERNEL_PATH}/scenario) include("FindThirdPartyGTK") -include("FindThirdPartyBoost_System") include("FindThirdPartyOpenGL") if(WIN32) @@ -88,7 +89,6 @@ if(WIN32) target_link_libraries(${PROJECT_NAME} winmm) endif(WIN32) -include("FindThirdPartyBoost") include("FindThirdPartyRT") # external stims shared memory needs this # --------------------------------- diff --git a/applications/platform/tracker/include/BoxAdapterHelper.h b/applications/platform/tracker/include/BoxAdapterHelper.h index c47aaf6d5b2815f0db384bc51da5e7096f66dd02..b7152847ef53265c731c25db6b3b396d3c7dfe10 100644 --- a/applications/platform/tracker/include/BoxAdapterHelper.h +++ b/applications/platform/tracker/include/BoxAdapterHelper.h @@ -54,7 +54,7 @@ public: Kernel::IConfigurationManager& getConfigurationManager() const override { return m_kernelCtx.getConfigurationManager(); } Kernel::IAlgorithmManager& getAlgorithmManager() const override { return m_kernelCtx.getAlgorithmManager(); } Kernel::ILogManager& getLogManager() const override { return m_kernelCtx.getLogManager(); } - Kernel::IErrorManager& getErrorManager() const override { return m_kernelCtx.getErrorManager(); } + Kernel::CErrorManager& getErrorManager() const override { return m_kernelCtx.getErrorManager(); } Kernel::IScenarioManager& getScenarioManager() const override { return m_kernelCtx.getScenarioManager(); } Kernel::ITypeManager& getTypeManager() const override { return m_kernelCtx.getTypeManager(); } diff --git a/applications/platform/tracker/include/Contexted.h b/applications/platform/tracker/include/Contexted.h index 5893ff73b0935ccc6c1f27764008e2e794ef4262..a9e61ee04fc000337fa82a16a0cbe37c9c2da587 100755 --- a/applications/platform/tracker/include/Contexted.h +++ b/applications/platform/tracker/include/Contexted.h @@ -21,7 +21,7 @@ public: virtual const Kernel::IKernelContext& getKernelContext() const { return m_kernelCtx; } virtual Kernel::IAlgorithmManager& getAlgorithmManager() const { return m_kernelCtx.getAlgorithmManager(); } - virtual Kernel::IErrorManager& getErrorManager() const { return m_kernelCtx.getErrorManager(); } + virtual Kernel::CErrorManager& getErrorManager() const { return m_kernelCtx.getErrorManager(); } virtual Kernel::ILogManager& getLogManager() const { return m_kernelCtx.getLogManager(); } virtual Kernel::ITypeManager& getTypeManager() const { return m_kernelCtx.getTypeManager(); } diff --git a/applications/platform/tracker/share/processor-example-bidir.xml b/applications/platform/tracker/share/processor-example-bidir.xml index 954a53c9bce4d26c72427197b19b0fa73d279a03..4eae713c005cb9303ff75870e3f39f95a65d561c 100755 --- a/applications/platform/tracker/share/processor-example-bidir.xml +++ b/applications/platform/tracker/share/processor-example-bidir.xml @@ -1,13 +1,13 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x000013ae, 0x000053d6)</Identifier> + <Identifier>(0x000013bb, 0x00003192)</Identifier> <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> @@ -23,13 +23,6 @@ </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter Method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> <Name>Filter Type</Name> @@ -58,26 +51,23 @@ <Value>2</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Band Pass Ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -85,7 +75,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -122,11 +112,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -177,11 +167,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -571,7 +561,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>192</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -675,6 +665,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00001f4a, 0x00003513)</Identifier> + <Source> + <BoxIdentifier>(0x000013bb, 0x00003192)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005438, 0x0000400f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00002203, 0x000031ea)</Identifier> <Source> @@ -697,17 +698,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x000042ec, 0x0000374f)</Identifier> - <Source> - <BoxIdentifier>(0x000013ae, 0x000053d6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00005438, 0x0000400f)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000054e6, 0x00000d08)</Identifier> <Source> @@ -720,24 +710,24 @@ </Target> </Link> <Link> - <Identifier>(0x000057ce, 0x00000c0b)</Identifier> + <Identifier>(0x00005617, 0x00007ce5)</Identifier> <Source> <BoxIdentifier>(0x00005438, 0x00004010)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000039e9, 0x000043de)</BoxIdentifier> + <BoxIdentifier>(0x000013bb, 0x00003192)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00005a57, 0x00005592)</Identifier> + <Identifier>(0x000057ce, 0x00000c0b)</Identifier> <Source> <BoxIdentifier>(0x00005438, 0x00004010)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000013ae, 0x000053d6)</BoxIdentifier> + <BoxIdentifier>(0x000039e9, 0x000043de)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -753,9 +743,9 @@ </Target> </Link> <Link> - <Identifier>(0x00007a40, 0x00004a8b)</Identifier> + <Identifier>(0x000073e5, 0x00007254)</Identifier> <Source> - <BoxIdentifier>(0x000013ae, 0x000053d6)</BoxIdentifier> + <BoxIdentifier>(0x000013bb, 0x00003192)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> diff --git a/applications/platform/tracker/share/processor-example-erp.xml b/applications/platform/tracker/share/processor-example-erp.xml index ee7b99855345b95bf1748b74e65130ef6457c8c2..99f446265d52c149e543f357c55442ea243e5abe 100755 --- a/applications/platform/tracker/share/processor-example-erp.xml +++ b/applications/platform/tracker/share/processor-example-erp.xml @@ -328,7 +328,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -398,7 +398,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -709,7 +709,7 @@ <Box> <Identifier>(0x00007d40, 0x0000458c)</Identifier> <Name>Epoch variance</Name> - <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d9)</AlgorithmClassIdentifier> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> @@ -787,7 +787,7 @@ <Box> <Identifier>(0x00007d40, 0x0000458d)</Identifier> <Name>Epoch variance</Name> - <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d9)</AlgorithmClassIdentifier> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> diff --git a/applications/platform/tracker/share/processor-example-sink.xml b/applications/platform/tracker/share/processor-example-sink.xml index c451f41dcfa1a7c98c4aacdd2005b02fb86a4e18..27cb20759520f457be89989bed9e5f822f631178 100755 --- a/applications/platform/tracker/share/processor-example-sink.xml +++ b/applications/platform/tracker/share/processor-example-sink.xml @@ -1,13 +1,13 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x000013ae, 0x000053d6)</Identifier> + <Identifier>(0x00001ae7, 0x00002fe3)</Identifier> <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> @@ -23,13 +23,6 @@ </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter Method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> <Name>Filter Type</Name> @@ -58,18 +51,15 @@ <Value>40</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Band Pass Ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -77,7 +67,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -85,7 +75,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -122,11 +112,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -164,7 +154,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -342,11 +332,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -452,11 +442,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>96</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -519,11 +509,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x341d3912, 0x1478de86)</Identifier> @@ -561,13 +551,13 @@ </Target> </Link> <Link> - <Identifier>(0x00002895, 0x00007435)</Identifier> + <Identifier>(0x0000395c, 0x00007da9)</Identifier> <Source> <BoxIdentifier>(0x00005438, 0x0000400f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000013ae, 0x000053d6)</BoxIdentifier> + <BoxIdentifier>(0x00001ae7, 0x00002fe3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -605,9 +595,9 @@ </Target> </Link> <Link> - <Identifier>(0x00007a40, 0x00004a8b)</Identifier> + <Identifier>(0x00006108, 0x00004aa4)</Identifier> <Source> - <BoxIdentifier>(0x000013ae, 0x000053d6)</BoxIdentifier> + <BoxIdentifier>(0x00001ae7, 0x00002fe3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> diff --git a/applications/platform/tracker/src/CodecStimulation.cpp b/applications/platform/tracker/src/CodecStimulation.cpp index bba5570ecaead512fb72da5ca734ae2485ea487d..abc6b6e0f1a768531d4081011ac755f8e6784797 100755 --- a/applications/platform/tracker/src/CodecStimulation.cpp +++ b/applications/platform/tracker/src/CodecStimulation.cpp @@ -15,12 +15,12 @@ bool DecoderAdapter<TypeStimulation, Toolkit::TStimulationDecoder<BoxAlgorithmPr template <> bool DecoderAdapter<TypeStimulation, Toolkit::TStimulationDecoder<BoxAlgorithmProxy>>::getBufferImpl(TypeStimulation::Buffer& b) { - IStimulationSet* decoded = m_impl.getOutputStimulationSet(); + CStimulationSet* decoded = m_impl.getOutputStimulationSet(); b.m_buffer.clear(); - for (size_t i = 0; i < decoded->getStimulationCount(); ++i) + for (size_t i = 0; i < decoded->size(); ++i) { - b.m_buffer.appendStimulation(decoded->getStimulationIdentifier(i), decoded->getStimulationDate(i), decoded->getStimulationDuration(i)); + b.m_buffer.push_back(decoded->getId(i), decoded->getDate(i), decoded->getDuration(i)); } return true; } @@ -34,13 +34,13 @@ bool EncoderAdapter<TypeStimulation, Toolkit::TStimulationEncoder<BoxAlgorithmPr template <> bool EncoderAdapter<TypeStimulation, Toolkit::TStimulationEncoder<BoxAlgorithmProxy>>::encodeBufferImpl(const TypeStimulation::Buffer& buf) { - IStimulationSet* inputSet = m_impl.getInputStimulationSet(); + CStimulationSet* inputSet = m_impl.getInputStimulationSet(); inputSet->clear(); - for (size_t i = 0; i < buf.m_buffer.getStimulationCount(); ++i) + for (size_t i = 0; i < buf.m_buffer.size(); ++i) { - inputSet->appendStimulation(buf.m_buffer.getStimulationIdentifier(i), buf.m_buffer.getStimulationDate(i) + m_offset.time(), - buf.m_buffer.getStimulationDuration(i)); + inputSet->push_back(buf.m_buffer.getId(i), buf.m_buffer.getDate(i) + m_offset.time(), + buf.m_buffer.getDuration(i)); } return m_impl.encodeBuffer(); diff --git a/applications/platform/tracker/src/StimulationStreamFilter.cpp b/applications/platform/tracker/src/StimulationStreamFilter.cpp index abd1cdc33acf926b6a9aae4dbcfcc156f268b697..bc6c85d26ba2631ddcfb9a40ccd3ced46331df99 100755 --- a/applications/platform/tracker/src/StimulationStreamFilter.cpp +++ b/applications/platform/tracker/src/StimulationStreamFilter.cpp @@ -44,14 +44,14 @@ std::shared_ptr<StreamBase> filterStimulationStream(const std::shared_ptr<const const auto chunk = typedSrc->getChunk(chk); auto newChunk = new TypeStimulation::Buffer; - for (size_t i = 0; i < chunk->m_buffer.getStimulationCount(); ++i) + for (size_t i = 0; i < chunk->m_buffer.size(); ++i) { - const uint64_t id = chunk->m_buffer.getStimulationIdentifier(i); + const uint64_t id = chunk->m_buffer.getId(i); if (std::none_of(stimsToFilter.begin(), stimsToFilter.end(), [id](const uint64_t val) { return val == id; })) { - const uint64_t timestamp = chunk->m_buffer.getStimulationDate(i); - const uint64_t duration = chunk->m_buffer.getStimulationDuration(i); - newChunk->m_buffer.appendStimulation(id, timestamp, duration); + const uint64_t timestamp = chunk->m_buffer.getDate(i); + const uint64_t duration = chunk->m_buffer.getDuration(i); + newChunk->m_buffer.push_back(id, timestamp, duration); } } diff --git a/applications/platform/tracker/src/StreamRendererStimulation.cpp b/applications/platform/tracker/src/StreamRendererStimulation.cpp index 35c6e0cd5220bfa024bb087f0babcc349f5470b8..adc0cbc2e2bc601535d3bd28a13bb5edb640507b 100755 --- a/applications/platform/tracker/src/StreamRendererStimulation.cpp +++ b/applications/platform/tracker/src/StreamRendererStimulation.cpp @@ -113,9 +113,9 @@ bool StreamRendererStimulation::reset(const CTime startTime, const CTime endTime bool StreamRendererStimulation::push(const TypeStimulation::Buffer& chunk, bool /*zeroInput*/) { - for (size_t i = 0; i < chunk.m_buffer.getStimulationCount(); ++i) + for (size_t i = 0; i < chunk.m_buffer.size(); ++i) { - m_renderers[0]->feed(chunk.m_buffer.getStimulationDate(i) - m_startTime.time(), chunk.m_buffer.getStimulationIdentifier(i)); + m_renderers[0]->feed(chunk.m_buffer.getDate(i) - m_startTime.time(), chunk.m_buffer.getId(i)); } return true; @@ -170,20 +170,20 @@ bool StreamRendererStimulation::showChunkList() const TypeStimulation::Buffer* ptr = m_stream->getChunk(i); if (!ptr) { break; } - for (uint32_t s = 0; s < ptr->m_buffer.getStimulationCount(); ++s) + for (uint32_t s = 0; s < ptr->m_buffer.size(); ++s) { const CString stimName = m_kernelCtx.getTypeManager().getEnumerationEntryNameFromValue( - OV_TypeId_Stimulation, ptr->m_buffer.getStimulationIdentifier(s)); + OV_TypeId_Stimulation, ptr->m_buffer.getId(s)); gtk_tree_store_append(channelListStore, &it, nullptr); gtk_tree_store_set(channelListStore, &it, 0, i, 1, ptr->m_StartTime.toSeconds(), 2, ptr->m_EndTime.toSeconds(), - 3, CTime(ptr->m_buffer.getStimulationDate(s)).toSeconds(), - 4, ptr->m_buffer.getStimulationIdentifier(s), + 3, CTime(ptr->m_buffer.getDate(s)).toSeconds(), + 4, ptr->m_buffer.getId(s), 5, stimName.toASCIIString(), - 6, CTime(ptr->m_buffer.getStimulationDuration(s)).toSeconds(), -1); + 6, CTime(ptr->m_buffer.getDuration(s)).toSeconds(), -1); } } diff --git a/applications/platform/tracker/src/Testclass.cpp b/applications/platform/tracker/src/Testclass.cpp index 5d68f4a7e7f57a3a8e56cd9e1bb34793e056b884..b3aa03e9bd39473fead08673c5b98f07c7c8bf8d 100755 --- a/applications/platform/tracker/src/Testclass.cpp +++ b/applications/platform/tracker/src/Testclass.cpp @@ -50,11 +50,11 @@ TestClass::TestClass(Kernel::IKernelContext& ctx) : m_Ctx(ctx) TypeError::Buffer *ptr = nullptr; it->second->peek(CTime(5.0).time(), &ptr); TypeStimulation::Buffer *ptr2 = reinterpret_cast<TypeStimulation::Buffer*>(ptr); - // std::cout << "cnt: " << ptr2->m_buffer.getStimulationCount() << "\n"; + // std::cout << "cnt: " << ptr2->m_buffer.size() << "\n"; // Request early stop ptr2->m_buffer.clear(); - ptr2->m_buffer.appendStimulation(OVTK_StimulationId_ExperimentStop, CTime(5.0).time(),0); + ptr2->m_buffer.push_back(OVTK_StimulationId_ExperimentStop, CTime(5.0).time(),0); } } #endif diff --git a/applications/platform/tracker/src/TrackerPluginCountStimulations.cpp b/applications/platform/tracker/src/TrackerPluginCountStimulations.cpp index 8c7e2b809a1181d9232cbff95cb2550d21ee5e85..f68004c572ab1b0b9e5ba43fcd74557fac4ff7df 100755 --- a/applications/platform/tracker/src/TrackerPluginCountStimulations.cpp +++ b/applications/platform/tracker/src/TrackerPluginCountStimulations.cpp @@ -32,9 +32,9 @@ bool TrackerPluginCountStimulations::process(StreamBundle& track) for (size_t i = 0; i < typedStream->getChunkCount(); ++i) { const auto chunk = typedStream->getChunk(i); - for (size_t stimIdx = 0; stimIdx < chunk->m_buffer.getStimulationCount(); ++stimIdx) + for (size_t stimIdx = 0; stimIdx < chunk->m_buffer.size(); ++stimIdx) { - auto id = chunk->m_buffer.getStimulationIdentifier(stimIdx); + auto id = chunk->m_buffer.getId(stimIdx); auto it = histogram.find(id); if (it != histogram.end()) { it->second++; } diff --git a/cmake-modules/FindThirdPartyBoost_Chrono.cmake b/cmake-modules/FindThirdPartyBoost_Chrono.cmake deleted file mode 100644 index ec7683cc53835ceb2199c757e143e261642a55b4..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyBoost_Chrono.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# --------------------------------- -# Finds third party boost chrono -# Adds a def that its present -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Chrono) - -IF(WIN32) - FIND_PATH(PATH_BOOST_CHRONO "include/boost/chrono.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost NO_DEFAULT_PATH) - IF(PATH_BOOST_CHRONO) - OV_PRINT(OV_PRINTED " Found boost chrono includes...") - OV_LINK_BOOST_LIB("chrono" ${OV_WIN32_BOOST_VERSION} ) - IF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH) - ADD_DEFINITIONS(-DTARGET_HAS_Boost_Chrono) - ENDIF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH) - ENDIF(PATH_BOOST_CHRONO) -ENDIF(WIN32) - -IF(UNIX) - - FIND_PATH(PATH_BOOST_CHRONO "include/boost/chrono.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost NO_DEFAULT_PATH) - FIND_PATH(PATH_BOOST_CHRONO "include/boost/chrono.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost) - - IF(PATH_BOOST_CHRONO) - OV_PRINT(OV_PRINTED " Found boost chrono includes...") - - FIND_LIBRARY(LIB_Boost_Chrono NAMES "boost_chrono" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Chrono NAMES "boost_chrono" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - IF(LIB_Boost_Chrono) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Chrono}") - ADD_DEFINITIONS(-DTARGET_HAS_Boost_Chrono) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Chrono}) - ELSE(LIB_Boost_Chrono) - OV_PRINT(OV_PRINTED " [FAILED] lib boost_chrono") - ENDIF(LIB_Boost_Chrono) - - # Fedora / Ubuntu - FIND_LIBRARY(LIB_STANDARD_MODULE_RT rt) - IF(LIB_STANDARD_MODULE_RT) - OV_PRINT(OV_PRINTED " Found rt...") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_RT}) - ELSE(LIB_STANDARD_MODULE_RT) - OV_PRINT(OV_PRINTED " FAILED to find rt...") - ENDIF(LIB_STANDARD_MODULE_RT) - - ELSE(PATH_BOOST_CHRONO) - OV_PRINT(OV_PRINTED " FAILED to find boost chrono includes...") - ENDIF(PATH_BOOST_CHRONO) - -ENDIF(UNIX) - - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Chrono "Yes") - diff --git a/cmake-modules/FindThirdPartyBoost_FileSystem.cmake b/cmake-modules/FindThirdPartyBoost_FileSystem.cmake deleted file mode 100644 index 5f44b1b28f6f858b96bbbb8923bde699b05fbc16..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyBoost_FileSystem.cmake +++ /dev/null @@ -1,43 +0,0 @@ -# --------------------------------- -# Finds third party boost -# Adds library to target -# Adds include path -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_FileSystem) - -IF(UNIX) - FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - - IF(LIB_Boost_Filesystem) - OV_PRINT(OV_PRINTED " Found boost FileSystem...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Filesystem}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Filesystem} ) - ELSE(LIB_Boost_Filesystem) - # Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link - FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - IF(LIB_Boost_Filesystem) - OV_PRINT(OV_PRINTED " Found boost FileSystem...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Filesystem}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Filesystem}) - ELSE(LIB_Boost_Filesystem) - OV_PRINT(OV_PRINTED " FAILED to find boost FileSystem...") - OV_PRINT(OV_PRINTED " [FAILED] lib boost_filesystem-mt") - OV_PRINT(OV_PRINTED " [FAILED] lib boost_filesystem") - ENDIF(LIB_Boost_Filesystem) - ENDIF(LIB_Boost_Filesystem) - - # For Fedora - INCLUDE("FindThirdPartyPThread") - -ENDIF(UNIX) - -IF(WIN32) - OV_LINK_BOOST_LIB("filesystem" ${OV_WIN32_BOOST_VERSION} ) - OV_LINK_BOOST_LIB("system" ${OV_WIN32_BOOST_VERSION} ) # filesystem depends on system -ENDIF(WIN32) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_FileSystem "Yes") - diff --git a/cmake-modules/FindThirdPartyBoost_Math.cmake b/cmake-modules/FindThirdPartyBoost_Math.cmake deleted file mode 100644 index c7225d384d8b006673ab7b4a8d44d426045b3c0d..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyBoost_Math.cmake +++ /dev/null @@ -1,31 +0,0 @@ -# --------------------------------- -# Finds third party boost -# Adds library to target -# Adds include path -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Math) - -INCLUDE("FindThirdPartyBoost") - -IF(UNIX) - FIND_LIBRARY(LIB_Boost_Math NAMES "boost_math_c99" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - # OV_PRINT(OV_PRINTED " looking in ${LIST_DEPENDENCIES_PATH}") - IF(LIB_Boost_Math) - OV_PRINT(OV_PRINTED " Found boost math...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Math}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Math} ) - ELSE(LIB_Boost_Math) - OV_PRINT(OV_PRINTED " FAILED to find boost math...") - OV_PRINT(OV_PRINTED " [FAILED] lib libboost_math_c99") - ENDIF(LIB_Boost_Math) -ENDIF(UNIX) - -IF(WIN32) - IF(PATH_BOOST) - OV_LINK_BOOST_LIB("math_c99" ${OV_WIN32_BOOST_VERSION} ) - ENDIF(PATH_BOOST) -ENDIF(WIN32) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Math "Yes") - diff --git a/cmake-modules/FindThirdPartyBoost_Regex.cmake b/cmake-modules/FindThirdPartyBoost_Regex.cmake deleted file mode 100644 index 727e6729e8a02cf77004b07e6629b1353d21b97d..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyBoost_Regex.cmake +++ /dev/null @@ -1,37 +0,0 @@ -# --------------------------------- -# Finds third party boost -# Adds library to target -# Adds include path -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Regex) - -IF(UNIX) - FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - - IF(LIB_Boost_Regex) - OV_PRINT(OV_PRINTED " Found Boost regex...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Regex}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Regex} ) - ELSE(LIB_Boost_Regex) - # Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link - FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - IF(LIB_Boost_Regex) - OV_PRINT(OV_PRINTED " Found Boost regex...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Regex}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Regex}) - ELSE(LIB_Boost_Regex) - OV_PRINT(OV_PRINTED " [FAILED] lib boost_regex-mt") - OV_PRINT(OV_PRINTED " [FAILED] lib boost_regex") - ENDIF(LIB_Boost_Regex) - ENDIF(LIB_Boost_Regex) -ENDIF(UNIX) - -IF(WIN32) - OV_LINK_BOOST_LIB("regex" ${OV_WIN32_BOOST_VERSION}) -ENDIF(WIN32) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Regex "Yes") - diff --git a/cmake-modules/FindThirdPartyBoost_System.cmake b/cmake-modules/FindThirdPartyBoost_System.cmake deleted file mode 100644 index 89d4c07faab89881c8a331cb84589643565a7a36..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyBoost_System.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# --------------------------------- -# Finds third party boost -# Adds library to target -# Adds include path -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_System) - -IF(UNIX) - FIND_LIBRARY(LIB_Boost_System NAMES "boost_system-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_System NAMES "boost_system-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - - IF(LIB_Boost_System) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_System}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_System} ) - ELSE(LIB_Boost_System) - # Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link - FIND_LIBRARY(LIB_Boost_System NAMES "boost_system" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_System NAMES "boost_system" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - IF(LIB_Boost_System) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_System}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_System}) - ELSE(LIB_Boost_System) - OV_PRINT(OV_PRINTED " [FAILED] lib boost_system-mt") - OV_PRINT(OV_PRINTED " [FAILED] lib boost_system") - ENDIF(LIB_Boost_System) - ENDIF(LIB_Boost_System) -ENDIF(UNIX) - -IF(WIN32) - OV_LINK_BOOST_LIB("system" ${OV_WIN32_BOOST_VERSION}) -ENDIF(WIN32) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_System "Yes") - diff --git a/cmake-modules/FindThirdPartyBoost_Thread.cmake b/cmake-modules/FindThirdPartyBoost_Thread.cmake deleted file mode 100644 index f98ea0bf142c807d8c45490e816e1568e9739baa..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyBoost_Thread.cmake +++ /dev/null @@ -1,52 +0,0 @@ -# --------------------------------- -# Finds third party boost -# Adds library to target -# Adds include path -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Thread) - -IF(UNIX) - FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - - IF(LIB_Boost_Thread) - OV_PRINT(OV_PRINTED " Found boost thread...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Thread}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Thread} ) - ELSE(LIB_Boost_Thread) - # Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link - FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib) - IF(LIB_Boost_Thread) - OV_PRINT(OV_PRINTED " Found boost thread...") - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Thread}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Thread}) - ELSE(LIB_Boost_Thread) - OV_PRINT(OV_PRINTED " FAILED to find boost thread...") - OV_PRINT(OV_PRINTED " [FAILED] lib boost_thread-mt") - OV_PRINT(OV_PRINTED " [FAILED] lib boost_thread") - ENDIF(LIB_Boost_Thread) - ENDIF(LIB_Boost_Thread) - - # For Fedora - INCLUDE("FindThirdPartyPThread") - - # For Ubuntu 13.04 (interprocess/ipc/message_queue.hpp in ovasCPluginExternalStimulations.cpp caused dep) - FIND_LIBRARY(LIB_STANDARD_MODULE_RT rt) - IF(LIB_STANDARD_MODULE_RT) - OV_PRINT(OV_PRINTED " Found rt...") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_RT}) - ELSE(LIB_STANDARD_MODULE_RT) - OV_PRINT(OV_PRINTED " FAILED to find rt...") - ENDIF(LIB_STANDARD_MODULE_RT) - -ENDIF(UNIX) - -IF(WIN32) - OV_LINK_BOOST_LIB("thread" ${OV_WIN32_BOOST_VERSION}) -ENDIF(WIN32) - - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Thread "Yes") - diff --git a/cmake-modules/FindThirdPartyEigen.cmake b/cmake-modules/FindThirdPartyEigen.cmake deleted file mode 100644 index 1e4b5db5e1fb8dbaeaa6ad4af6047d1a899231e5..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyEigen.cmake +++ /dev/null @@ -1,56 +0,0 @@ -# --------------------------------- -# Finds Eigen headers -# -# Adds include path -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyEigen) - -IF(WIN32) - FIND_PATH(PATH_EIGEN Eigen/Eigen PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES eigen) - IF(PATH_EIGEN) - SET(EIGEN_FOUND TRUE) - SET(EIGEN_INCLUDE_DIRS ${PATH_EIGEN}) - SET(EIGEN_CFLAGS "") - #SET(EIGEN_LIBRARIES_RELEASE EIGEN) - #SET(EIGEN_LIBRARIES_DEBUG EIGENd) - #SET(EIGEN_LIBRARY_DIRS ${PATH_EIGEN}/lib ) - ENDIF(PATH_EIGEN) -ENDIF(WIN32) - -IF(UNIX) - - # @FIXME remove that when an Ubuntu package will be available - # Find in priority local library for eigen even if linux package has been installed - # reason: package on distri Ubuntu 16.04 is still bugged (eigen 3.2.92) - INCLUDE("FindPkgConfig") - UNSET(PATH_EIGEN_LOCAL CACHE) - FIND_PATH(PATH_EIGEN_LOCAL eigen3 PATHS "/usr/local/include" NO_DEFAULT_PATH) - SET(EIGEN_FOUND FALSE) - IF (PATH_EIGEN_LOCAL) - SET(EIGEN_INCLUDE_DIRS "${PATH_EIGEN_LOCAL}/eigen3") - SET(EIGEN_CFLAGS "-I${EIGEN_INCLUDE_DIRS}") - SET(EIGEN_FOUND TRUE) - ELSE() - pkg_check_modules(EIGEN eigen3) - ENDIF() - - # @FIXME uncomment that when an Ubuntu package will be available - #SET(EIGEN_FOUND FALSE) - #INCLUDE("FindPkgConfig") - #pkg_check_modules(EIGEN eigen3) - -ENDIF(UNIX) - -IF(EIGEN_FOUND) - OV_PRINT(OV_PRINTED " Found eigen3...") - INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS}) - ADD_DEFINITIONS(${EIGEN_CFLAGS}) - - ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEIGEN) -ELSE(EIGEN_FOUND) - OV_PRINT(OV_PRINTED " FAILED to find eigen3...") -ENDIF(EIGEN_FOUND) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyEigen "Yes") - diff --git a/cmake-modules/FindThirdPartyVRPN.cmake b/cmake-modules/FindThirdPartyVRPN.cmake deleted file mode 100644 index 3aa8d9b2c8819f2527fb2024a5cead4300edebcb..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyVRPN.cmake +++ /dev/null @@ -1,91 +0,0 @@ -# --------------------------------- -# Adds VRPN library to the target project -# Adds include path -# Requires FindThirdPartyVRPN_Check.cmake to have been run successfully before -# --------------------------------- - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN) - -IF(PATH_VRPN) - # Find all library paths - - IF(WIN32) - FIND_LIBRARY(LIB_VRPN vrpn PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_VRPN vrpn PATHS ${PATH_VRPN}/lib) - IF(LIB_VRPN) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VRPN}") - ELSE(LIB_VRPN) - OV_PRINT(OV_PRINTED " [FAILED] lib vrpn") - RETURN() - ENDIF(LIB_VRPN) - - FIND_LIBRARY(LIB_VRPN_DEBUG vrpnd PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_VRPN_DEBUG vrpnd PATHS ${PATH_VRPN}/lib) - IF(LIB_VRPN_DEBUG) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VRPN_DEBUG}") - ELSE(LIB_VRPN_DEBUG) - OV_PRINT(OV_PRINTED " [FAILED] lib vrpnd") - RETURN() - ENDIF(LIB_VRPN_DEBUG) - - FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib) - IF(LIB_QUAT) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QUAT}") - ELSE(LIB_QUAT) - OV_PRINT(OV_PRINTED " [FAILED] lib quat") - RETURN() - ENDIF(LIB_QUAT) - - FIND_LIBRARY(LIB_QUAT_DEBUG quatd PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_QUAT_DEBUG quatd PATHS ${PATH_VRPN}/lib) - IF(LIB_QUAT_DEBUG) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QUAT_DEBUG}") - ELSE(LIB_QUAT_DEBUG) - OV_PRINT(OV_PRINTED " [FAILED] lib quatd") - RETURN() - ENDIF(LIB_QUAT_DEBUG) - - ENDIF(WIN32) - - IF(UNIX) - FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib) - IF(LIB_VRPNSERVER) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VRPNSERVER}") - ELSE(LIB_VRPNSERVER) - OV_PRINT(OV_PRINTED " [FAILED] lib vrpnserver") - RETURN() - ENDIF(LIB_VRPNSERVER) - - FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH) - FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib) - IF(LIB_QUAT) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QUAT}") - ELSE(LIB_QUAT) - OV_PRINT(OV_PRINTED " [FAILED] lib quat") - RETURN() - ENDIF(LIB_QUAT) - ENDIF(UNIX) - - # If we reach here, everything has been found, add - INCLUDE_DIRECTORIES(${PATH_VRPN}/include) - - IF(WIN32) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LIB_VRPN}) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_VRPN_DEBUG}) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LIB_QUAT}) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_QUAT_DEBUG}) - ENDIF(WIN32) - IF(UNIX) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_VRPNSERVER}) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_QUAT}) - ENDIF(UNIX) - - ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyVRPN) -ELSE(PATH_VRPN) - MESSAGE(AUTHOR_WARNING "Should not run FindThirdPartyVRPN without FindThirdPartyVRPN_Check passing successfully first") -ENDIF(PATH_VRPN) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN "Yes") - diff --git a/cmake-modules/FindThirdPartyVRPN_Check.cmake b/cmake-modules/FindThirdPartyVRPN_Check.cmake deleted file mode 100644 index 8011258be48742f64d1032753642f630ec13ee87..0000000000000000000000000000000000000000 --- a/cmake-modules/FindThirdPartyVRPN_Check.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# --------------------------------- -# Finds VRPN -# Sets PATH_VRPN if found -# --------------------------------- -# The first ${..}/vrpn path is for Windows, the second ${..}/ for Linux - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN_Check) - -OV_PRINT(OV_PRINTED " Checking for VRPN...") - -FIND_PATH(PATH_VRPN include/vrpn_BaseClass.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES vrpn . NO_DEFAULT_PATH) -FIND_PATH(PATH_VRPN include/vrpn_BaseClass.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES vrpn .) -IF(PATH_VRPN) - OV_PRINT(OV_PRINTED " Found VRPN...") -ELSE(PATH_VRPN) - OV_PRINT(OV_PRINTED " FAILED to find VRPN") -ENDIF(PATH_VRPN) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN_Check "Yes") - diff --git a/cmake-modules/OvAddProjects.cmake b/cmake-modules/OvAddProjects.cmake index e3d8708c009490bef1ae8afb62156b6e082129ef..4a3067226171dfe5747fca9cf01b1682a3507b60 100644 --- a/cmake-modules/OvAddProjects.cmake +++ b/cmake-modules/OvAddProjects.cmake @@ -1,12 +1,9 @@ # Adds the current project to the global properties FUNCTION(OV_ADD_THIS_TO_PROJECT_LIST) - #MESSAGE(STATUS "ADDING: ${CMAKE_CURRENT_SOURCE_DIR}") - # Add the dir to be parsed for documentation later. We need to do this before adding subdir, in case the subdir is the actual docs dir GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS) SET(OV_TMP "${OV_TMP};${CMAKE_CURRENT_SOURCE_DIR}") SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS ${OV_TMP}) - ENDFUNCTION(OV_ADD_THIS_TO_PROJECT_LIST) FUNCTION(SOURCE_DIRECTORIES CURRENT_DIR RETURN_LIST) diff --git a/cmake-modules/OvLinkBoostLib.cmake b/cmake-modules/OvLinkBoostLib.cmake deleted file mode 100644 index 643468ae918d328fa64e1506609562fe55f845fa..0000000000000000000000000000000000000000 --- a/cmake-modules/OvLinkBoostLib.cmake +++ /dev/null @@ -1,63 +0,0 @@ -# -# Win32 only -# -# This concoction mainly exists to locate the boost libraries on WIN32 in the case where our dependency/ folder has only a -# truncated version of boost and we cannot use find_package(). The background story is that we wish to link explicitly -# instead of using automatic linking and specifying a generic boost path to linker before each project definition. -# -# The downside of this is that it assumes the boost library names to have a particular format and only works for VC90/VC100 -# -# Function: Links specified boost library defined by COMPONENT and BOOST_VERSION to PROJECT_NAME. -# - - -FUNCTION(OV_LINK_BOOST_LIB BOOST_COMPONENT BOOST_VERSION) - -GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_BOOST_${BOOST_COMPONENT}) - -IF(WIN32) - - SET(LIB_BOOST "unknown-platform-NOTFOUND") - SET(LIB_BOOST_DEBUG "unknown-platform-NOTFOUND") - - STRING(REGEX MATCH "vc100.*" MSVC_VER100 ${MSVC_SERVICE_PACK}) - IF(MSVC_VER100) - SET(LIB_BOOST "libboost_${BOOST_COMPONENT}-vc100-mt-${BOOST_VERSION}.lib") - SET(LIB_BOOST_DEBUG "libboost_${BOOST_COMPONENT}-vc100-mt-gd-${BOOST_VERSION}.lib") - ENDIF(MSVC_VER100) - - STRING(REGEX MATCH "vc120.*" MSVC_VER120 ${MSVC_SERVICE_PACK}) - IF(MSVC_VER120) - SET(LIB_BOOST "libboost_${BOOST_COMPONENT}-vc120-mt-${BOOST_VERSION}.lib") - SET(LIB_BOOST_DEBUG "libboost_${BOOST_COMPONENT}-vc120-mt-gd-${BOOST_VERSION}.lib") - ENDIF(MSVC_VER120) - - SET(LIB_BOOST_PATH "-NOTFOUND") - FIND_LIBRARY(LIB_BOOST_PATH NAMES ${LIB_BOOST} PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost/lib NO_DEFAULT_PATH) - SET(LIB_BOOST_DEBUG_PATH "-NOTFOUND") - FIND_LIBRARY(LIB_BOOST_DEBUG_PATH NAMES ${LIB_BOOST_DEBUG} PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost/lib NO_DEFAULT_PATH) - - IF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH) - OV_PRINT(OV_PRINTED " Found Boost ${BOOST_COMPONENT} libraries ...") - ELSE(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH) - OV_PRINT(OV_PRINTED " FAILED to find all Boost ${BOOST_COMPONENT} libraries ...") - ENDIF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH) - - IF(LIB_BOOST_PATH) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_BOOST_PATH}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LIB_BOOST_PATH}) - ELSE(LIB_BOOST_PATH) - MESSAGE(STATUS " FAILED to find boost lib ${LIB_BOOST}") - ENDIF(LIB_BOOST_PATH) - - IF(LIB_BOOST_DEBUG_PATH) - OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_BOOST_DEBUG_PATH}") - TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_BOOST_DEBUG_PATH}) - ELSE(LIB_BOOST_DEBUG_PATH) - MESSAGE(STATUS " FAILED to find boost debug lib ${LIB_BOOST_DEBUG}") - ENDIF(LIB_BOOST_DEBUG_PATH) -ENDIF(WIN32) - -SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_BOOST_${BOOST_COMPONENT} "Yes") - -ENDFUNCTION(OV_LINK_BOOST_LIB) diff --git a/contrib/applications/developer-tools/pybox-manager/CMakeLists.txt b/contrib/applications/developer-tools/pybox-manager/CMakeLists.txt index da8c9be112ce83232a8073046ec9b189953d267a..ce59444e59bf3a1f901d5e5e316e769d5a97be35 100644 --- a/contrib/applications/developer-tools/pybox-manager/CMakeLists.txt +++ b/contrib/applications/developer-tools/pybox-manager/CMakeLists.txt @@ -9,6 +9,7 @@ target_link_libraries(${PROJECT_NAME} openvibe-toolkit openvibe-module-ebml openvibe-module-system + Boost::boost ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -22,7 +23,6 @@ add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) include_directories("src") # OpenViBE Third Party -include("FindThirdPartyBoost") include("FindThirdPartyPython3") # --------------------------------- diff --git a/contrib/applications/developer-tools/pybox-manager/README.md b/contrib/applications/developer-tools/pybox-manager/README.md index 89c734d05eeb76ec7b565813ed1ba606355407a8..f0fe9117fbdaa0599613e7a5e656f9b4f848e34e 100644 --- a/contrib/applications/developer-tools/pybox-manager/README.md +++ b/contrib/applications/developer-tools/pybox-manager/README.md @@ -1,6 +1,6 @@ -# OpenViBE Python +# OpenViBE PyBox {#pybox} -This Project aims to bring modifications to OpenVibe and to widen its data-oriented functionnalities. OpenVibe is a signal processing software allowing the use of machine learning algorithms, however their number is reduced. Thus, we woud like to benefit from the Openvibe Python scripting box (which allows the use of python scripts in OV) in order to allow users to use Scikit-learn Machine Learning algorithms. +This Project aims to bring modifications to OpenViBE and to widen its data-oriented functionnalities. OpenViBE is a signal processing software allowing the use of machine learning algorithms, however their number is reduced. Thus, we woud like to benefit from the OpenViBE Python scripting box (which allows the use of python scripts in OV) in order to allow users to use Scikit-learn Machine Learning algorithms. ## Dependancies @@ -8,56 +8,38 @@ This Project aims to bring modifications to OpenVibe and to widen its data-orien ## What OpenViBE Python allows -- The use of components already implemented in OpenVibe that will allow you to : +- The use of components already implemented in OpenViBE that will allow you to : - The use of ML algorithms from Scikit-learn and Pyriemann (Library centered on the use of Riemannian geometry) that will allow you to train and store models. - Visualization of your data in 2D/3D via a PCA or LDA. - - Easily create datasets compatible with OpenVibe's operation + - Easily create datasets compatible with OpenViBE's operation - The use of a manager that allows you to simply : - - Create new boxes in OpenVibe - - Create new types of openvibe settings that can be used in your new boxes. + - Create new boxes in OpenViBE + - Create new types of OpenViBE settings that can be used in your new boxes. - The reuse of our scripts in order to simply implement your own python data management - 1. The new boxes - TrainerML / ML Class Boxes - Box ProcessML - Box DataViz - DatasetCreator Box - 2. The Pybox Manager - Box Manager - Stimulations / Labels Manager - Custom Settings Manager - 3. Internal functioning and details - Our box model: PolyBox - Input management with PolyBox, two modes possible - Duplicating the Python Scripting Box - PolyBox: Automatic data storage - Managing Custom Settings - -Translated with www.DeepL.com/Translator (free version) - ## Table des matières - [OpenViBE Python](#openvibe-python) - - [Dependancies](#dependancies) - - [What OpenViBE Python allows](#what-openvibe-python-allows) - - [Table des matières](#table-des-mati%c3%a8res) - - [1. The new boxes](#1-the-new-boxes) - - [TrainerML Class / ML Boxes](#trainerml-class--ml-boxes) - - [Scikit-learn](#scikit-learn) - - [Pyriemann](#pyriemann) - - [Box ProcessML](#box-processml) - - [Box DataViz](#box-dataviz) - - [Box DatasetCreator](#box-datasetcreator) - - [2. The Pybox Manager](#2-the-pybox-manager) - - [Box Manager](#box-manager) - - [Stimulations / Labels Manager](#stimulations--labels-manager) - - [Custom Settings Manager](#custom-settings-manager) - - [3. Internal Functioning and Details](#3-internal-functioning-and-details) - - [Our Box model : PolyBox](#our-box-model--polybox) - - [Input management with PolyBox, two possible modes](#input-management-with-polybox-two-possible-modes) - - [Duplicating the Python Scripting Box](#duplicating-the-python-scripting-box) - - [Automatic data storage](#automatic-data-storage) - - [Managing Custom Settings](#managing-custom-settings) + - [Dependancies](#dependancies) + - [What OpenViBE Python allows](#what-openvibe-python-allows) + - [Table des matières](#table-des-mati%c3%a8res) + - [1. The new boxes](#1-the-new-boxes) + - [TrainerML Class / ML Boxes](#trainerml-class--ml-boxes) + - [Scikit-learn](#scikit-learn) + - [Pyriemann](#pyriemann) + - [Box ProcessML](#box-processml) + - [Box DataViz](#box-dataviz) + - [Box DatasetCreator](#box-datasetcreator) + - [2. The Pybox Manager](#2-the-pybox-manager) + - [Box Manager](#box-manager) + - [Stimulations / Labels Manager](#stimulations--labels-manager) + - [Custom Settings Manager](#custom-settings-manager) + - [3. Internal Functioning and Details](#3-internal-functioning-and-details) + - [Our Box model : PolyBox](#our-box-model--polybox) + - [Input management with PolyBox, two possible modes](#input-management-with-polybox-two-possible-modes) + - [Duplicating the Python Scripting Box](#duplicating-the-python-scripting-box) + - [Automatic data storage](#automatic-data-storage) + - [Managing Custom Settings](#managing-custom-settings) ## 1. The new boxes @@ -79,39 +61,39 @@ Here are the new algorithms / boxes implemented in OV : <https://scikit-learn.org/stable/> -> | Box Name | Algorithm | -> | :-: | :-: | -> | Nearest Centroid | NearestCentroid | -> | Nearest Neighbors Classifier | KNeighborsClassifier | -> | Gaussian Naive Bayes | GaussianNB | -> | Stochastic Gradient Descent | SGDClassifier | -> | Logistic Regression | LogisticRegression | -> | Decision Tree Classifier | DecisionTreeClassifier | -> | Extra Trees | ExtraTreesClassifier | -> | Bagging | BaggingClassifier | -> | Random Forest | RandomForestClassifier | -> | Support Vector Machine | LinearSVC | -> | Linear Discriminant Analysis | LinearDiscriminantAnalysis | -> | AdaBoost | AdaBoostClassifier | -> | Multi Layer Perceptron | MLPClassifier | -> | Linear SVC | LinearSVC | +| Box Name | Algorithm | +| :-: | :-: | +| Nearest Centroid | NearestCentroid | +| Nearest Neighbors Classifier | KNeighborsClassifier | +| Gaussian Naive Bayes | GaussianNB | +| Stochastic Gradient Descent | SGDClassifier | +| Logistic Regression | LogisticRegression | +| Decision Tree Classifier | DecisionTreeClassifier | +| Extra Trees | ExtraTreesClassifier | +| Bagging | BaggingClassifier | +| Random Forest | RandomForestClassifier | +| Support Vector Machine | LinearSVC | +| Linear Discriminant Analysis | LinearDiscriminantAnalysis | +| AdaBoost | AdaBoostClassifier | +| Multi Layer Perceptron | MLPClassifier | +| Linear SVC | LinearSVC | #### Pyriemann <https://pyriemann.readthedocs.io/en/latest/index.html> -> | String | Algorithm | -> | :-: | :-: | -> | Riemann Minimum Distance to Mean | MDM | -> | Riemann Tangent Space | TangentSpace | +| String | Algorithm | +| :-: | :-: | +| Riemann Minimum Distance to Mean | MDM | +| Riemann Tangent Space | TangentSpace | You can easily find information on each of these methods in the docs of their library. -For each of these classifiers, an Openvibe box using TrainerML with the appropriate parameters has been created. So, if you want to train with the Random Forest algorithm of Scikit-learn for example, you just have to look for the associated box in Openvibe and you will be able to use it directly, and modify the parameters related to the algorithm. You will find the information concerning all these parameters on the respective pages of the algorithms, ex: <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html.> +For each of these classifiers, an OpenViBE box using TrainerML with the appropriate parameters has been created. So, if you want to train with the Random Forest algorithm of Scikit-learn for example, you just have to look for the associated box in OpenViBE and you will be able to use it directly, and modify the parameters related to the algorithm. You will find the information concerning all these parameters on the respective pages of the algorithms, ex: <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html.> + + ->  -> -> Example of parameterization of a box implementing Random Forest +Example of parameterization of a box implementing Random Forest ### Box ProcessML @@ -156,7 +138,7 @@ It can be configured by indicating : ## 2. The Pybox Manager -The Pybox Manager allows you to simply create and incorporate new boxes running a Python script of your choice, new labels/stimulations and new Custom Settings for your python boxes into OpenVibe. +The Pybox Manager allows you to simply create and incorporate new boxes running a Python script of your choice, new labels/stimulations and new Custom Settings for your python boxes into OpenViBE. To run it: `python pybox_manager.py`. @@ -169,16 +151,16 @@ To do this, run the manager with the `-mode=developer` option. The Box Manager looks like this: ->  -> -> PyBox Manager. + + +PyBox Manager. - New: Create a new box - Duplicate: duplicates the currently selected box. - Reset Box: resets the selected box, cancels all changes made since the last compilation. - Category : category in which the box will be stored in OV. - Author : add the author's name in the box's references. -- Settings: Allows you to manage all the settings necessary to use the box. These can be types from Openvibe (String, Float etc.) or types created by yourself with the [Custom settings Manager](#custom-settings-manager) +- Settings: Allows you to manage all the settings necessary to use the box. These can be types from OpenViBE (String, Float etc.) or types created by yourself with the [Custom settings Manager](#custom-settings-manager) - Inputs: Used to fill in the different inputs that your box will receive. - Outputs : Used to fill in the different outputs that your box will send. - Enable settings / inputs / outputs modifications : Allows you to prevent the users of your box from modifying these elements later on. @@ -198,27 +180,27 @@ The DatasetCreator box we have created allows you to monitor the creation of a l We allow the user to add labels (stimulations) via the `Stimulations/Labels Manager` interface present in the manager. To do this, the manager must provide the name of the label, and a corresponding `.mp3` file, which will be played by the DatasetCreator. ->  -> -> Add a label/stimulation to OpenViBE. + + +Add a label/stimulation to OpenViBE. ### Custom Settings Manager The `Custom Settings Manager` allows you to create or delete special types of settings, as well as possible values for these settings, according to your needs. -This is especially useful to allow easy use on OpenVibe using a drop-down list. For example, if you want to be able to choose one algorithm among several, directly in your OpenVibe box configuration, you just have to create this new type as well as the associated values via the manager as shown in the following illustration. +This is especially useful to allow easy use on OpenViBE using a drop-down list. For example, if you want to be able to choose one algorithm among several, directly in your OpenViBE box configuration, you just have to create this new type as well as the associated values via the manager as shown in the following illustration. To be able to use them with the manager when defining the parameters of a box, you have to launch the manager with the option `mode=developer`. ->  -> -> Add/Remove/Manage Custom Settings. + -Result in OpenVibe : +Add/Remove/Manage Custom Settings. ->  -> -> Example with a new type 'classifier'. +Result in OpenViBE : + + + +Example with a new type 'classifier'. ## 3. Internal Functioning and Details @@ -241,17 +223,17 @@ The first mode (`ov-mode`) corresponds to the classic OpenViBE reading mode: the For example: ->  -> -> **Figure 1** - ov-mode + + +**Figure 1** - ov-mode The second mode (`poly-mode`) consists in considering as many files as there are classes, i.e. one .csv file per class. To read all these files, the box then needs to have at least as many StreamedMatrix inputs as there are different classes. To use this mode, you just have to create only StreamedMatrix inputs. (Often, this mode requires a `label` parameter in which to fill in the labels of our different classes in the form: `my label1, my label2, my label3`). For example: ->  -> **Figure 2** - poly-mode + +**Figure 2** - poly-mode Thus, these two reading modes are transparent for the user and allow him to operate the `PolyBoxes` either with a single file containing all the actions, or with several files: one per action. The user doesn't need to indicate anything for the box to choose the right behavior to adopt, the box chooses its behavior according to its inputs. diff --git a/contrib/applications/developer-tools/pybox-manager/README_FR.md b/contrib/applications/developer-tools/pybox-manager/README_FR.md index 0b411895852c697935f8684e0bd654bdd31716f2..d81f4c0c3a05e3899cb981d55e8e9407d3bac9e1 100644 --- a/contrib/applications/developer-tools/pybox-manager/README_FR.md +++ b/contrib/applications/developer-tools/pybox-manager/README_FR.md @@ -1,4 +1,4 @@ -# OpenViBE Python +# OpenViBE PyBox {#pyboxFR} Ce projet a pour but d'apporter des modifications à OpenViBE et d'ouvrir ses possibilités d'un point de vue Data Science. OpenViBE est un logiciel de traitement du signal permettant l'utilisation d'algorithmes de machine learning, cependant ces algorithmes sont limités en choix. Ainsi, nous souhaitons utiliser l'ouverture laissée par la Python scripting box d'OpenViBE (qui permet d'utiliser des scripts python dans OV) pour permettre aux utilisateurs d'utiliser les algorithmes implémentés par des librairies tierces. @@ -8,38 +8,38 @@ Ce projet a pour but d'apporter des modifications à OpenViBE et d'ouvrir ses po ## Ce que permet OpenViBE Python -- L'utilisation de composants déjà implémentés dans OpenVibe qui vous permettront : +- L'utilisation de composants déjà implémentés dans OpenViBE qui vous permettront : - l'utilisation d'algorithmes de ML issus de Scikit-learn ainsi que Pyriemann (Librarie centrée sur l'utilisation de la géométrie Riemannienne) qui vous permettront d'entrainer et de stocker des modèles. - La visualisation de vos données en 2D/3D via une PCA ou une LDA. - - Créer facilement des datasets compatibles avec le fonctionnement d'OpenVibe + - Créer facilement des datasets compatibles avec le fonctionnement d'OpenViBE - L'utilisation d'un manager qui permet de simplement : - - Créer des nouvelles boites dans OpenVibe - - Créer des nouveaux types de "settings" openvibe qui pourront être utilisés dans vos nouvelles boites + - Créer des nouvelles boites dans OpenViBE + - Créer des nouveaux types de "settings" OpenViBE qui pourront être utilisés dans vos nouvelles boites - La réutilisation de nos scripts afin d'implenter simplement votre propre gestion de la donnée en python ## Table des matières - [OpenViBE Python](#openvibe-python) - - [Dépendances](#d%c3%a9pendances) - - [Ce que permet OpenViBE Python](#ce-que-permet-openvibe-python) - - [Table des matières](#table-des-mati%c3%a8res) - - [1. Les nouvelles boites](#1-les-nouvelles-boites) - - [Classe TrainerML / ML Boxes](#classe-trainerml--ml-boxes) - - [Scikit-learn](#scikit-learn) - - [Pyriemann](#pyriemann) - - [Box ProcessML](#box-processml) - - [Box DataViz](#box-dataviz) - - [Box DatasetCreator](#box-datasetcreator) - - [2. Le Pybox Manager](#2-le-pybox-manager) - - [Box Manager](#box-manager) - - [Stimulations / Labels Manager](#stimulations--labels-manager) - - [Custom Settings Manager](#custom-settings-manager) - - [3. Fonctionnement interne et détails](#3-fonctionnement-interne-et-d%c3%a9tails) - - [Notre modèle de boite : PolyBox](#notre-mod%c3%a8le-de-boite--polybox) - - [Gestion des inputs avec PolyBox, deux modes possibles](#gestion-des-inputs-avec-polybox-deux-modes-possibles) - - [Duplication de la Python Scripting Box](#duplication-de-la-python-scripting-box) - - [PolyBox : Stockage automatique des données](#polybox--stockage-automatique-des-donn%c3%a9es) - - [Gestion des Custom Settings](#gestion-des-custom-settings) + - [Dépendances](#d%c3%a9pendances) + - [Ce que permet OpenViBE Python](#ce-que-permet-openvibe-python) + - [Table des matières](#table-des-mati%c3%a8res) + - [1. Les nouvelles boites](#1-les-nouvelles-boites) + - [Classe TrainerML / ML Boxes](#classe-trainerml--ml-boxes) + - [Scikit-learn](#scikit-learn) + - [Pyriemann](#pyriemann) + - [Box ProcessML](#box-processml) + - [Box DataViz](#box-dataviz) + - [Box DatasetCreator](#box-datasetcreator) + - [2. Le Pybox Manager](#2-le-pybox-manager) + - [Box Manager](#box-manager) + - [Stimulations / Labels Manager](#stimulations--labels-manager) + - [Custom Settings Manager](#custom-settings-manager) + - [3. Fonctionnement interne et détails](#3-fonctionnement-interne-et-d%c3%a9tails) + - [Notre modèle de boite : PolyBox](#notre-mod%c3%a8le-de-boite--polybox) + - [Gestion des inputs avec PolyBox, deux modes possibles](#gestion-des-inputs-avec-polybox-deux-modes-possibles) + - [Duplication de la Python Scripting Box](#duplication-de-la-python-scripting-box) + - [PolyBox : Stockage automatique des données](#polybox--stockage-automatique-des-donn%c3%a9es) + - [Gestion des Custom Settings](#gestion-des-custom-settings) ## 1. Les nouvelles boites @@ -89,11 +89,11 @@ Voici les nouveaux algorithmes / boites implémentés dans OV : Vous trouverez facilement des informations sur chacune de ces méthodes dans la doc de leur librairies. -Pour chacun de ces classifiers, une boite Openvibe utilisant TrainerML avec les paramètres adéquats a été créé. Ainsi, si vous souhaitez réaliser un entrainement avec l'algorithme Random Forest de Scikit-learn par exemple, il vous suffit de chercher la boite associée dans Openvibe et vous pourrez directement l'utiliser, et modifier les paramètres relatifs à l'algorithme. Vous trouverez les informations concernant tous ces paramètres sur les pages respectives des algorithmes, ex : <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html> +Pour chacun de ces classifiers, une boite OpenViBE utilisant TrainerML avec les paramètres adéquats a été créé. Ainsi, si vous souhaitez réaliser un entrainement avec l'algorithme Random Forest de Scikit-learn par exemple, il vous suffit de chercher la boite associée dans OpenViBE et vous pourrez directement l'utiliser, et modifier les paramètres relatifs à l'algorithme. Vous trouverez les informations concernant tous ces paramètres sur les pages respectives des algorithmes, ex : <https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html> ->  -> -> Exemple de paramétrisation d'une boite implémentant Random Forest + + +Exemple de paramétrisation d'une boite implémentant Random Forest ### Box ProcessML @@ -139,7 +139,7 @@ On peut la configurer en indiquant : ## 2. Le Pybox Manager -Le Pybox Manager permet de simplement créer et incorporer à OpenVibe de nouvelles boites éxécutant un script Python de votre choix, de nouveaux labels/stimulations et de nouveau Custom Settings pour vos box python. +Le Pybox Manager permet de simplement créer et incorporer à OpenViBE de nouvelles boites éxécutant un script Python de votre choix, de nouveaux labels/stimulations et de nouveau Custom Settings pour vos box python. Pour l'éxécuter : `python pybox_manager.py` @@ -152,16 +152,16 @@ Pour ceci lancer le manager avec l'option `mode=developer` Le Box Manager se présente comme ceci : ->  -> -> Visualisation du PyBox Manager. + + +Visualisation du PyBox Manager. - New : Créer une nouvelle boite - Duplicate : duplique la boite actuellement séléctionnée. - Reset Box : réinitialise la box séléctionnée, annule toutes les modifications effectuées depuis la dernière compilation. - Category : catégorie dans laquelle la boîte sera rangée dans OV. - Author : ajoute le nom des auteurs dans les références de la boite. -- Settings : Permet d'administrer tous les settings nécessaires afin d'utiliser la box. Ceux-ci peuvent être des types issus d'Openvibe (String, Float etc.) ou bien des types créés par vous même grâce au [Custom settings Manager](#custom-settings-manager) +- Settings : Permet d'administrer tous les settings nécessaires afin d'utiliser la box. Ceux-ci peuvent être des types issus d'OpenViBE (String, Float etc.) ou bien des types créés par vous même grâce au [Custom settings Manager](#custom-settings-manager) - Inputs : Sert à renseigner les différents inputs que va recevoir votre boite - Outputs : : Sert à renseigner les différents outputs que va envoyer votre boite. - Enable settings / inputs / outputs modifications : permet d'empêcher les utilisateurs de votre boite de modifier ultérieurement ces éléments. @@ -181,26 +181,26 @@ La box DatasetCreator que nous avons créée permet de monitorer la création d' Nous permettons à l'utilisateur d'ajouter des labels (stimulations) via l'interface `Stimulations/Labels Manager` présent dans le manager. Pour ce faire, ce dernier doit fournir le nom du label, et un fichier `.mp3` correspondant, qui sera joué par le DatasetCreator. ->  -> -> Add a label/stimulation to OpenViBE. + + +Add a label/stimulation to OpenViBE. ### Custom Settings Manager Le `Custom Settings Manager` permet de créer ou de supprimer des types de paramètres spéciaux, ainsi que des valeurs possibles pour ces paramètres, selon vos besoins. -C'est notamment utile pour permettre une utilisation facile sur OpenVibe à l'aide d'une liste déroulante. Par exemple, vous voulez pouvoir choisir un algorithme parmis plusieurs, directement dans la configuration de votre boite sur openvibe, il vous suffit de créer ce nouveau type ainsi que les valeurs associées via le manager comme dans l'illustration suivante. +C'est notamment utile pour permettre une utilisation facile sur OpenViBE à l'aide d'une liste déroulante. Par exemple, vous voulez pouvoir choisir un algorithme parmis plusieurs, directement dans la configuration de votre boite sur OpenViBE, il vous suffit de créer ce nouveau type ainsi que les valeurs associées via le manager comme dans l'illustration suivante. Pour pouvoir les utiliser avec le manager lors de la définition des paramètres d'une box, il faut lancer le manager avec l'option `mode=developer`. ->  -> -> Add/Remove/Manage Custom Settings. + + +Add/Remove/Manage Custom Settings. -Résultat dans OpenVibe : +Résultat dans OpenViBE : ->  -> -> Exemple avec un nouveau type 'classifier'. + + +Exemple avec un nouveau type 'classifier'. ## 3. Fonctionnement interne et détails @@ -223,18 +223,18 @@ Le premier mode (`ov-mode`) correspond au mode de lecture classique de OpenViBE Exemple : ->  -> -> ov-mode + + +ov-mode Le second mode (`poly-mode`) consiste à considérer autant de fichiers qu'il y a de classes, soit un fichier .csv par classe. Pour lire tous ces fichiers, la box a alors besoin d'avoir au moins autant d'input StreamedMatrix qu'il existe de classes différentes. Pour utiliser ce mode, il suffit donc de ne créer que des entrées StreamedMatrix. (Souvent, ce mode nécessite un paramètre `label` dans lequel renseigner les labels de nos différentes classes sous la forme : `mon label1, mon label2, mon label3`.) Exemple : ->  -> -> poly-mode + + +poly-mode Ainsi, ces deux modes de lectures sont transparents pour l'utilisateur et lui permettent d'exploiter les box `PolyBox` soit avec un seul fichier contenant l'ensemble des actions, soit avec plusieurs fichiers : un par action. L'utilisateur n'a donc rien besoin d'indiquer pour que la box choisisse le bon comportement à adopter, celle-ci choisit son comportement en fonction de ses inputs. diff --git a/contrib/applications/developer-tools/pybox-manager/box-tutorials/pybox/trainer-sklearn.xml b/contrib/applications/developer-tools/pybox-manager/box-tutorials/pybox/trainer-sklearn.xml index c01c9ac64afb40744f5aa92a58617098845d23e7..e57e3ae99fbd116224c455440ea14ed86515ae32 100644 --- a/contrib/applications/developer-tools/pybox-manager/box-tutorials/pybox/trainer-sklearn.xml +++ b/contrib/applications/developer-tools/pybox-manager/box-tutorials/pybox/trainer-sklearn.xml @@ -80,7 +80,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>learning_rate</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> diff --git a/contrib/applications/developer-tools/pybox-manager/src/box-algorithms/CPolyBox.cpp b/contrib/applications/developer-tools/pybox-manager/src/box-algorithms/CPolyBox.cpp index d3a80b04540fd2409b5165e67088d65650fc0fa6..87323007bfc229494fef118c4223cda0ebe77377 100644 --- a/contrib/applications/developer-tools/pybox-manager/src/box-algorithms/CPolyBox.cpp +++ b/contrib/applications/developer-tools/pybox-manager/src/box-algorithms/CPolyBox.cpp @@ -1198,7 +1198,7 @@ bool CPolyBox::transferStimulationInputChunksToPython(const size_t index) if (m_decoders[index]->isBufferReceived()) { - IStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationDecoder<CPolyBox>*>(m_decoders[index])->getOutputStimulationSet(); + CStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationDecoder<CPolyBox>*>(m_decoders[index])->getOutputStimulationSet(); PyObject* pyArg = PyTuple_New(2); if (pyArg == nullptr) @@ -1228,11 +1228,11 @@ bool CPolyBox::transferStimulationInputChunksToPython(const size_t index) } Py_CLEAR(pyArg); - for (size_t i = 0; i < stimSet->getStimulationCount(); ++i) + for (size_t i = 0; i < stimSet->size(); ++i) { - const uint64_t id = stimSet->getStimulationIdentifier(i); - const uint64_t date = stimSet->getStimulationDate(i); - const uint64_t duration = stimSet->getStimulationDuration(i); + const uint64_t id = stimSet->getId(i); + const uint64_t date = stimSet->getDate(i); + const uint64_t duration = stimSet->getDuration(i); pyArg = PyTuple_New(3); if (pyArg == nullptr) @@ -1331,7 +1331,7 @@ bool CPolyBox::transferStimulationInputChunksToPython(const size_t index) bool CPolyBox::transferStimulationOutputChunksFromPython(const size_t index) { Kernel::IBoxIO& boxCtx = this->getDynamicBoxContext(); - IStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationEncoder<CPolyBox>*>(m_encoders[index])->getInputStimulationSet(); + CStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationEncoder<CPolyBox>*>(m_encoders[index])->getInputStimulationSet(); if (!PyList_Check(m_boxOutput)) { @@ -1367,7 +1367,7 @@ bool CPolyBox::transferStimulationOutputChunksFromPython(const size_t index) uint64_t startTime, endTime; getTimesFromPyObject(pyChunk, startTime, endTime); - stimSet->setStimulationCount(0); + stimSet->resize(0); m_encoders[index]->encodeHeader(); boxCtx.markOutputAsReadyToSend(index, startTime, endTime); } @@ -1381,7 +1381,7 @@ bool CPolyBox::transferStimulationOutputChunksFromPython(const size_t index) return false; } - stimSet->setStimulationCount(0); + stimSet->resize(0); for (size_t i = 0; i < chunkLen; ++i) { PyObject* pyStim = PyList_GetItem(pyChunk, Py_ssize_t(i)); @@ -1404,7 +1404,7 @@ bool CPolyBox::transferStimulationOutputChunksFromPython(const size_t index) getTimeFromPyObject(pyStim, "date", date); getTimeFromPyObject(pyStim, "duration", duration); - stimSet->appendStimulation(id, date, duration); + stimSet->push_back(id, date, duration); } uint64_t startTime, endTime; diff --git a/contrib/plugins/processing/file-io/CMakeLists.txt b/contrib/plugins/processing/file-io/CMakeLists.txt index bc5d6c0833436b71e943d666db2c9d7f36342d88..96a6fcb7e0d672174f36f738bab0598c27fb59ca 100755 --- a/contrib/plugins/processing/file-io/CMakeLists.txt +++ b/contrib/plugins/processing/file-io/CMakeLists.txt @@ -8,6 +8,7 @@ target_link_libraries(${PROJECT_NAME} openvibe-common openvibe-toolkit openvibe-module-ebml + Boost::boost ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -18,9 +19,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) -# --------------------------------- -include("FindThirdPartyBoost") - # ----------------------------- # Install files # ----------------------------- diff --git a/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.cpp b/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.cpp index f226a31e4b244edfcccca69509e0d596184e007b..8fffc6cc73634427aeeb56876d87656d4dc5f486 100644 --- a/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.cpp +++ b/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.cpp @@ -200,13 +200,13 @@ bool CBoxAlgorithmBrainampFileWriterGipsa::process() //buffer if (m_stimDecoder->isBufferReceived()) { - IStimulationSet* stimSet = m_stimDecoder->getOutputStimulationSet(); + CStimulationSet* stimSet = m_stimDecoder->getOutputStimulationSet(); // Loop on stimulations - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) + for (size_t j = 0; j < stimSet->size(); ++j) { - const uint64_t code = stimSet->getStimulationIdentifier(j); - const uint64_t position = CTime(stimSet->getStimulationDate(j)).toSampleCount(m_sampling) + 1; + const uint64_t code = stimSet->getId(j); + const uint64_t position = CTime(stimSet->getDate(j)).toSampleCount(m_sampling) + 1; m_markerFile << "Mk" << m_stimulationCounter << "=Stimulus," << "S" << std::right << std::setw(3) << code << "," << position << ",1,0" << std:: endl; diff --git a/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.h b/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.h index 99cae6337cc097862c03e0e3d9d439877dc722c6..8b5783fa5ec5ca621d91b4f882f719b30d4e6e11 100644 --- a/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.h +++ b/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmBrainampFileWriterGipsa.h @@ -83,7 +83,7 @@ protected: //input stimulation 1 Toolkit::TStimulationDecoder<CBoxAlgorithmBrainampFileWriterGipsa>* m_stimDecoder = nullptr; //Kernel::TParameterHandler <const IMemoryBuffer* > ip_bufferToDecodeTrigger; - //Kernel::TParameterHandler < IStimulationSet* > op_pStimulationSetTrigger; + //Kernel::TParameterHandler < CStimulationSet* > op_pStimulationSetTrigger; std::string m_headerFilename; std::string m_dataFilename; diff --git a/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmEDFFileWriter.cpp b/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmEDFFileWriter.cpp index fb9265066641e6e15898380e93d1aaa6b2556679..de109daa5ee593a1e34e5f179ef2656686ac1ef5 100644 --- a/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmEDFFileWriter.cpp +++ b/contrib/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmEDFFileWriter.cpp @@ -277,16 +277,16 @@ bool CBoxAlgorithmEDFFileWriter::process() if (m_stimDecoder.isBufferReceived()) { - const IStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) + const CStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); + for (size_t j = 0; j < stimSet->size(); ++j) { - const uint64_t date = stimSet->getStimulationDate(j); + const uint64_t date = stimSet->getDate(j); const int64_t stimDate = int64_t(CTime(date).toSeconds() / 0.0001); - const uint64_t duration = stimSet->getStimulationDuration(j); + const uint64_t duration = stimSet->getDuration(j); const int64_t stimDuration = int64_t(CTime(duration).toSeconds() / 0.0001); - const uint64_t id = stimSet->getStimulationIdentifier(j); + const uint64_t id = stimSet->getId(j); CString stimID = this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, id); if (stimID.length() == 0) { diff --git a/contrib/plugins/processing/misc/CMakeLists.txt b/contrib/plugins/processing/misc/CMakeLists.txt index 9fc890d2d0281d0b03706fc90c20d3d096e8b9e7..9d91fcc9457de5a7a10434fb12457ca7435029e0 100644 --- a/contrib/plugins/processing/misc/CMakeLists.txt +++ b/contrib/plugins/processing/misc/CMakeLists.txt @@ -18,7 +18,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) # --------------------------------- -# include("FindThirdPartyBoost") include("FindThirdPartyOpenAL") # ----------------------------- diff --git a/contrib/plugins/processing/network-io/src/box-algorithms/osc-controller/ovpCBoxAlgorithmOSCController.cpp b/contrib/plugins/processing/network-io/src/box-algorithms/osc-controller/ovpCBoxAlgorithmOSCController.cpp index f47cc92e7a838ad8ffb22749931c622415387556..48e804d6114aaea61baddbf43c9d874a36f75d84 100644 --- a/contrib/plugins/processing/network-io/src/box-algorithms/osc-controller/ovpCBoxAlgorithmOSCController.cpp +++ b/contrib/plugins/processing/network-io/src/box-algorithms/osc-controller/ovpCBoxAlgorithmOSCController.cpp @@ -130,7 +130,7 @@ bool CBoxAlgorithmOSCController::process() { Kernel::TParameterHandler<const IMemoryBuffer*> ip_buffer( m_decoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - const Kernel::TParameterHandler<const IStimulationSet*> op_pStimulationSet( + const Kernel::TParameterHandler<const CStimulationSet*> op_pStimulationSet( m_decoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); ip_buffer = boxContext.getInputChunk(0, j); @@ -144,9 +144,9 @@ bool CBoxAlgorithmOSCController::process() pw.startBundle(); } - for (size_t k = 0; k < op_pStimulationSet->getStimulationCount(); ++k) + for (size_t k = 0; k < op_pStimulationSet->size(); ++k) { - const uint64_t stimulus = op_pStimulationSet->getStimulationIdentifier(k); + const uint64_t stimulus = op_pStimulationSet->getId(k); pw.addMessage(msg.init(m_oscAddress.toASCIIString()).pushInt32(int32_t(stimulus))); // std::cout << "Add stimulus " << stimulus << "\n"; } diff --git a/contrib/plugins/processing/network-io/src/box-algorithms/ovpCBoxLSLExportGipsa.cpp b/contrib/plugins/processing/network-io/src/box-algorithms/ovpCBoxLSLExportGipsa.cpp index 51225c04ccf135710bbed709239d51443b4633cf..01b6ad250cf1f13555dd945dcf41ca101cc1766e 100755 --- a/contrib/plugins/processing/network-io/src/box-algorithms/ovpCBoxLSLExportGipsa.cpp +++ b/contrib/plugins/processing/network-io/src/box-algorithms/ovpCBoxLSLExportGipsa.cpp @@ -79,12 +79,12 @@ bool CBoxAlgorithmLSLExportGipsa::process() for (size_t i = 0; i < m_inputChannel1.getNStimulationBuffers(); ++i) { uint64_t tStart, tEnd; - IStimulationSet* set = m_inputChannel1.getStimulation(tStart, tEnd, i); + CStimulationSet* set = m_inputChannel1.getStimulation(tStart, tEnd, i); - for (size_t j = 0; j < set->getStimulationCount(); ++j) + for (size_t j = 0; j < set->size(); ++j) { - uint64_t time = m_inputChannel1.getStartTimestamp() + set->getStimulationDate(j); - const uint64_t identifier = set->getStimulationIdentifier(j); + uint64_t time = m_inputChannel1.getStartTimestamp() + set->getDate(j); + const uint64_t identifier = set->getId(j); if (m_stims.empty()) diff --git a/contrib/plugins/processing/network-io/src/ovpCInputChannel.cpp b/contrib/plugins/processing/network-io/src/ovpCInputChannel.cpp index 3d540b74599218671c97980c25755dfe7dbc7e8e..c3814aeb8c4007d6b5dbd17a8e4d50694069e07c 100644 --- a/contrib/plugins/processing/network-io/src/ovpCInputChannel.cpp +++ b/contrib/plugins/processing/network-io/src/ovpCInputChannel.cpp @@ -59,7 +59,7 @@ bool CInputChannel::waitForSignalHeader() return false; } -IStimulationSet* CInputChannel::getStimulation(uint64_t& startTime, uint64_t& endTime, const size_t index) +CStimulationSet* CInputChannel::getStimulation(uint64_t& startTime, uint64_t& endTime, const size_t index) { Kernel::IBoxIO& boxContext = m_boxAlgorithm->getDynamicBoxContext(); @@ -74,7 +74,7 @@ IStimulationSet* CInputChannel::getStimulation(uint64_t& startTime, uint64_t& en return m_stimulationSet; } -IStimulationSet* CInputChannel::discardStimulation(const size_t index) +CStimulationSet* CInputChannel::discardStimulation(const size_t index) { Kernel::IBoxIO& boxContext = m_boxAlgorithm->getDynamicBoxContext(); diff --git a/contrib/plugins/processing/network-io/src/ovpCInputChannel.h b/contrib/plugins/processing/network-io/src/ovpCInputChannel.h index d572f2739ab381daf6473b33b06c5a3a0e192186..af3ee3441841f9f98ac156acb1ac076c08b487df 100755 --- a/contrib/plugins/processing/network-io/src/ovpCInputChannel.h +++ b/contrib/plugins/processing/network-io/src/ovpCInputChannel.h @@ -36,8 +36,8 @@ public: bool waitForSignalHeader(); size_t getNStimulationBuffers() const { return m_boxAlgorithm->getDynamicBoxContext().getInputChunkCount(m_stimulationChannel); } size_t getNSignalBuffers() const { return m_boxAlgorithm->getDynamicBoxContext().getInputChunkCount(m_signalChannel); } - IStimulationSet* getStimulation(uint64_t& startTime, uint64_t& endTime, size_t index); - IStimulationSet* discardStimulation(size_t index); + CStimulationSet* getStimulation(uint64_t& startTime, uint64_t& endTime, size_t index); + CStimulationSet* discardStimulation(size_t index); double* getSignal(uint64_t& startTime, uint64_t& endTime, size_t index) const; double* discardSignal(size_t index) const; uint64_t getSamplingRate() const { return m_signalDecoder->getOutputSamplingRate(); } @@ -56,7 +56,7 @@ protected: uint64_t m_startTimestamp = 0; uint64_t m_endTimestamp = 0; - IStimulationSet* m_stimulationSet = nullptr; + CStimulationSet* m_stimulationSet = nullptr; // parent memory Toolkit::TBoxAlgorithm<IBoxAlgorithm>* m_boxAlgorithm = nullptr; diff --git a/contrib/plugins/processing/python2/CMakeLists.txt b/contrib/plugins/processing/python2/CMakeLists.txt index 9328680282156fed0690c39507145419b44f0186..df4ee2bd5274a1fc8a1012784a3a8b72c74ea8cb 100644 --- a/contrib/plugins/processing/python2/CMakeLists.txt +++ b/contrib/plugins/processing/python2/CMakeLists.txt @@ -8,6 +8,7 @@ target_link_libraries(${PROJECT_NAME} openvibe-common openvibe-toolkit openvibe-module-ebml + Boost::boost ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -19,7 +20,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) # ----------------------------- -include("FindThirdPartyBoost") include("FindThirdPartyPython2") # ----------------------------- # Install files diff --git a/contrib/plugins/processing/python2/box-tutorials/python2/python2-hello-world.xml b/contrib/plugins/processing/python2/box-tutorials/python2/python2-hello-world.xml index 4e2e5980cdc6c9bfa663f703024a2cc6f40672fb..fc16f9c538c52f3cf6b38f9f13657dff4947fbaf 100755 --- a/contrib/plugins/processing/python2/box-tutorials/python2/python2-hello-world.xml +++ b/contrib/plugins/processing/python2/box-tutorials/python2/python2-hello-world.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00003954, 0x000010bb)</Identifier> @@ -39,10 +42,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>304</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>176</Value> @@ -63,14 +62,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>101</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -113,7 +104,7 @@ the box configuration. <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":507,"identifier":"(0x00003962, 0x00000a21)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":798},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000781e, 0x00004e65)","index":0,"name":"Default tab","parentIdentifier":"(0x00003962, 0x00000a21)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006808, 0x00000e28)","index":0,"name":"Empty","parentIdentifier":"(0x0000781e, 0x00004e65)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":507,"identifier":"(0x00003962, 0x00000a21)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":798},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000781e, 0x00004e65)","index":0,"name":"Default tab","parentIdentifier":"(0x00003962, 0x00000a21)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00006808, 0x00000e28)","index":0,"name":"Empty","parentIdentifier":"(0x0000781e, 0x00004e65)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/contrib/plugins/processing/python2/box-tutorials/python2/python2-print-stimulations.xml b/contrib/plugins/processing/python2/box-tutorials/python2/python2-print-stimulations.xml index 8575538026e8318d9dbb9ba6a04fadba44bcc1d4..31214d6e66935805c4d6915c87c413d22a6558a2 100644 --- a/contrib/plugins/processing/python2/box-tutorials/python2/python2-print-stimulations.xml +++ b/contrib/plugins/processing/python2/box-tutorials/python2/python2-print-stimulations.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00004db4, 0x00006a35)</Identifier> @@ -36,15 +39,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -62,10 +61,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>114</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x05874423)</Value> @@ -103,7 +98,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -117,24 +112,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>114</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0062599e)</Value> @@ -165,24 +152,6 @@ <BoxIdentifier>(0x00004db4, 0x00006a35)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>66</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>107</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>400</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -196,11 +165,11 @@ print all the received stimulations.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>640.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96.000000</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> @@ -209,7 +178,7 @@ print all the received stimulations.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000051c6, 0x0000403f)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006099, 0x00001a73)","index":0,"name":"Default tab","parentIdentifier":"(0x000051c6, 0x0000403f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004197, 0x00001dca)","index":0,"name":"Empty","parentIdentifier":"(0x00006099, 0x00001a73)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000051c6, 0x0000403f)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00006099, 0x00001a73)","index":0,"name":"Default tab","parentIdentifier":"(0x000051c6, 0x0000403f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004197, 0x00001dca)","index":0,"name":"Empty","parentIdentifier":"(0x00006099, 0x00001a73)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/contrib/plugins/processing/python2/box-tutorials/python2/python2-pygame-multiprocessing.xml b/contrib/plugins/processing/python2/box-tutorials/python2/python2-pygame-multiprocessing.xml index 278dbdb190162f0831175770651563630d8517ea..1659bc13b1df9909c59967b9c11b14b576f7ffe5 100644 --- a/contrib/plugins/processing/python2/box-tutorials/python2/python2-pygame-multiprocessing.xml +++ b/contrib/plugins/processing/python2/box-tutorials/python2/python2-pygame-multiprocessing.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.2.99</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> diff --git a/contrib/plugins/processing/python2/box-tutorials/python2/python2-sinus-oscillator.xml b/contrib/plugins/processing/python2/box-tutorials/python2/python2-sinus-oscillator.xml index bd05f04d7d04fe8fb2dd1ce601003d60818f09d1..914dffe6826ab06b971865c2ebb908c5de8b9887 100644 --- a/contrib/plugins/processing/python2/box-tutorials/python2/python2-sinus-oscillator.xml +++ b/contrib/plugins/processing/python2/box-tutorials/python2/python2-sinus-oscillator.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>2.0.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -155,11 +155,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576.000000</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>272.000000</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -743,11 +743,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>144.000000</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1174,10 +1174,4 @@ in all of the python boxes in this scenario.</big></Text> <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":507,"identifier":"(0x00000a5d, 0x000009b3)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":788},{"boxIdentifier":"(0x00fdde89, 0x1b93e4d6)","childCount":0,"identifier":"(0x18420731, 0x0ec50e67)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x600f781b, 0x55dd55ad)","childCount":0,"identifier":"(0x32b90808, 0x5251ed21)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000127e, 0x00006228)","index":0,"name":"Default tab","parentIdentifier":"(0x00000a5d, 0x000009b3)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":86,"identifier":"(0x000062c5, 0x000061a6)","index":0,"maxDividerPosition":370,"name":"Vertical split","parentIdentifier":"(0x0000127e, 0x00006228)","type":4},{"boxIdentifier":"(0x000003b1, 0x0000610e)","childCount":0,"identifier":"(0x000012aa, 0x00005e34)","index":0,"parentIdentifier":"(0x000062c5, 0x000061a6)","type":3},{"boxIdentifier":"(0x00006467, 0x00001c99)","childCount":0,"identifier":"(0x00006c89, 0x00003a9d)","index":1,"parentIdentifier":"(0x000062c5, 0x000061a6)","type":3}]</Data> </Entry> </Metadata> - <Attributes> - <Attribute> - <Identifier>(0x4c536d0a, 0xb23dc545)</Identifier> - <Value>/home/ceriou/workspace/wip-ceriou-openvibe20-fix-build/openvibe/contrib/plugins/processing/python/box-tutorials/python/python-sinus-oscillator.xml</Value> - </Attribute> - </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/contrib/plugins/processing/python2/src/box-algorithms/ovpCBoxAlgorithmPython2.cpp b/contrib/plugins/processing/python2/src/box-algorithms/ovpCBoxAlgorithmPython2.cpp index f10a42ae3aa08bf2d1dcdd3eab2fb8a4c572387a..9c9b65fba323f2d704f6d3547336d1e444174657 100644 --- a/contrib/plugins/processing/python2/src/box-algorithms/ovpCBoxAlgorithmPython2.cpp +++ b/contrib/plugins/processing/python2/src/box-algorithms/ovpCBoxAlgorithmPython2.cpp @@ -1342,7 +1342,7 @@ bool CBoxAlgorithmPython2::transferStimulationInputChunksToPython(const size_t i if (m_decoders[index]->isBufferReceived()) { - IStimulationSet* stimSet = (dynamic_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmPython2>*>(m_decoders[index]))->getOutputStimulationSet(); + CStimulationSet* stimSet = (dynamic_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmPython2>*>(m_decoders[index]))->getOutputStimulationSet(); //New reference PyObject* pyArg = PyTuple_New(2); @@ -1373,11 +1373,11 @@ bool CBoxAlgorithmPython2::transferStimulationInputChunksToPython(const size_t i } Py_CLEAR(pyArg); - for (size_t i = 0; i < stimSet->getStimulationCount(); ++i) + for (size_t i = 0; i < stimSet->size(); ++i) { - const uint64_t id = stimSet->getStimulationIdentifier(i); - const uint64_t date = stimSet->getStimulationDate(i); - const uint64_t duration = stimSet->getStimulationDuration(i); + const uint64_t id = stimSet->getId(i); + const uint64_t date = stimSet->getDate(i); + const uint64_t duration = stimSet->getDuration(i); //New reference pyArg = PyTuple_New(3); @@ -1479,7 +1479,7 @@ bool CBoxAlgorithmPython2::transferStimulationInputChunksToPython(const size_t i bool CBoxAlgorithmPython2::transferStimulationOutputChunksFromPython(const size_t index) { Kernel::IBoxIO& boxCtx = this->getDynamicBoxContext(); - IStimulationSet* stimSet = (dynamic_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmPython2>*>(m_encoders[index]))->getInputStimulationSet(); + CStimulationSet* stimSet = (dynamic_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmPython2>*>(m_encoders[index]))->getInputStimulationSet(); if (!PyList_Check(m_boxOutput)) { @@ -1516,7 +1516,7 @@ bool CBoxAlgorithmPython2::transferStimulationOutputChunksFromPython(const size_ uint64_t startTime, endTime; getTimesFromPyObject(pyChunk, startTime, endTime); - stimSet->setStimulationCount(0); + stimSet->resize(0); m_encoders[index]->encodeHeader(); boxCtx.markOutputAsReadyToSend(index, startTime, endTime); } @@ -1530,7 +1530,7 @@ bool CBoxAlgorithmPython2::transferStimulationOutputChunksFromPython(const size_ return false; } - stimSet->setStimulationCount(0); + stimSet->resize(0); for (size_t i = 0; i < chunkLen; ++i) { //Borrowed reference @@ -1554,7 +1554,7 @@ bool CBoxAlgorithmPython2::transferStimulationOutputChunksFromPython(const size_ getTimeFromPyObject(pyStim, "date", date); getTimeFromPyObject(pyStim, "duration", duration); - stimSet->appendStimulation(id, date, duration); + stimSet->push_back(id, date, duration); } uint64_t startTime, endTime; diff --git a/contrib/plugins/processing/python3/CMakeLists.txt b/contrib/plugins/processing/python3/CMakeLists.txt index 3b0b36272c38b0cbc01006997d6541e417a3d2a7..6f447326f53d17391ca1a52b0ccdb436504c8bb4 100644 --- a/contrib/plugins/processing/python3/CMakeLists.txt +++ b/contrib/plugins/processing/python3/CMakeLists.txt @@ -8,6 +8,7 @@ target_link_libraries(${PROJECT_NAME} openvibe-common openvibe-toolkit openvibe-module-ebml + Boost::boost ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -19,7 +20,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) # --------------------------------- -include("FindThirdPartyBoost") include("FindThirdPartyPython3") # ----------------------------- diff --git a/contrib/plugins/processing/python3/box-tutorials/python3/python3-hello-world.xml b/contrib/plugins/processing/python3/box-tutorials/python3/python3-hello-world.xml index b9365e5817a72cc12946fec305a13de0d2074d93..12eac058316a92681c17f5eeb69edb9042da51f0 100644 --- a/contrib/plugins/processing/python3/box-tutorials/python3/python3-hello-world.xml +++ b/contrib/plugins/processing/python3/box-tutorials/python3/python3-hello-world.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> diff --git a/contrib/plugins/processing/python3/box-tutorials/python3/python3-print-stimulations.xml b/contrib/plugins/processing/python3/box-tutorials/python3/python3-print-stimulations.xml index 760a97adcd2b75554ec4ed2a6e30db94a69b5ceb..ffaf406a911c50ceec234f6f878cba3bbfb07e12 100644 --- a/contrib/plugins/processing/python3/box-tutorials/python3/python3-print-stimulations.xml +++ b/contrib/plugins/processing/python3/box-tutorials/python3/python3-print-stimulations.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -21,7 +21,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -158,11 +158,11 @@ print all the received stimulations.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>640.000000</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96.000000</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> diff --git a/contrib/plugins/processing/python3/box-tutorials/python3/python3-sinus-oscillator.xml b/contrib/plugins/processing/python3/box-tutorials/python3/python3-sinus-oscillator.xml index bb5cd5a884fe29b5445f74dfd1cc99b679decb6c..50d2e2e2fd40c5445c6205d0f6f6f6585d219bd7 100644 --- a/contrib/plugins/processing/python3/box-tutorials/python3/python3-sinus-oscillator.xml +++ b/contrib/plugins/processing/python3/box-tutorials/python3/python3-sinus-oscillator.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>2.0.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -155,11 +155,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576.000000</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>272.000000</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -743,11 +743,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>144.000000</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1174,10 +1174,4 @@ in all of the python boxes in this scenario.</big></Text> <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":507,"identifier":"(0x00000a5d, 0x000009b3)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":788},{"boxIdentifier":"(0x00fdde89, 0x1b93e4d6)","childCount":0,"identifier":"(0x18420731, 0x0ec50e67)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x600f781b, 0x55dd55ad)","childCount":0,"identifier":"(0x32b90808, 0x5251ed21)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000127e, 0x00006228)","index":0,"name":"Default tab","parentIdentifier":"(0x00000a5d, 0x000009b3)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":86,"identifier":"(0x000062c5, 0x000061a6)","index":0,"maxDividerPosition":370,"name":"Vertical split","parentIdentifier":"(0x0000127e, 0x00006228)","type":4},{"boxIdentifier":"(0x000003b1, 0x0000610e)","childCount":0,"identifier":"(0x000012aa, 0x00005e34)","index":0,"parentIdentifier":"(0x000062c5, 0x000061a6)","type":3},{"boxIdentifier":"(0x00006467, 0x00001c99)","childCount":0,"identifier":"(0x00006c89, 0x00003a9d)","index":1,"parentIdentifier":"(0x000062c5, 0x000061a6)","type":3}]</Data> </Entry> </Metadata> - <Attributes> - <Attribute> - <Identifier>(0x4c536d0a, 0xb23dc545)</Identifier> - <Value>/home/ceriou/workspace/wip-ceriou-openvibe20-fix-build/openvibe/contrib/plugins/processing/python/box-tutorials/python/python-sinus-oscillator.xml</Value> - </Attribute> - </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/contrib/plugins/processing/python3/src/box-algorithms/ovpCBoxAlgorithmPython3.cpp b/contrib/plugins/processing/python3/src/box-algorithms/ovpCBoxAlgorithmPython3.cpp index 355b335f59ac000f30fc2151fbaba291f12a2498..5d58e4851792c2e8abe394a15a4ccaad284a19fb 100644 --- a/contrib/plugins/processing/python3/src/box-algorithms/ovpCBoxAlgorithmPython3.cpp +++ b/contrib/plugins/processing/python3/src/box-algorithms/ovpCBoxAlgorithmPython3.cpp @@ -1297,7 +1297,7 @@ bool CBoxAlgorithmPython3::transferStimulationInputChunksToPython(const size_t i if (m_decoders[index]->isBufferReceived()) { - IStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmPython3>*>(m_decoders[index])->getOutputStimulationSet(); + CStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmPython3>*>(m_decoders[index])->getOutputStimulationSet(); PyObject* pyArg = PyTuple_New(2); if (pyArg == nullptr) @@ -1327,11 +1327,11 @@ bool CBoxAlgorithmPython3::transferStimulationInputChunksToPython(const size_t i } Py_CLEAR(pyArg); - for (size_t i = 0; i < stimSet->getStimulationCount(); ++i) + for (size_t i = 0; i < stimSet->size(); ++i) { - const uint64_t id = stimSet->getStimulationIdentifier(i); - const uint64_t date = stimSet->getStimulationDate(i); - const uint64_t duration = stimSet->getStimulationDuration(i); + const uint64_t id = stimSet->getId(i); + const uint64_t date = stimSet->getDate(i); + const uint64_t duration = stimSet->getDuration(i); pyArg = PyTuple_New(3); if (pyArg == nullptr) @@ -1430,7 +1430,7 @@ bool CBoxAlgorithmPython3::transferStimulationInputChunksToPython(const size_t i bool CBoxAlgorithmPython3::transferStimulationOutputChunksFromPython(const size_t index) { Kernel::IBoxIO& boxCtx = this->getDynamicBoxContext(); - IStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmPython3>*>(m_encoders[index])->getInputStimulationSet(); + CStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmPython3>*>(m_encoders[index])->getInputStimulationSet(); if (!PyList_Check(m_boxOutput)) { @@ -1466,7 +1466,7 @@ bool CBoxAlgorithmPython3::transferStimulationOutputChunksFromPython(const size_ uint64_t startTime, endTime; getTimesFromPyObject(pyChunk, startTime, endTime); - stimSet->setStimulationCount(0); + stimSet->resize(0); m_encoders[index]->encodeHeader(); boxCtx.markOutputAsReadyToSend(index, startTime, endTime); } @@ -1480,7 +1480,7 @@ bool CBoxAlgorithmPython3::transferStimulationOutputChunksFromPython(const size_ return false; } - stimSet->setStimulationCount(0); + stimSet->resize(0); for (size_t i = 0; i < chunkLen; ++i) { PyObject* pyStim = PyList_GetItem(pyChunk, Py_ssize_t(i)); @@ -1503,7 +1503,7 @@ bool CBoxAlgorithmPython3::transferStimulationOutputChunksFromPython(const size_ getTimeFromPyObject(pyStim, "date", date); getTimeFromPyObject(pyStim, "duration", duration); - stimSet->appendStimulation(id, date, duration); + stimSet->push_back(id, date, duration); } uint64_t startTime, endTime; diff --git a/contrib/plugins/processing/signal-processing/box-tutorials/fft-decomposition.xml b/contrib/plugins/processing/signal-processing/box-tutorials/fft-decomposition.xml index 09451db90a985db02eb9966e6b8a50264b6005e6..f192bc8385e3cc514aa11d32ceb0967d2979b03a 100644 --- a/contrib/plugins/processing/signal-processing/box-tutorials/fft-decomposition.xml +++ b/contrib/plugins/processing/signal-processing/box-tutorials/fft-decomposition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -92,11 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800.000000</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -192,7 +192,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>560</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -248,11 +248,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -299,11 +299,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784.000000</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -480,11 +480,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -598,11 +598,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576.000000</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -715,11 +715,11 @@ equal the original one <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1104.000000</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>498.000000</Value> + <Value>498</Value> </Attribute> </Attributes> </Comment> @@ -729,11 +729,11 @@ equal the original one <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1104.000000</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>256.000000</Value> + <Value>256</Value> </Attribute> </Attributes> </Comment> @@ -745,11 +745,11 @@ one stream for real and one for imaginary part</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1104.000000</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>377.000000</Value> + <Value>377</Value> </Attribute> </Attributes> </Comment> @@ -787,4 +787,4 @@ one stream for real and one for imaginary part</Text> <Value></Value> </Attribute> </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/contrib/plugins/processing/signal-processing/box-tutorials/ica-decomposition.xml b/contrib/plugins/processing/signal-processing/box-tutorials/ica-decomposition.xml index 910dea026573b977384c2b47e35e0add65c26c4b..60e160af59f241f8bde9fe4e03907d5bdf827286 100644 --- a/contrib/plugins/processing/signal-processing/box-tutorials/ica-decomposition.xml +++ b/contrib/plugins/processing/signal-processing/box-tutorials/ica-decomposition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -240,11 +240,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>353</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -349,7 +349,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Internal Mu parameter for FastICA</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -381,7 +381,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1114,11 +1114,11 @@ The other two displays are configured to fixed scale.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>768.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> </Attributes> </Comment> @@ -1134,11 +1134,11 @@ scenario with the spatial filter box.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>816.000000</Value> + <Value>816</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>304.000000</Value> + <Value>304</Value> </Attribute> </Attributes> </Comment> @@ -1160,11 +1160,11 @@ on the incoming signal.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>784.000000</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>112.000000</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> diff --git a/contrib/plugins/processing/signal-processing/box-tutorials/pca-decomposition.xml b/contrib/plugins/processing/signal-processing/box-tutorials/pca-decomposition.xml index b4c8b1f981c19d2e7893e78edf6b8171f262540b..4ee3555a889851e533d440c4cc9eb4b3ad6a8158 100644 --- a/contrib/plugins/processing/signal-processing/box-tutorials/pca-decomposition.xml +++ b/contrib/plugins/processing/signal-processing/box-tutorials/pca-decomposition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -691,7 +691,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Internal Mu parameter for FastICA</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -896,11 +896,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>112</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1018,7 +1018,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1196,11 +1196,11 @@ original channels exactly, although there is some resemblance <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>704.000000</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>95.000000</Value> + <Value>95</Value> </Attribute> </Attributes> </Comment> diff --git a/contrib/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_IndependentComponentAnalysisFastICA.dox-part b/contrib/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_IndependentComponentAnalysisFastICA.dox-part index 1b460ea70ffb96b59d9264add22a88883092e77a..bc8ea9e447af92b5d7ded9c509ccb12e92c8ec9f 100644 --- a/contrib/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_IndependentComponentAnalysisFastICA.dox-part +++ b/contrib/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_IndependentComponentAnalysisFastICA.dox-part @@ -88,9 +88,6 @@ __________________________________________________________________ * |OVP_DocBegin_BoxAlgorithm_IndependentComponentAnalysisFastICA_Setting12| * Should the matrix W be saved to a file? * |OVP_DocEnd_BoxAlgorithm_IndependentComponentAnalysisFastICA_Setting12| - * - * |OVP_DocEnd_BoxAlgorithm_IndependentComponentAnalysisFastICA_Settings| - __________________________________________________________________ @@ -121,7 +118,7 @@ __________________________________________________________________ * * The FastICA algorithm is described in * - * A. Hyv�rinen. "Fast and Robust Fixed-Point Algorithms for Independent Component Analysis", IEEE Transactions on Neural Networks 10(3):626-634, 1999. + * A. Hyvarinen. "Fast and Robust Fixed-Point Algorithms for Independent Component Analysis", IEEE Transactions on Neural Networks 10(3):626-634, 1999. * * The implementation used by the box is from the ITPP toolkit. * diff --git a/contrib/plugins/processing/signal-processing/metaboxes/CSP-Trainer-Metabox.xml b/contrib/plugins/processing/signal-processing/metaboxes/CSP-Trainer-Metabox.xml index 79ab97a6c1ff6015a4002b9e542efd6f50cef7f2..26ac874579766056f92f2079fc5a11ddddffba16 100644 --- a/contrib/plugins/processing/signal-processing/metaboxes/CSP-Trainer-Metabox.xml +++ b/contrib/plugins/processing/signal-processing/metaboxes/CSP-Trainer-Metabox.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x53e968eb, 0x121c769a)</Identifier> @@ -72,7 +72,7 @@ <Identifier>(0xe02590b0, 0x52f82985)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input Signal</Name> - <LinkedBoxIdentifier>(0x000016d5, 0x000033f5)</LinkedBoxIdentifier> + <LinkedBoxIdentifier>(0x000046bc, 0x00003f08)</LinkedBoxIdentifier> <LinkedBoxInputIndex>0</LinkedBoxInputIndex> </Input> <Input> @@ -94,221 +94,177 @@ </Outputs> <Boxes> <Box> - <Identifier>(0x000016d5, 0x000033f5)</Identifier> - <Name>Temporal Filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x00001c84, 0x0000598b)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>$var{Low Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>$var{High Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1104</Value> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002e3671)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00001aa0, 0x00005f82)</Identifier> - <Name>Class 1</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x00001c84, 0x0000598c)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>$var{Epoch Duration}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>$var{Epoch Offset}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>$var{Class 1}</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00001aa0, 0x00005f83)</Identifier> - <Name>Class 2</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>$var{Epoch Duration}</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>$var{Epoch Offset}</Value> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Low Cut Frequency}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>$var{Class 2}</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>$var{High Cut Frequency}</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1184</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -316,108 +272,161 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00001c84, 0x0000598b)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00005515, 0x00006ba1)</Identifier> + <Name>CSP Spatial Filter Trainer</Name> + <AlgorithmClassIdentifier>(0x51db0d64, 0x2109714e)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream</Name> + <Name>Stimulations</Name> + </Input> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Signal condition 1</Name> + </Input> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Signal condition 2</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream</Name> + <Name>Train-completed Flag</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Train Trigger</Name> + <DefaultValue>OVTK_GDF_End_Of_Session</DefaultValue> + <Value>OVTK_StimulationId_Train</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Spatial filter configuration</Name> + <DefaultValue></DefaultValue> + <Value>$var{Spatial Filter Configuration}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter dimension</Name> + <DefaultValue>2</DefaultValue> + <Value>$var{Filter Dimension}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Save as box config</Name> + <DefaultValue>true</DefaultValue> + <Value>true</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> + <Value>1104</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x4b49a133, 0x42f38d94)</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x002a4d2d)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>3</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00001c84, 0x0000598c)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4564e270, 0x02819b00)</Identifier> + <Name>Class 1</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream</Name> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Epoch Duration}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>$var{Epoch Offset}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation 1</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>$var{Class 1}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1024</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> <Attribute> @@ -425,89 +434,74 @@ <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00005515, 0x00006ba1)</Identifier> - <Name>CSP Spatial Filter Trainer</Name> - <AlgorithmClassIdentifier>(0x51db0d64, 0x2109714e)</AlgorithmClassIdentifier> + <Identifier>(0x4564e270, 0x02819b01)</Identifier> + <Name>Class 2</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Signal condition 1</Name> + <Name>Input signal</Name> </Input> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Signal condition 2</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Train-completed Flag</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Train Trigger</Name> - <DefaultValue>OVTK_GDF_End_Of_Session</DefaultValue> - <Value>OVTK_StimulationId_Train</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Spatial filter configuration</Name> - <DefaultValue></DefaultValue> - <Value>$var{Spatial Filter Configuration}</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Epoch Duration}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter dimension</Name> - <DefaultValue>2</DefaultValue> - <Value>$var{Filter Dimension}</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>$var{Epoch Offset}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Save as box config</Name> - <DefaultValue>true</DefaultValue> - <Value>true</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation 1</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>$var{Class 2}</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1104</Value> + <Value>1200</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x4b49a133, 0x42f38d94)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002a4d2d)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Identifier>(0x61d11811, 0x71e65362)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -515,102 +509,102 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>4</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>3</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000c54, 0x000048d9)</Identifier> + <Identifier>(0x00000cdf, 0x000029b9)</Identifier> <Source> - <BoxIdentifier>(0x00001aa0, 0x00005f82)</BoxIdentifier> + <BoxIdentifier>(0x00001c84, 0x0000598c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00005515, 0x00006ba1)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00000cdf, 0x000029b9)</Identifier> + <Identifier>(0x00002d57, 0x00004b2f)</Identifier> <Source> - <BoxIdentifier>(0x00001c84, 0x0000598c)</BoxIdentifier> + <BoxIdentifier>(0x00001c84, 0x0000598b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005515, 0x00006ba1)</BoxIdentifier> + <BoxIdentifier>(0x00001c84, 0x0000598c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000104a, 0x00004869)</Identifier> + <Identifier>(0x18a7a951, 0x63534e7e)</Identifier> <Source> - <BoxIdentifier>(0x00001c84, 0x0000598b)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001aa0, 0x00005f82)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4564e270, 0x02819b01)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00001135, 0x00003548)</Identifier> + <Identifier>(0x3c0fd2fc, 0x33b4bd56)</Identifier> <Source> - <BoxIdentifier>(0x000016d5, 0x000033f5)</BoxIdentifier> + <BoxIdentifier>(0x00001c84, 0x0000598b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001aa0, 0x00005f83)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x4564e270, 0x02819b00)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000015b8, 0x00000ac7)</Identifier> + <Identifier>(0x402ec020, 0x7e8135d9)</Identifier> <Source> <BoxIdentifier>(0x00001c84, 0x0000598b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001aa0, 0x00005f83)</BoxIdentifier> + <BoxIdentifier>(0x4564e270, 0x02819b01)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002287, 0x000005db)</Identifier> + <Identifier>(0x4b3fc011, 0x2b826a67)</Identifier> <Source> - <BoxIdentifier>(0x000016d5, 0x000033f5)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001aa0, 0x00005f82)</BoxIdentifier> + <BoxIdentifier>(0x4564e270, 0x02819b00)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002d57, 0x00004b2f)</Identifier> + <Identifier>(0x5cf0a16b, 0x20d29244)</Identifier> <Source> - <BoxIdentifier>(0x00001c84, 0x0000598b)</BoxIdentifier> + <BoxIdentifier>(0x4564e270, 0x02819b01)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001c84, 0x0000598c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00005515, 0x00006ba1)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007d7b, 0x000049f7)</Identifier> + <Identifier>(0x6a2d47d0, 0x33d1adbc)</Identifier> <Source> - <BoxIdentifier>(0x00001aa0, 0x00005f83)</BoxIdentifier> + <BoxIdentifier>(0x4564e270, 0x02819b00)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00005515, 0x00006ba1)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> </Links> diff --git a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmCSPSpatialFilterTrainer.cpp b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmCSPSpatialFilterTrainer.cpp index 11273692160c40d6411f284f4244a7f6a880447f..25f9e0881e4a5464496acaefe821ef0dd24b449d 100644 --- a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmCSPSpatialFilterTrainer.cpp +++ b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmCSPSpatialFilterTrainer.cpp @@ -116,11 +116,11 @@ bool CBoxAlgorithmCSPSpatialFilterTrainer::process() } if (m_stimDecoder->isBufferReceived()) { - Kernel::TParameterHandler<IStimulationSet*> op_stimSet(m_stimDecoder->getOutputStimulationSet()); - for (size_t j = 0; j < op_stimSet->getStimulationCount(); ++j) { shouldTrain |= (op_stimSet->getStimulationIdentifier(j) == m_stimID); } + Kernel::TParameterHandler<CStimulationSet*> op_stimSet(m_stimDecoder->getOutputStimulationSet()); + for (size_t j = 0; j < op_stimSet->size(); ++j) { shouldTrain |= (op_stimSet->getId(j) == m_stimID); } if (shouldTrain) { - date = op_stimSet->getStimulationDate(op_stimSet->getStimulationCount() - 1); + date = op_stimSet->getDate(op_stimSet->size() - 1); startTime = boxContext.getInputChunkStartTime(0, i); endTime = boxContext.getInputChunkEndTime(0, i); } @@ -292,7 +292,7 @@ bool CBoxAlgorithmCSPSpatialFilterTrainer::process() this->getLogManager() << Kernel::LogLevel_Info << "CSP Spatial filter trained successfully.\n"; m_encoder.getInputStimulationSet()->clear(); - m_encoder.getInputStimulationSet()->appendStimulation(OVTK_StimulationId_TrainCompleted, date, 0); + m_encoder.getInputStimulationSet()->push_back(OVTK_StimulationId_TrainCompleted, date, 0); m_encoder.encodeBuffer(); boxContext.markOutputAsReadyToSend(0, startTime, endTime); diff --git a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmSynchro.cpp b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmSynchro.cpp index ad980696223c75fa925927fc6644a8840d556338..b9d304d7b490ef291f166e75195384692e3c9be3 100644 --- a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmSynchro.cpp +++ b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmSynchro.cpp @@ -36,7 +36,7 @@ bool CBoxAlgorithmSynchro::process() for (size_t index = 0, nb = m_inputChannel.getNStimulationBuffers(); index < nb; ++index) { uint64_t startTime, endTime; - IStimulationSet* stimset = m_inputChannel.getStimulation(startTime, endTime, index); + CStimulationSet* stimset = m_inputChannel.getStimulation(startTime, endTime, index); if (!stimset) { break; } diff --git a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.cpp b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.cpp index bf55707e761e548da3cc4b9d3187b9d2ec8b7f98..4fe7719896757355b9e5702963690e9637ac41d1 100644 --- a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.cpp +++ b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.cpp @@ -145,12 +145,12 @@ void CInputChannel::waitForSynchroStimulation() m_timeStimulationStart = boxContext.getInputChunkStartTime(STIMULATION_CHANNEL, i); m_timeStimulationEnd = boxContext.getInputChunkEndTime(STIMULATION_CHANNEL, i); - for (size_t j = 0; j < m_stimulationSet->getStimulationCount(); ++j) + for (size_t j = 0; j < m_stimulationSet->size(); ++j) { - if (m_stimulationSet->getStimulationIdentifier(j) == m_synchroStimulation) + if (m_stimulationSet->getId(j) == m_synchroStimulation) { m_status |= STIMULATION_SYNCHRO_DETECTED; - m_timeStimulationPos = m_stimulationSet->getStimulationDate(j); + m_timeStimulationPos = m_stimulationSet->getDate(j); m_boxAlgorithm->getLogManager() << Kernel::LogLevel_Info << "Get Synchronisation Stimulation at channel " << STIMULATION_CHANNEL << "\n"; return; @@ -202,7 +202,7 @@ void CInputChannel::processSynchroSignal() m_boxAlgorithm->getLogManager() << Kernel::LogLevel_Info << "Cutting parameter for both part : " << m_firstBlock << "+" << m_secondBlock << "\n"; } -IStimulationSet* CInputChannel::getStimulation(uint64_t& startTimestamp, uint64_t& endTimestamp, const size_t stimulationIndex) +CStimulationSet* CInputChannel::getStimulation(uint64_t& startTimestamp, uint64_t& endTimestamp, const size_t stimulationIndex) { Kernel::IBoxIO& boxContext = m_boxAlgorithm->getDynamicBoxContext(); diff --git a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.h b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.h index 982c3ae0e437f8a241d26be499190b34312f2058..193a38d5d916acb2d216393cb4278fde59ca8a5a 100644 --- a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.h +++ b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCInputChannel.h @@ -42,7 +42,7 @@ public: uint64_t getSignalPosition() const { return m_timeSignalPos; } size_t getNStimulationBuffers() const { return m_boxAlgorithm->getDynamicBoxContext().getInputChunkCount(STIMULATION_CHANNEL); } size_t getNSignalBuffers() const { return m_boxAlgorithm->getDynamicBoxContext().getInputChunkCount(SIGNAL_CHANNEL); } - IStimulationSet* getStimulation(uint64_t& startTimestamp, uint64_t& endTimestamp, size_t stimulationIndex); + CStimulationSet* getStimulation(uint64_t& startTimestamp, uint64_t& endTimestamp, size_t stimulationIndex); CMatrix* getSignal(uint64_t& startTimestamp, uint64_t& endTimestamp, size_t signalIndex); CMatrix* getMatrixPtr() { return m_oMatrix[m_ptrMatrixIdx & 1]; } uint64_t getSamplingRate() const { return op_sampling; } @@ -78,7 +78,7 @@ protected: size_t m_nChannels = 0; bool m_hasFirstChunk = false; - IStimulationSet* m_stimulationSet = nullptr; + CStimulationSet* m_stimulationSet = nullptr; // parent memory Toolkit::TBoxAlgorithm<IBoxAlgorithm>* m_boxAlgorithm = nullptr; @@ -95,7 +95,7 @@ protected: Kernel::IAlgorithmProxy* m_stimDecoder = nullptr; Kernel::TParameterHandler<const IMemoryBuffer*> ip_bufferStimulation; - Kernel::TParameterHandler<IStimulationSet*> op_stimulationSet; + Kernel::TParameterHandler<CStimulationSet*> op_stimulationSet; }; } // namespace SignalProcessing } // namespace Plugins diff --git a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.cpp b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.cpp index 18b1d47c9ba149ff7b4dc093a5876a8a8cdc1dde..f9978afba52f7091f2155f120fe8995bbfe27a52 100644 --- a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.cpp +++ b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.cpp @@ -43,18 +43,18 @@ bool COutputChannel::uninitialize() return true; } -void COutputChannel::sendStimulation(IStimulationSet* stimset, const uint64_t startTime, const uint64_t endTime) +void COutputChannel::sendStimulation(CStimulationSet* stimset, const uint64_t startTime, const uint64_t endTime) { Kernel::IBoxIO& boxContext = m_boxAlgorithm->getDynamicBoxContext(); - for (size_t j = 0; j < stimset->getStimulationCount(); ++j) + for (size_t j = 0; j < stimset->size(); ++j) { - if (stimset->getStimulationDate(j) < m_timeStimulationPos) + if (stimset->getDate(j) < m_timeStimulationPos) { - stimset->removeStimulation(j); + stimset->erase(j); j--; } - else { stimset->setStimulationDate(j, stimset->getStimulationDate(j) - m_timeStimulationPos); } + else { stimset->setDate(j, stimset->getDate(j) - m_timeStimulationPos); } } ip_stimulationSet = stimset; diff --git a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.h b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.h index f22ba008f78138d4cf6dc38991ec1eccd887157c..a3cb9c13132f5a596588de577d880c514cb4c546 100644 --- a/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.h +++ b/contrib/plugins/processing/signal-processing/src/box-algorithms/ovpCOutputChannel.h @@ -19,7 +19,7 @@ public: bool initialize(Toolkit::TBoxAlgorithm<IBoxAlgorithm>* boxAlgorithm); bool uninitialize(); - void sendStimulation(IStimulationSet* stimset, uint64_t startTime, uint64_t endTime); + void sendStimulation(CStimulationSet* stimset, uint64_t startTime, uint64_t endTime); void sendSignal(CMatrix* matrix, uint64_t startTime, uint64_t endTime); void sendHeader(const size_t sampling, CMatrix* matrix); @@ -47,7 +47,7 @@ protected: Kernel::IAlgorithmProxy* m_stimEncoder = nullptr; Kernel::TParameterHandler<IMemoryBuffer*> op_bufferStimulation; - Kernel::TParameterHandler<IStimulationSet*> ip_stimulationSet; + Kernel::TParameterHandler<CStimulationSet*> ip_stimulationSet; }; } // namespace SignalProcessing } // namespace Plugins diff --git a/contrib/plugins/processing/signal-processing/src/ovp_main.cpp b/contrib/plugins/processing/signal-processing/src/ovp_main.cpp index 09d8acb50bb484b0e39b43bb471d0bbfa2253357..870d16e3820255bc7c2c2f8204a829f9d69fc769 100755 --- a/contrib/plugins/processing/signal-processing/src/ovp_main.cpp +++ b/contrib/plugins/processing/signal-processing/src/ovp_main.cpp @@ -53,10 +53,10 @@ OVP_Declare_Begin() context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterMethod, "Chebyshev", size_t(EFilterMethod::Chebyshev)); context.getTypeManager().registerEnumerationType(OVP_TypeId_FilterType, "Filter type"); - context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterType, "Low Pass", size_t(EFilterType::LowPass)); context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterType, "Band Pass", size_t(EFilterType::BandPass)); - context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterType, "High Pass", size_t(EFilterType::HighPass)); context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterType, "Band Stop", size_t(EFilterType::BandStop)); + context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterType, "High Pass", size_t(EFilterType::HighPass)); + context.getTypeManager().registerEnumerationEntry(OVP_TypeId_FilterType, "Low Pass", size_t(EFilterType::LowPass)); context.getTypeManager().registerEnumerationType(OVP_TypeId_WindowMethod, "Window method"); context.getTypeManager().registerEnumerationEntry(OVP_TypeId_WindowMethod, "Hamming", size_t(EWindowMethod::Hamming)); diff --git a/contrib/plugins/server-drivers/brainproducts-brainvisionrecorder/src/ovasCDriverBrainProductsBrainVisionRecorder.cpp b/contrib/plugins/server-drivers/brainproducts-brainvisionrecorder/src/ovasCDriverBrainProductsBrainVisionRecorder.cpp index eecdeb3bbc7f459270468d6076db7ff13fe21a5e..2139a4a647ada608a2cdd96dd9aff97c3e26976d 100644 --- a/contrib/plugins/server-drivers/brainproducts-brainvisionrecorder/src/ovasCDriverBrainProductsBrainVisionRecorder.cpp +++ b/contrib/plugins/server-drivers/brainproducts-brainvisionrecorder/src/ovasCDriverBrainProductsBrainVisionRecorder.cpp @@ -266,12 +266,12 @@ bool CDriverBrainProductsBrainVisionRecorder::loop() // send data CStimulationSet stimSet; - stimSet.setStimulationCount(m_nMarkers); + stimSet.resize(m_nMarkers); for (uint32_t i = 0; i < m_nMarkers; ++i) { - stimSet.setStimulationIdentifier(i, OVTK_StimulationId_Label(m_stimulationIDs[i])); - stimSet.setStimulationDate(i, m_stimulationDates[i]); - stimSet.setStimulationDuration(i, 0); + stimSet.setId(i, OVTK_StimulationId_Label(m_stimulationIDs[i])); + stimSet.setDate(i, m_stimulationDates[i]); + stimSet.setDuration(i, 0); } m_callback->setSamples(&m_signalBuffers[0], uint32_t(m_msgData->nPoints)); diff --git a/contrib/plugins/server-drivers/cognionics/src/ovasCDriverCognionics.cpp b/contrib/plugins/server-drivers/cognionics/src/ovasCDriverCognionics.cpp index 85c6e72c7dd12df5cfba9b06cd985e26ad7c8ae9..acb639d7d2f1db875615e46697ce1d6740b7324d 100755 --- a/contrib/plugins/server-drivers/cognionics/src/ovasCDriverCognionics.cpp +++ b/contrib/plugins/server-drivers/cognionics/src/ovasCDriverCognionics.cpp @@ -307,7 +307,7 @@ void getData() { //time offset from start of chunk (c - current sample in the chunk) const uint64_t date = c * (1LL << 32) / SAMPLE_RATE; - cogStimulationSet.appendStimulation(OVTK_StimulationId_Label(newTrigger&0x000000ff), date, 0); + cogStimulationSet.push_back(OVTK_StimulationId_Label(newTrigger&0x000000ff), date, 0); } prev_trigger = newTrigger; diff --git a/contrib/plugins/server-drivers/eemagine-eego/src/ovasCDriverEEGO.cpp b/contrib/plugins/server-drivers/eemagine-eego/src/ovasCDriverEEGO.cpp index 3a548eef003503470ec7c1c31e754c5e5a6dde77..bf54e86a5c22dafdd3a8c1ad21cae0b28ef5e2cd 100644 --- a/contrib/plugins/server-drivers/eemagine-eego/src/ovasCDriverEEGO.cpp +++ b/contrib/plugins/server-drivers/eemagine-eego/src/ovasCDriverEEGO.cpp @@ -351,7 +351,7 @@ bool CDriverEEGO::loop_wrapped() if (currentNewTriggers != 0) { const uint64_t currentTime = CTime(m_header.getSamplingFrequency(), m_samplesInBuffer).time(); - m_stimSet.appendStimulation(OVTK_StimulationId_Label(currentNewTriggers), currentTime, 0); + m_stimSet.push_back(OVTK_StimulationId_Label(currentNewTriggers), currentTime, 0); } } diff --git a/contrib/plugins/server-drivers/field-trip-protocol/src/ovasCDriverFieldtrip.cpp b/contrib/plugins/server-drivers/field-trip-protocol/src/ovasCDriverFieldtrip.cpp index 443bdfc2727af9cd3433a8ce3eecd0078b205b24..d8760f4b74c33c0fbdedf6a85b680a949b547e61 100644 --- a/contrib/plugins/server-drivers/field-trip-protocol/src/ovasCDriverFieldtrip.cpp +++ b/contrib/plugins/server-drivers/field-trip-protocol/src/ovasCDriverFieldtrip.cpp @@ -153,7 +153,7 @@ bool CDriverFieldtrip::loop() if (!m_driverCtx.isStarted()) { return true; } CStimulationSet stimSet; - stimSet.setStimulationCount(0); + stimSet.resize(0); // ... // receive samples from hardware @@ -451,7 +451,7 @@ int CDriverFieldtrip::requestChunk(CStimulationSet& oStimulationSet) nDataToSend -= diffSamples; m_driverCtx.getLogManager() << Kernel::LogLevel_Trace << "Correction for non-integer sampling rate : " << diffSamples << " samples deleted\n"; m_driftSinceLastCorrection -= double(diffSamples); - //oStimulationSet.appendStimulation(OVTK_GDF_Missing, CTime(m_header.getSamplingFrequency(), nDataToSend).time(), CTime(m_header.getSamplingFrequency(), diffSamples)).time(); + //oStimulationSet.push_back(OVTK_GDF_Missing, CTime(m_header.getSamplingFrequency(), nDataToSend).time(), CTime(m_header.getSamplingFrequency(), diffSamples)).time(); } } diff --git a/contrib/plugins/server-drivers/gtec-gusbamp/src/ovasCDriverGTecGUSBampLegacy.cpp b/contrib/plugins/server-drivers/gtec-gusbamp/src/ovasCDriverGTecGUSBampLegacy.cpp index 914858752d6d9b210925771890f436b81cef5cd4..af0b5d727e01cf78a2278e98c0b175050e96a569 100644 --- a/contrib/plugins/server-drivers/gtec-gusbamp/src/ovasCDriverGTecGUSBampLegacy.cpp +++ b/contrib/plugins/server-drivers/gtec-gusbamp/src/ovasCDriverGTecGUSBampLegacy.cpp @@ -245,7 +245,7 @@ bool CDriverGTecGUSBampLegacy::loop() } const uint64_t time = CTime(m_header.getSamplingFrequency(), uint64_t(iSample)).time(); - stimSet.appendStimulation(identifier, time, 0); + stimSet.push_back(identifier, time, 0); m_totalHardwareStimulations++; } diff --git a/contrib/plugins/server-drivers/mbt-smarting/src/ovasCSmartingAmp.cpp b/contrib/plugins/server-drivers/mbt-smarting/src/ovasCSmartingAmp.cpp index c43f02871cce68bf753075e118ca5bd5af5e07a1..d1af9b480b31b3d3f04050d11808a5c9a05c9cd1 100644 --- a/contrib/plugins/server-drivers/mbt-smarting/src/ovasCSmartingAmp.cpp +++ b/contrib/plugins/server-drivers/mbt-smarting/src/ovasCSmartingAmp.cpp @@ -406,7 +406,7 @@ void SmartingAmp::read_with_timeout(const int size, const size_t timeout) m_io.stop(); // After a timeout & cancel it seems we need // to do a reset for subsequent reads to work. - m_port->get_io_service().reset(); + m_io.reset(); } // Called when the timer's deadline expires. diff --git a/contrib/plugins/server-drivers/mitsarEEG202A/src/ovasCDriverMitsarEEG202A.cpp b/contrib/plugins/server-drivers/mitsarEEG202A/src/ovasCDriverMitsarEEG202A.cpp index 0c172819443f5a6e58007dec3cf5efec65769def..295a33729422ec06372bc44e49677b7320f775bf 100644 --- a/contrib/plugins/server-drivers/mitsarEEG202A/src/ovasCDriverMitsarEEG202A.cpp +++ b/contrib/plugins/server-drivers/mitsarEEG202A/src/ovasCDriverMitsarEEG202A.cpp @@ -294,7 +294,7 @@ bool CDriverMitsarEEG202A::loop() // prepare stimulations CStimulationSet stimSet; - stimSet.setStimulationCount(nStimulations); + stimSet.resize(nStimulations); for (uint32_t iStimulation = 0; iStimulation < nStimulations; ++iStimulation) @@ -310,9 +310,9 @@ bool CDriverMitsarEEG202A::loop() const uint64_t date = CTime(m_header.getSamplingFrequency(), uint64_t(m_stimulationDates[iStimulation])).time(); - stimSet.setStimulationIdentifier(iStimulation, identifier); - stimSet.setStimulationDate(iStimulation, date); - stimSet.setStimulationDuration(iStimulation, 1); + stimSet.setId(iStimulation, identifier); + stimSet.setDate(iStimulation, date); + stimSet.setDuration(iStimulation, 1); //std::cout << "Trigger " << std::hex << m_stimulationIDs[iStimulation] << " "; } diff --git a/contrib/plugins/server-drivers/openbci/doc/ServerDriver_OpenBCI_documentation.md b/contrib/plugins/server-drivers/openbci/doc/ServerDriver_OpenBCI_documentation.md index d98f7c3b24d72394d0d3df6afee66ab98602d29c..b5b5ab862f07866894d3e3649638900c603b74c0 100644 --- a/contrib/plugins/server-drivers/openbci/doc/ServerDriver_OpenBCI_documentation.md +++ b/contrib/plugins/server-drivers/openbci/doc/ServerDriver_OpenBCI_documentation.md @@ -1,20 +1,20 @@ +# OpenBCI driver for OpenViBE {#OpenBCI} + ![OpenViBE logo][OpenViBELogo] ![OpenBCI logo][OpenBCILogo] -# OpenBCI driver for OpenViBE documentation # - (documentation stands for [OpenViBE][OpenViBE] **1.2.0-OpenBCI-RC1**) -## Welcome ## +## Welcome Welcome in the documentation of the [OpenBCI][OpenBCI] driver for [OpenViBE][OpenViBE]. This document gives you step by step details on how to configure your system, hardware and software to get the best possible experience. For further details about OpenBCI and OpenViBE, please refer to their [respective][OpenBCI] [documentation][OpenViBE]. -## Getting Started ## +## Getting Started This section gives guidelines on how to set-up your environment configuration to get the best experience using [OpenBCI][OpenBCI] with [OpenViBE][OpenViBE] -### Linux ### +### Linux In order to use the [OpenBCI][OpenBCI] driver on Linux, you need to be granted read/write access to the serial port that is used to communicate with the dongle. Unfortunately, this does not come as a standard configuration on many Linux distributions and you will need to configure your setup so that the user is granted these access. On [Ubuntu][UbuntuDotCom] and its derivative, as well as on [Debian][DebianDotOrg], this can simply be achieved by adding the user to the `dialog` group with the following command : @@ -28,7 +28,7 @@ On [Fedora][FedoraDotOrg] and its derivative, a similar command should be used t Again, please note that you may need to close and reopen the session for changes to take effect. -### Windows ### +### Windows It is necessary to walk through a litlle bit of configuration to have the best experience with [OpenBCI][OpenBCI] and [OpenViBE][OpenViBE] on Windows. Indeed, when Windows first installs a serial port, its default configuration is not optimal for realtime streaming of the data. It especially configures large buffering and latencies, causing delays in the communication which eventually lead in delays in the acquired signals. While this only delays the detection of Motor Imagery or SSVEP tasks by a few hundreds of milliseconds, this also delays the ERP (eventually leading to a misdetection) and in all cases, alters the neurophysiological validity of the acquired data by a significant fraction. Consequently, it is recommended to configure the serial ports so that they are suitable for realtime use. @@ -62,7 +62,7 @@ After you changed the settings as shown on the following figure, please click `O It is *not necessary* to restart the computer for the changes to take effect. -## Configuration ## +## Configuration The configuration dialog of the [OpenBCI][OpenBCI] driver comes with a number of settings that one can change or pick depending on his preference. @@ -71,7 +71,7 @@ The configuration dialog of the [OpenBCI][OpenBCI] driver comes with a number of The following table documents each option that is specific to the [OpenBCI][OpenBCI] device. Please refer to the [OpenViBE documentation][OpenViBEDoc] for anything generic to the [OpenViBE][OpenViBE] Acquisition Server. | Option | Default Value | Documentation | -| :-------------------------: | :-------------------------: | :-----------------------------------------------------------------------------------| +| :----: | :-----------: | :-------------| | **Device** | *empty* | This allows you to pick a serial port to connect on. The drodown list shows the serial ports that can currently be opened on this computer. If no port is found, the mention *No valid serial port* is shown in this list. If you cannot find your device in this list, please refer . | | **Use Daisy Module** | *false* | This allows you to configure the daisy module. Four cases should be considered. 1/ if the daisy module is present and this option is set to **true**, then the device will turn to 16 channels samples 125 Hz. 2/ if no daisy module is present and this option is set to **false**, then the device will turn to 8 channels, 250 Hz. 3/ if the daisy module is **not present** on the board and this option is set to **true**, then the initialization of the driver will **fail**. 4/ if the daisy module is **present** on the board and this option is set to **false**, the daisy module will be disabled and the acquisition will be done as if the daisy module was not present on the board, turning the device back to 8 channels sampled at 125 Hz. | | **Custom Command On Initialization** | *empty* | This option contains additional commands to send to the device at initialization. You must use one line per command, some command may contain multiple characters. For details about the commands, please refer to the [OpenBCI protocol documentation][OpenBCIProto]. Be advised that this will increase the delay of initialization by an order of magnitude that is a direct relation of the number and types of commands you want to add. Finally, not all the commands take the same time to be executed, if you include custom commands, you should consider adjusting the timeout values. | @@ -80,12 +80,12 @@ The following table documents each option that is specific to the [OpenBCI][Open The Configuration Summary gives information on the current configuration, especially the number of channels and the sampling rate of the device. -## Advanced Configuration ## +## Advanced Configuration In addition to the above settings, another few settings are available to the user as advanced configuration. They are not exposed in the GUI and should be directly set in the [OpenViBEConfig][OpenViBE configuration] file instead. Refere to the [Configuration Manager section][OpenViBEConfig] of the [OpenViBE documentation][OpenViBEDoc] for further details on the configuration file format, location and others. | Token | Default Value | Documentation | -| :-------------------------: | :-------------------------: | :-----------------------------------------------------------------------------------| +| :---: | :-----------: | :-------------| | **AcquisitionDriver OpenBCI MissingSampleDelayBeforeReset** | *1000* | This defines the size of the window to continuously monitor reception of samples from the driver. If no sample is received within that timeframe, the board is requested to stop and restart streaming. While the non-reception of samples from the board may reflect an unexpected state in the board, this strategy seems to sometimes recover and let the streaming go back to normal. The default value allows a good compromise between dealing with buffering and actual transmission delays and recovering fast when something goes wrong. If you experience such unstability in the transmision, we recommend that you first explore anything that may (in)directly affect the quality of the transmission before tweaking this setting. | | **AcquisitionDriver OpenBCI DroppedSampleCountBeforeReset** | *5* | This defines the number of sample loss events until a recovery is attempted. It happens that the board gets in an unstable state where some sample would be missing in the stream. Stopping and restarting the streaming has proved to recover well. The default setting has been set so that a few occasional sample loss may occur (due to e.g. quality transmission) and be corrected by the drift correction process, while not waiting too long to attempt recovery when too many sample are lost. | | **AcquisitionDriver OpenBCI DroppedSampleSafetyDelayBeforeReset** | *1000* | This defines a sefety delay where no reset should be attempted because of sample loss (see **AcquisitionDriver OpenBCI DroppedSampleCountBeforeReset**). This prevents a reset on the first sample where the driver synchronises with the streaming protocol and may miss a few samples until it is perfectly synced with the header and tail of the protocol frame. | @@ -108,4 +108,3 @@ In addition to the above settings, another few settings are available to the use [WindowsTweaking3]: ServerDriver_OpenBCI_windows_tweaking_3.png [WindowsTweaking4]: ServerDriver_OpenBCI_windows_tweaking_4.png [DriverDialog]: ServerDriver_OpenBCI_configuration.png - diff --git a/contrib/plugins/server-extensions/external-stimulations/ovasCPluginExternalStimulations.cpp b/contrib/plugins/server-extensions/external-stimulations/ovasCPluginExternalStimulations.cpp index 62c30d179011cb566fbb72f153d00c31512f7d2c..28672a76ca29acb3205467317d7c9f2e410fe55e 100755 --- a/contrib/plugins/server-extensions/external-stimulations/ovasCPluginExternalStimulations.cpp +++ b/contrib/plugins/server-extensions/external-stimulations/ovasCPluginExternalStimulations.cpp @@ -189,14 +189,14 @@ void CPluginExternalStimulations::addExternalStimulations(CStimulationSet* ss, K { //flashes_in_this_time_chunk++; //logm << Kernel::LogLevel_Error << "Stimulation added." << "\n"; - ss->appendStimulation(i->identifier, i->timestamp, durationMs); + ss->push_back(i->identifier, i->timestamp, durationMs); } else { //the stimulation is coming too late - after the current block being processed //we correct the timestamp to the current block and we send it m_DebugStimulationsReceivedLate++; - ss->appendStimulation(i->identifier, start, durationMs); + ss->push_back(i->identifier, start, durationMs); } m_DebugExternalStimulationsSent++; } diff --git a/contrib/plugins/server-extensions/tcp-tagging/ovasCPluginTCPTagging.cpp b/contrib/plugins/server-extensions/tcp-tagging/ovasCPluginTCPTagging.cpp index 08fe1e232ba281311dd0b4f34cdf332b78e6e9fc..0ee929fee741396db04a7455a6c3d16f3bb898f1 100755 --- a/contrib/plugins/server-extensions/tcp-tagging/ovasCPluginTCPTagging.cpp +++ b/contrib/plugins/server-extensions/tcp-tagging/ovasCPluginTCPTagging.cpp @@ -145,11 +145,11 @@ void CPluginTCPTagging::loopHook(std::deque<std::vector<float>>& /*vPendingBuffe // Indicates that the next tag after this one may not be correctly placed in time. // The duration encodes our estimate how much the tag was delayed. This has // the benefit that this knowledge can be inserted into file recordings and is not lost like logs potentially. - stimulationSet.appendStimulation(OVTK_GDF_Incorrect, adjustedTagTime, tagDelay); + stimulationSet.push_back(OVTK_GDF_Incorrect, adjustedTagTime, tagDelay); } // Insert tag into the stimulation set. - stimulationSet.appendStimulation(tag.identifier, adjustedTagTime, 0); + stimulationSet.push_back(tag.identifier, adjustedTagTime, 0); } // Update time counters. Basically these counters allow to map the time a stamp was received to the time related to the sample buffers, diff --git a/contrib/plugins/server-extensions/tcp-tagging/test/CMakeLists.txt b/contrib/plugins/server-extensions/tcp-tagging/test/CMakeLists.txt index 9adcdccc146e2940555850adeca3df71ebe4642b..bbbb1e9595fe498cad4a9005001a57d8c0ca0f14 100644 --- a/contrib/plugins/server-extensions/tcp-tagging/test/CMakeLists.txt +++ b/contrib/plugins/server-extensions/tcp-tagging/test/CMakeLists.txt @@ -13,13 +13,21 @@ add_executable(${PROJECT_NAME} test_tagstream.cpp ../ovasCTagStream.cpp) target_link_libraries(${PROJECT_NAME} openvibe openvibe-module-system + Boost::boost + Boost::system + Boost::thread ) -set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${TESTS_FOLDER}) # Place project in folder unit-test (for some IDE) +if(UNIX AND NOT APPLE) + find_library(LIB_RT rt) + if(LIB_RT) + target_link_libraries(${PROJECT_NAME} ${LIB_RT}) + else() + message(WARNING " FAILED to find rt...") + endif() +endif() -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_System") -include("FindThirdPartyBoost_Thread") +set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${TESTS_FOLDER}) # Place project in folder unit-test (for some IDE) # Unfortunately we need to install the tests as any application to find .dll/.so files # on both Windows and Linux. diff --git a/documentation/CMakeLists.txt b/documentation/CMakeLists.txt deleted file mode 100644 index 06f4a44a11591bc686422cdd2acb99bfec1c71b2..0000000000000000000000000000000000000000 --- a/documentation/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ -project(openvibe-documentation VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) - -OV_ADD_THIS_TO_PROJECT_LIST() - -if(NOT(${SKIP_DOCUMENTATION})) - if(${GENERATOR_IS_MULTI_CONFIG}) - foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGU) - unset(SDK_DOC_PATH CACHE) - find_path(SDK_DOC_PATH NAMES openvibe PATHS ${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}} PATH_SUFFIXES doc-tmp NO_DEFAULT_PATH) - if(SDK_DOC_PATH) - break() - endif() - endforeach() - - foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGU) - unset(DESIGNER_DOC_PATH CACHE) - find_path(DESIGNER_DOC_PATH NAMES openvibe PATHS ${OPENVIBE_DESIGNER_PATH_${OUTPUTCONFIGU}} PATH_SUFFIXES doc-tmp NO_DEFAULT_PATH) - if(DESIGNER_DOC_PATH) - break() - endif() - endforeach() - else() - set(SDK_DOC_PATH ${OPENVIBE_SDK_PATH}/doc-tmp) - set(DESIGNER_DOC_PATH ${DESIGNER_SDK_PATH}/doc-tmp) - endif() - - OV_ADD_SOURCE_DIR("${DOCUMENTATION_TEMP_DIRECTORY}/openvibe") - if(OV_SDK_SOURCE_PATH) - OV_ADD_SOURCE_DIR("${OV_SDK_SOURCE_PATH}") - else() - message(WARNING "Please set OV_SDK_SOURCE_PATH to enable sources documentation of sdk") - endif() - - add_subdirectory(src) - -endif() - - - -# ----------------------------- -# Install files -# ----------------------------- -#install(TARGETS ${PROJECT_NAME} -# RUNTIME DESTINATION ${DIST_BINDIR} -# LIBRARY DESTINATION ${DIST_LIBDIR} -# ARCHIVE DESTINATION ${DIST_LIBDIR}) - -#install(DIRECTORY doc/ DESTINATION ${DIST_DOCDIR}) -#install(DIRECTORY src/ DESTINATION ${DIST_INCLUDEDIR} FILES_MATCHING PATTERN "*.h" PATTERN "doc" EXCLUDE) diff --git a/documentation/doc/cc-by-sa.png b/documentation/doc/cc-by-sa.png deleted file mode 100644 index 924eee54afc4150fd7f9eaf986cbc11701603914..0000000000000000000000000000000000000000 Binary files a/documentation/doc/cc-by-sa.png and /dev/null differ diff --git a/documentation/doc/doxygen.png b/documentation/doc/doxygen.png deleted file mode 100644 index b891fd3efa0306eb62256e6ab3aa9b53ecec9d7f..0000000000000000000000000000000000000000 Binary files a/documentation/doc/doxygen.png and /dev/null differ diff --git a/documentation/doc/logo.png b/documentation/doc/logo.png deleted file mode 100644 index bf5bb9677c99403a154df7522a0d7a2a7250c068..0000000000000000000000000000000000000000 Binary files a/documentation/doc/logo.png and /dev/null differ diff --git a/documentation/doc/openvibe.css b/documentation/doc/openvibe.css deleted file mode 100644 index c86652e857767d784928a90dc778f42e186e135f..0000000000000000000000000000000000000000 --- a/documentation/doc/openvibe.css +++ /dev/null @@ -1,40 +0,0 @@ -body { -/* position:relative;*/ - max-width:11in; - margin:0 auto; - /*background:url('doc-bg.png') #fff left repeat-y;*/ -} - -#sidebar { - width:200px; - float:left; - border-left:1px solid #C4CFE5; - border-right:1px solid #C4CFE5; - padding-bottom:10px; -} - -#sidebar ul:not(.tablist), #sidebar div:not(.tabs) { - padding-left:10px; -} - -#sidebar li { - list-style:none; -} - -#sidebar b { - font-weight:bold; -} - -#search input { - border:1px solid black; - width:180px; - -} - -#content { - margin-left:200px; -} - -hr.footer { - clear:both; -} diff --git a/documentation/doc/search.php b/documentation/doc/search.php deleted file mode 100644 index d8d4da746a32e84c1abad0505b164b67b891584d..0000000000000000000000000000000000000000 --- a/documentation/doc/search.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php - -function argument_collector(&$v_argument_list, &$s_argument_method, &$s_argument_variable) -{ - if($_POST['q']!='') - { - $s_argument_method='post'; - $v_argument_list=$_POST; - $s_argument_variable='_POST'; - } - else if($_GET['q']!='') - { - $s_argument_method='get'; - $v_argument_list=$_GET; - $s_argument_variable='_GET'; - } - else if($HTTP_GET_VARS['q']!='') - { - $s_argument_method='get'; - $v_argument_list=$HTTP_GET_VARS; - $s_argument_variable='HTTP_GET_VARS'; - } - else - { - $s_argument_method=''; - $v_argument_list=Array(); - $s_argument_variable='(none)'; - } -} - -argument_collector($g_v_argument_list, $g_s_argument_method, $g_s_argument_variable); - -header("Location: http://www.google.com/search?q=".$g_v_argument_list['q']."+site%3Aopenvibe.inria.fr"); - -?> diff --git a/documentation/src/CMakeLists.txt b/documentation/src/CMakeLists.txt deleted file mode 100644 index 25c54b2fef6d01a8cf59b62609352046bb264841..0000000000000000000000000000000000000000 --- a/documentation/src/CMakeLists.txt +++ /dev/null @@ -1,159 +0,0 @@ -# Author Yann Renard / INRIA -# Date 2008-10-15 -# -# this CMake script iterates over several source documentation directories in -# order to compile it with doxygen. It has the ability to configure the -# doxyfile depending on some variables and to build documentation sources from -# computer generated templates (.dox-skeleton) and hand written documentation -# parts (.dox-part) - -ADD_CUSTOM_TARGET(${PROJECT_NAME} ALL) - -# look for doxygen, if not present, no need to generate documentation -FIND_PROGRAM(doxygen_bin "doxygen" PATHS ${LIST_DEPENDENCIES_PATH}/bin NO_DEFAULT_PATH) -FIND_PROGRAM(doxygen_bin "doxygen" PATHS ${LIST_DEPENDENCIES_PATH}/bin "C:/Program Files/doxygen/bin") - -if(doxygen_bin) - - message(STATUS " Found doxygen...") - - # intializes the variable that will be used in the doxyfile for input - # directories - STRING(REPLACE "\\" "/" ov_doxy_input "${OV_BASE_DIR}/cmake-modules") - set(ov_doxy_input "\\\"${ov_doxy_input}\\\"") - - # intializes the variable that will contain the list of resource files to - # copy to the target directory - set(RESOURCE_FILES "") - - set(DOX_PART_FILES "") - # iterates on each project we have - # - # for each project, we look at its resources and store them in a list - # for each project, we look at partial documentation files (.dox-part) and - # parse them to get |ov[a-zA-Z0-9_]*_begin| or |ov[a-zA-Z0-9_]*_end| - # tokens. This tokens will later be included in the skeleton doxumentation - # files (.dox-skeleton) - GET_PROPERTY(CURRENT_PROJECTS GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS) - - foreach(current_project ${CURRENT_PROJECTS}) - # message(STATUS " [ OK ] Project ${current_project}") - - STRING(REGEX REPLACE " +$" "" current_project ${current_project}) - - # updates the doxyfile variable for input directories - if(EXISTS "${current_project}/include") - set(current_project_include "${current_project}/include") - set(ov_doxy_input "${ov_doxy_input} \\\"${current_project_include}\\\"") - endif(EXISTS "${current_project}/include") - - if(EXISTS "${current_project}/src") - # message(STATUS " [ OK ] Candidate src directory found ${current_project_src}") - set(current_project_src "${current_project}/src") - set(ov_doxy_input "${ov_doxy_input} \\\"${current_project_src}\\\"") - endif(EXISTS "${current_project}/src") - - if(EXISTS "${current_project}/doc") - # message(STATUS " [ OK ] Candidate doc directory found ${current_project_doc}") - set(current_project_doc "${current_project}/doc") - set(ov_doxy_input "${ov_doxy_input} \\\"${current_project_doc}\\\"") - - # looks for resources and stores them in a list - file(GLOB_RECURSE resource_files_tmp "${current_project_doc}/*.png" "${current_project_doc}/*.svg" "${current_project_doc}/*.css" "${current_project_doc}/*.php") - set(RESOURCE_FILES ${RESOURCE_FILES} ${resource_files_tmp}) - - # looks for partial hand written documentation - file(GLOB_RECURSE doxs "${current_project_doc}/*.dox-part") - set(DOX_PART_FILES "${DOX_PART_FILES};${doxs}") - endif(EXISTS "${current_project}/doc") - - if(EXISTS "${current_project}/box-algorithm-doc") - - LIST(APPEND dir_list "." "box-algorithm-doc/dox-part") - foreach(file_path ${dir_list}) - set(current_project_doc "${current_project}/${file_path}") - message(STATUS " [ OK ] Candidate doc directory found ${current_project_doc}") - set(ov_doxy_input "${ov_doxy_input} \\\"${current_project_doc}\\\"") - - # looks for resources and stores them in a list - file(GLOB_RECURSE resource_files_tmp "${current_project_doc}/*.png" "${current_project_doc}/*.svg" "${current_project_doc}/*.css" "${current_project_doc}/*.php") - set(RESOURCE_FILES ${RESOURCE_FILES} ${resource_files_tmp}) - - # looks for partial hand written documentation - file(GLOB_RECURSE doxs "${current_project_doc}/*.dox-part") - set(DOX_PART_FILES "${DOX_PART_FILES};${doxs}") - endforeach(file_path ${dir_list}) - - endif(EXISTS "${current_project}/box-algorithm-doc") - - - - endforeach(current_project) - - # the final doxyfile filename is generated, platform compliantly - set(ov_doxy_final "${CMAKE_CURRENT_BINARY_DIR}/doxyfile") - if(WIN32) - STRING(REPLACE "/" "\\\\" ov_doxy_final ${ov_doxy_final}) - endif(WIN32) - - # these two lines configure the variables used to configure the doxyfile - set(ov_doxy_input "${ov_doxy_input} \\\"${CMAKE_CURRENT_SOURCE_DIR}\\\"") - set(ov_doxy_input "${ov_doxy_input} \\\"${CMAKE_CURRENT_BINARY_DIR}\\\"") - set(ov_doxy_strip_from_path ${ov_doxy_input}) - set(ov_doxy_version ${PROJECT_VERSION}) - - # then the doxyfile is configured - - GET_PROPERTY(CURRENT_PROJECTS GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS_BUILD_DIR) - foreach(current_project ${CURRENT_PROJECTS}) -# message(STATUS "DUH ${current_project}") - STRING(REGEX REPLACE " +$" "" current_project ${current_project}) - set(current_project_src "${current_project}/src") - # updates the doxyfile variable for input directories - set(ov_plugin_inspector_load_path "${ov_plugin_inspector_load_path}:${current_project}") - endforeach(current_project) - - # create folder to put the output from doxygen to - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../doc") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../doc/html") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/algorithm-doc") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/algorithm-snapshots") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/box-algorithm-doc") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/box-algorithm-snapshots") - # then the doxyfile is configured - - CONFIGURE_FILE( - CreateDoxygen.cmake-skeleton - CreateDoxygen.cmake - @ONLY) - - CONFIGURE_FILE( - openvibe.dox-base - openvibe.dox - @ONLY) - -if(WIN32) - ADD_CUSTOM_COMMAND( - TARGET ${PROJECT_NAME} - POST_BUILD - COMMAND ${LIST_DEPENDENCIES_PATH}/cmake/bin/cmake.exe -P CreateDoxygen.cmake - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" - ) -elseif(UNIX) - ADD_CUSTOM_COMMAND( - TARGET ${PROJECT_NAME} - POST_BUILD - COMMAND cmake -P CreateDoxygen.cmake - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" - ) -endif(WIN32) - -install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../doc/" DESTINATION ${DIST_DOCDIR}) - -else(doxygen_bin) - - message(STATUS " FAILED to find doxygen...") - -endif(doxygen_bin) - - diff --git a/documentation/src/CreateDoxygen.cmake-skeleton b/documentation/src/CreateDoxygen.cmake-skeleton deleted file mode 100644 index c3fcfaff1c7efb6df92e2e5d93877f97dafeb168..0000000000000000000000000000000000000000 --- a/documentation/src/CreateDoxygen.cmake-skeleton +++ /dev/null @@ -1,197 +0,0 @@ -# Author Yann Renard / INRIA -# Date 2008-10-15 -# -# this CMake script iterates over several source documentation directories in -# order to compile it with doxygen. It has the ability to configure the -# doxyfile depending on some variables and to build documentation sources from -# computer generated templates (.dox-skeleton) and hand written documentation -# parts (.dox-part) - -MESSAGE(STATUS "Launching Create Doxygen CMake script") - -SET(RESOURCE_FILES "@RESOURCE_FILES@") -SET(ov_doxy_final "@ov_doxy_final@") -SET(ov_doxy_version "@ov_doxy_version@") -SET(ov_doxy_input "@ov_doxy_input@") -SET(CURRENT_PROJECTS "@CURRENT_PROJECTS@") -SET(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") - -MESSAGE(STATUS "Running plugin inspector") - -#MESSAGE(STATUS "@CMAKE_INSTALL_FULL_BINDIR@/../lib/") -IF(UNIX) - EXECUTE_PROCESS( - COMMAND @CMAKE_INSTALL_FULL_BINDIR@/../openvibe-plugin-inspector.sh - -d "@CMAKE_CURRENT_BINARY_DIR@" -p @CMAKE_INSTALL_FULL_BINDIR@/../lib/ - -k "@CMAKE_INSTALL_FULL_BINDIR@/../lib/" - -c "@CMAKE_INSTALL_FULL_BINDIR@/../share/openvibe/kernel/openvibe.conf" - WORKING_DIRECTORY "@CMAKE_INSTALL_FULL_BINDIR@/" - ) -ELSEIF(WIN32) - EXECUTE_PROCESS( - COMMAND @CMAKE_INSTALL_FULL_BINDIR@/../openvibe-plugin-inspector.cmd - -d "@CMAKE_CURRENT_BINARY_DIR@" -p @CMAKE_INSTALL_FULL_BINDIR@ - -k "@CMAKE_INSTALL_FULL_BINDIR@" - -c "@CMAKE_INSTALL_FULL_BINDIR@/../share/openvibe/kernel/openvibe.conf" - WORKING_DIRECTORY "@CMAKE_INSTALL_FULL_BINDIR@/" - ) -ENDIF(UNIX) - -#go through all of the .dox-part files we have found previously and extract information - FOREACH(dox @DOX_PART_FILES@) - GET_FILENAME_COMPONENT(dox_filename ${dox} NAME_WE) - MESSAGE(STATUS " Documentation part found ${dox}") - - SET(dox_tag_name NOTFOUND) - - # iterates on each line of the file to look after begin/end tags - # "dox_tag_name" stores the name of the variable - # to use to configure the skeleton file. It is computed from the - # begin tag. - FILE(READ ${dox} dox_lines) - # replaces empty cariage returns with semi colons to be compliant - # with CMake lists. note the space before and after the semi - # colon, this is for CMake not to skip empty lines - STRING(REPLACE "\n" " ; " dox_lines " ${dox_lines} ") - FOREACH(dox_line ${dox_lines}) - # this regex removes the spaces we added before the loop - STRING(REGEX REPLACE "^ (.*) $" "\\1" dox_line ${dox_line}) - - # we initialize several variables that will be used in - # this loop - SET(dox_line_processed FALSE) - SET(dox_tag_begin NOTFOUND) - SET(dox_tag_end NOTFOUND) - SET(dox_tag NOTFOUND) - - # and look for a new tag in this line - STRING(REGEX MATCH "\\|[a-zA-Z0-9_]+\\|" dox_tag "${dox_line}") - IF(dox_tag) - # a tag is found, so we want to know if it is a - # OVP_DocBegin* or OVP_DocEnd* tag - STRING(REGEX MATCH "\\|OVP_DocBegin_[a-zA-Z0-9_]*\\|" dox_tag_begin "${dox_line}") - STRING(REGEX MATCH "\\|OVP_DocEnd_[a-zA-Z0-9_]*\\|" dox_tag_end "${dox_line}") - - # in case we already have something in - # dox_tag_name, it means that begin tag has - # already been processed, so either we terminate with end - # tag, either we continue with come content to add in the - # variable - IF(dox_tag_name AND dox_tag_end) - # in case we find end tag, we just terminate cleaning - # the tag and what follows. We then terminate and - # create a new CMake variable with the content of this - # begin/end tagged things. - STRING(REGEX REPLACE ".*\\|OVP_DocEnd_([a-zA-Z0-9_]*)\\|.*" "\\1" dox_tag_name_check ${dox_line}) - STRING(REGEX REPLACE "\\|OVP_DocEnd_([a-zA-Z0-9_]*)\\|.*" "" dox_line "${dox_line}") - - # MESSAGE(STATUS " - Completed tag pair |${dox_tag_name}|") - - SET(dox_tag_name_value "${dox_tag_name_value}\n${dox_line}") - SET("Doc_${dox_tag_name}_Content" ${dox_tag_name_value}) - SET(dox_tag_name NOTFOUND) - SET(dox_line_processed TRUE) - ENDIF(dox_tag_name AND dox_tag_end) - - # in case dox_tag_name is empty, it means - # that begin tag has not yet been found, so we just look at it - # or skip to next line - IF(NOT dox_tag_name AND dox_tag_begin) - # in case we find begin tag, we just start saving the - # CMake variable name, and clean the tag and what - # comes before. We then intialize the content of the - # begin/end tagged thing with what comes after begin - # tag. - STRING(REGEX REPLACE ".*\\|OVP_DocBegin_([a-zA-Z0-9_]*)\\|.*" "\\1" dox_tag_name ${dox_line}) - STRING(REGEX REPLACE ".*\\|OVP_DocBegin_([a-zA-Z0-9_]*)\\|" "" dox_line "${dox_line}") - SET(dox_tag_name_value "${dox_line}") - SET(dox_line_processed TRUE) - ENDIF(NOT dox_tag_name AND dox_tag_begin) - - # in case dox tag is not OVP_DocBegin* or OVP_DocEnd* - # just print a warning and continue - IF(NOT dox_line_processed) - MESSAGE(STATUS " - Unexpected tag ${dox_tag} in ${dox} will be ignored") - ENDIF(NOT dox_line_processed) - ENDIF(dox_tag) - - # in case this line was not processed, either because it does - # not have any tag, either because the tag was unexpected, we - # just append the whole line to the content of the current - # variable - IF(dox_tag_name AND NOT dox_line_processed) - # in case we don't find the end tag, just append this - # new line to the current content - SET(dox_tag_name_value "${dox_tag_name_value}\n${dox_line}") - ENDIF(dox_tag_name AND NOT dox_line_processed) - ENDFOREACH(dox_line) - - ENDFOREACH(dox) - - - -# install the remaining resource files - -# now we have stored all the begin/end tagged things in variable, we just -# have to configure the skeleton configuration files with those variables. -# note that the skeleton files should be prepared to receive the CMake -# variables with anywhere it is needed. -# -# in order to do so, we look after all the (.dox-skeleton) files and call -# the configure command to build the final documentation (.dox) file. -MESSAGE(STATUS "Current bin dir: @CMAKE_CURRENT_BINARY_DIR@") -FILE(GLOB_RECURSE dox_skeletons "@CMAKE_CURRENT_BINARY_DIR@/*.dox-skeleton") -FOREACH(dox_skeleton ${dox_skeletons}) - GET_FILENAME_COMPONENT(dox_skeleton_filename ${dox_skeleton} NAME_WE) - CONFIGURE_FILE( - "${dox_skeleton}" - "@CMAKE_CURRENT_BINARY_DIR@/${dox_skeleton_filename}.dox" - @ONLY) -# MESSAGE(STATUS " [ OK ] Configured skeleton ${dox_skeleton}") -ENDFOREACH(dox_skeleton) - - - - -CONFIGURE_FILE( - "@CMAKE_CURRENT_SOURCE_DIR@/doxyfile-skeleton" - ${ov_doxy_final} - @ONLY) - - -# and a post-build command is added in order to run doxygen -MESSAGE(STATUS "Running doxygen") -EXECUTE_PROCESS( - COMMAND "@doxygen_bin@" "@ov_doxy_final@" - WORKING_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@" -) - -# 'patch' the docs, this takes some time, is it worth doing it? -# original linux-build directive: -# find $target_dist/doc -name *.html -exec sed -i -e "s/\xC2\?\xA7OpenViBE\xC2\?\xA7/OpenViBE/g" "{}" \; -# \xC2\?\xA7 is the character that has been put everywhere to clearly make the distinction between the project and the software -#MESSAGE(STATUS "Patching special characters in HTML docs ...") -#FILE(GLOB_RECURSE HTML_DOCS "${CMAKE_CURRENT_BINARY_DIR}/../doc/html/*.html") -#MESSAGE(STATUS "IAMIN ${CMAKE_CURRENT_BINARY_DIR}/../doc/html/") - -#MESSAGE(STATUS "got ${HTML_DOCS}") -#FOREACH(HTML_DOC ${HTML_DOCS}) -# MESSAGE(STATUS "Processing ${HTML_DOC}") -# FILE(READ ${HTML_DOC} ORIG_FILE) -# STRING(REGEX REPLACE "[^ a-zA-Z0-9:.,]OpenViBE[^ a-zA-Z0-9:.,]" "OpenViBE" TRANSLATED_FILE ${ORIG_FILE}) -# FILE(WRITE ${HTML_DOC} ${TRANSLATED_FILE}) -#ENDFOREACH(HTML_DOC) - -FILE(GLOB_RECURSE resource_files_tmp "@CMAKE_CURRENT_BINARY_DIR@/*.png") -SET(RESOURCE_FILES ${RESOURCE_FILES} ${resource_files_tmp}) - -# hax to install all files under the doc/html folder in the script-launched installer -FILE(GLOB_RECURSE resource_files_tmp "@CMAKE_CURRENT_BINARY_DIR@/../doc/html/*.*") -SET(RESOURCE_FILES ${RESOURCE_FILES} ${resource_files_tmp}) - -IF(RESOURCE_FILES) - FILE(INSTALL FILES ${RESOURCE_FILES} DESTINATION "@CMAKE_INSTALL_FULL_DOCDIR@") -ENDIF(RESOURCE_FILES) - - - diff --git a/documentation/src/doxyfile-skeleton b/documentation/src/doxyfile-skeleton deleted file mode 100644 index dbf602bdd5ecb097776438edfbe6b88e6f8f6359..0000000000000000000000000000000000000000 --- a/documentation/src/doxyfile-skeleton +++ /dev/null @@ -1,1516 +0,0 @@ -# Doxyfile 1.5.8 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = Documentation - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/../doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @ov_doxy_strip_from_path@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = NO - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = doxygen.log - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @ov_doxy_input@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = */doc/?ain?age.dox \ - */plugins/*/src/*.h \ - */drivers/*.h - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = @ov_doxy_input@ - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 1 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = I \ - C \ - T - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = @CMAKE_CURRENT_SOURCE_DIR@/header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -# the following pkgs seem to be required on Ubuntu 16.04 -# to compile some .tex macros like mathbb -EXTRA_PACKAGES = amssymb amsmath - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Options related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/documentation/src/footer.html b/documentation/src/footer.html deleted file mode 100644 index 4bd69a5a8ae1da0cadc695d70952a343c2b0ea15..0000000000000000000000000000000000000000 --- a/documentation/src/footer.html +++ /dev/null @@ -1,5 +0,0 @@ -<hr class="footer"/><address class="footer"><small>Generated on Tue Jun 26 2012 15:25:54 for Documentation by  -<a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> -</body> -</html> diff --git a/documentation/src/header.html b/documentation/src/header.html deleted file mode 100644 index e5fd518eaec785901b372a2c5964d1dc3c0ee366..0000000000000000000000000000000000000000 --- a/documentation/src/header.html +++ /dev/null @@ -1,59 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> -<title>Documentation: Home</title> -<script type="text/javascript" src="jquery.js"></script> -<script type="text/javascript" src="dynsections.js"></script> -<link href="tabs.css" rel="stylesheet" type="text/css"/> -<link href="doxygen.css" rel="stylesheet" type="text/css"/> -<link href="openvibe.css" rel="stylesheet" type="text/css"/> -</head> -<body> - <div id="sidebar"> - <div class="tabs"> - <ul class="tablist" style="width:100%"> - <li style="width:100%"><a href="http://openvibe.inria.fr">OpenViBE</a></li> - </ul> - </div> - <ul> - <h2>Search</h2> - <form action="search.php" method="get" id="search"> - <input class="search" type="text" name="q" placeholder="Quick Search..." /> - </form> - <h2>Doxygen</h2> - <ul> - <li><a href="modules.html">Modules</a></li> - <li><a href="namespaces.html">Namespaces</a></li> - <li><a href="classes.html">Class List</a></li> - <li><a href="annotated.html">Class Index</a></li> - <li><a href="hierarchy.html">Class Hierarchy</a></li> - <li><a href="Doc_BoxAlgorithms.html"><b>Box Descriptions</b></a></li> - </ul> - <h2>Online Manual</h2> - <ul> - <li><a href="http://openvibe.inria.fr/documentation-index">Documentation Index</a></li> - <li><a href="http://openvibe.inria.fr/documentation-index/#User+Documentation">User Documentation</a></li> - <li><a href="http://openvibe.inria.fr/documentation-index/#Developer+Documentation">Developer Documentation</a></li> - <li><a href="http://openvibe.inria.fr/start">Video Tutorials</a></li> - <li><a href="http://openvibe.inria.fr/documentation/">Other versions of this doc</a></li> - </ul> - <h2>Quick Access</h2> - <ul> - <li><a href="http://openvibe.inria.fr">OpenViBE Home</a></li> - <li><a href="http://openvibe.inria.fr/forum">Forum</a></li> - <li><a href="http://gitlab.inria.fr/openvibe">Code Repository</a></li> - <li><a href="http://openvibe.inria.fr/tracker">Bugtracker</a></li> - </ul> - <h2>Contact</h2> - <ul> - <li><a href="http://openvibe.inria.fr/Contact"><b>Project Contact</b></a></li> - </ul> - </ul> - <div> - <p>This documentation is licenced under CC-BY-SA</p> - <a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode"><img src="http://openvibe.inria.fr/documentation/unstable/cc-by-sa.png" alt="cc-by-sa"/></a> - </div> - </div> - <div id="content"> - <div id="top"> diff --git a/documentation/src/licence.dox b/documentation/src/licence.dox deleted file mode 100644 index 8b39c73c6db95dd191ad3ca0f68ddd468478580a..0000000000000000000000000000000000000000 --- a/documentation/src/licence.dox +++ /dev/null @@ -1,513 +0,0 @@ -/** - -\page Doc_Licence Licence - -\section Doc_Licence_Title GNU LESSER GENERAL PUBLIC LICENSE -\subsection Doc_Licence_Version Version 2.1, February 1999 - -\verbatim - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] -\endverbatim - -\subsection Doc_Licence_Preamble Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - -\subsection Doc_Licence_Terms GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - -\subsection Doc_Licence_Warranty NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - -\subsection Doc_Licence_End END OF TERMS AND CONDITIONS - -\subsection Doc_Licence_How How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - -\verbatim - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -\endverbatim - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - -\verbatim - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice -\endverbatim - -That's all there is to it! - -*/ diff --git a/documentation/src/openvibe-plugin-inspector.cmd b/documentation/src/openvibe-plugin-inspector.cmd deleted file mode 100644 index 727983e9f9a7509dba1182c037cf0f7b88f4fda5..0000000000000000000000000000000000000000 --- a/documentation/src/openvibe-plugin-inspector.cmd +++ /dev/null @@ -1,27 +0,0 @@ -REM @ECHO OFF -SETLOCAL EnableExtensions - -REM Get the directory location of this script, assume it contains the OpenViBE dist tree. These variables will be used by OpenViBE executables. -SET "OV_SOURCE=%1" -SET "OV_BUILD=%2" -SHIFT -SHIFT - -SET "OV_PATH_BIN=%OV_BUILD%\openvibe\" -SET "OV_PATH_LIB=%OV_BUILD%\openvibe\;%OV_BUILD%\modules\ebml\;%OV_BUILD%\modules\system\;%OV_BUILD%\modules\fs\;%OV_BUILD%\modules\xml\;%OV_BUILD%\modules\socket\;%OV_BUILD%\modules\automaton\;%OV_BUILD%\toolkit\" -SET "OV_PATH_DATA=%OV_BUILD%\share\openvibe" - -SET PATH=%OV_PATH_LIB%;%PATH% - - -SET "OV_ENVIRONMENT_FILE=%OV_SOURCE%\scripts\win32-dependencies.cmd" -IF NOT EXIST "%OV_ENVIRONMENT_FILE%" ( - ECHO Error: "%OV_ENVIRONMENT_FILE%" was not found - GOTO EndOfScript -) -CALL "%OV_ENVIRONMENT_FILE%" -@ECHO ON - -"%OV_BUILD%\applications\developer-tools\plugin-inspector\openvibe-plugin-inspector.exe" %* - -:EndOfScript \ No newline at end of file diff --git a/documentation/src/openvibe.dox-base b/documentation/src/openvibe.dox-base deleted file mode 100644 index 9fee61ead57ed6fb016557ae89b47218be5b6d23..0000000000000000000000000000000000000000 --- a/documentation/src/openvibe.dox-base +++ /dev/null @@ -1,41 +0,0 @@ -/** - \mainpage Home - \section Doc_Preface Preface - - Welcome to the Doxygen Documentation for OpenViBE @PROJECT_VERSION@. - - This document has been automatically generated on Linux. Please note - - - The documentation lacks components and classes that are not compiled on Linux. - - Some source files do not have doxygen information and may not be represented here. - - Plugins such as boxes and drivers are not included in the class lists to better illustrate the core part of OpenViBE. - However, you can see the boxes on the <a href="Doc_BoxAlgorithms.html"><b>Box Descriptions</b></a> page. - - The tutorials and user manual, as well as build instructions for OpenViBE are located on the website : http://openvibe.inria.fr/documentation-index - - \section Doc_Boxes Box Descriptions - - This section contains the description of all of the Boxes available in the OpenViBE Designer. - - - \subpage Doc_BoxAlgorithms - - \subsection Doc_EBML Details on EBML - - OpenViBE uses EBML as a container for all data streams. If you would like to extend the formats of data OpenViBE can handle you might want to document yourself on EBML usage. - - - \subpage Doc_WhatIsEBML - - \subpage Doc_ParsingEBMLStreams - - \subpage Doc_FormatingEBMLStreams - - \subsection Doc_OngoingDocumentation Ongoing Documentation - - \subpage Doc_SoftwareArchitectureOverview (incomplete) - - */ - - - - - - - - diff --git a/modules/eigen/CMakeLists.txt b/modules/eigen/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..c61f0129a8a98d3181257d9b6e74b73e0d540096 --- /dev/null +++ b/modules/eigen/CMakeLists.txt @@ -0,0 +1,44 @@ +project(openvibe-module-eigen VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) + +file(GLOB_RECURSE SRC_FILES src/*.cpp include/*.hpp) + +add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) + +target_link_libraries(${PROJECT_NAME} + openvibe + Eigen3::Eigen +) + +target_include_directories(${PROJECT_NAME} + PRIVATE include/eigen + PUBLIC include) + +set_target_properties(${PROJECT_NAME} PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} + FOLDER ${MODULES_FOLDER} + COMPILE_FLAGS "-DOV_Shared -DOV_Exports") + + +# --------------------------------- +# Target macros +# Defines target operating system, architecture, compiler +# --------------------------------- +SET_BUILD_PLATFORM() + +# ----------------------------- +# Install files +# ----------------------------- +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION ${DIST_BINDIR} + LIBRARY DESTINATION ${DIST_LIBDIR} + ARCHIVE DESTINATION ${DIST_LIBDIR}) + +INSTALL(DIRECTORY include/ DESTINATION ${DIST_INCLUDEDIR} COMPONENT headers FILES_MATCHING PATTERN "*.hpp") + +# --------------------------------- +# Test applications +# --------------------------------- +if(OV_COMPILE_TESTS) +ADD_SUBDIRECTORY(test) +endif() \ No newline at end of file diff --git a/modules/eigen/include/eigen/convert.hpp b/modules/eigen/include/eigen/convert.hpp new file mode 100644 index 0000000000000000000000000000000000000000..373a9e50a2efe7c9ae01fc471c5836766573757c --- /dev/null +++ b/modules/eigen/include/eigen/convert.hpp @@ -0,0 +1,69 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file convert.hpp +/// \brief All functions to Convert OpenViBE::CMatrix and Eigen::MatrixXd. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 17/11/2021. +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +#include <openvibe/ov_all.h> +#include <Eigen/Dense> + +namespace OpenViBE { +/// <summary> Convert OpenViBE Matrix to Eigen Matrix. </summary> +/// <param name="in"> The Eigen Matrix. </param> +/// <param name="out"> The OpenViBE Matrix. </param> +OV_API bool MatrixConvert(const CMatrix& in, Eigen::MatrixXd& out); + +/// <summary> Convert Eigen Matrix to OpenViBE Matrix (It doesn't use Memory::copy because of Eigne store in column major by default). </summary> +/// <param name="in"> The Eigen Matrix. </param> +/// <param name="out"> The OpenViBE Matrix. </param> +OV_API bool MatrixConvert(const Eigen::MatrixXd& in, CMatrix& out); + +/// <summary> Convert Eigen Row Vector to OpenViBE Matrix with one dimension. </summary> +/// <param name="in"> The Eigen Row Vector. </param> +/// <param name="out"> The OpenViBE Matrix. </param> +OV_API bool MatrixConvert(const Eigen::RowVectorXd& in, CMatrix& out); + +/// <summary> Convert OpenViBE Matrix with one dimension to Eigen Row Vector. </summary> +/// <param name="in"> The OpenViBE Matrix. </param> +/// <param name="out"> The Eigen Row Vector. </param> +OV_API bool MatrixConvert(const CMatrix& in, Eigen::RowVectorXd& out); + +/// <summary> Convert vector double to OpenViBE Matrix with one dimension. </summary> +/// <param name="in"> The Vector of double. </param> +/// <param name="out"> The OpenViBE Matrix. </param> +OV_API bool MatrixConvert(const std::vector<double>& in, CMatrix& out); + +/// <summary> Convert vector of 2D Matrices into OpenViBE Matrix with 3 dimensions. </summary> +/// <param name="in"> The Vector of Matrices. </param> +/// <param name="out"> The OpenViBE Matrix. </param> +/// <param name="order"> Order of dimensions : +/// 0 : Vector on first dimension, Matrices row on second, Matrices column on third (0,1,2). +/// 1 : Vector on first dimension, Matrices column on second, Matrices row on third (0,2,1). +/// 2 : Matrices row on first dimension, Vector on second, Matrices column on third (1,0,2). +/// 3 : Matrices row on first dimension, Matrices column on second, Vector on third (1,2,0). +/// 4 : Matrices column on first dimension, Vector on second, Matrices row on third (2,0,1). +/// 5 : Matrices column on first dimension, Matrices row on second, Vector on third (2,1,0). +/// </param> +OV_API bool MatrixConvert(const std::vector<Eigen::MatrixXd>& in, CMatrix& out, const size_t order = 0); + +} // namespace OpenViBE diff --git a/modules/eigen/src/convert.cpp b/modules/eigen/src/convert.cpp new file mode 100644 index 0000000000000000000000000000000000000000..de2eb747d4b04678f8425c8b517cf4a1f615e8fd --- /dev/null +++ b/modules/eigen/src/convert.cpp @@ -0,0 +1,135 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file convert.cpp +/// \brief All functions to Convert OpenViBE::CMatrix and Eigen::MatrixXd, links to Eigen function, manipulate OpenVibe::CMatrix and more. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 17/11/2021. +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#include "convert.hpp" + +namespace OpenViBE { +//--------------------------------------------------------------------------------------------------- +bool MatrixConvert(const CMatrix& in, Eigen::MatrixXd& out) +{ + if (in.getDimensionCount() != 2) { return false; } + out.resize(in.getDimensionSize(0), in.getDimensionSize(1)); + + // double loop to avoid the problem of row major and column major storage + size_t idx = 0; + const double* buffer = in.getBuffer(); + for (size_t i = 0, nR = out.rows(); i < nR; ++i) { for (size_t j = 0, nC = out.cols(); j < nC; ++j) { out(i, j) = buffer[idx++]; } } + return true; +} +//--------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +bool MatrixConvert(const Eigen::MatrixXd& in, CMatrix& out) +{ + if (in.rows() == 0 || in.cols() == 0) { return false; } + const size_t nR = in.rows(), nC = in.cols(); + out.resize(nR, nC); + out.setNumLabels(); + + // double loop to avoid the problem of row major and column major storage + size_t idx = 0; + double* buffer = out.getBuffer(); + for (size_t i = 0; i < nR; ++i) { for (size_t j = 0; j < nC; ++j) { buffer[idx++] = in(i, j); } } + return true; +} +//--------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +bool MatrixConvert(const Eigen::RowVectorXd& in, CMatrix& out) +{ + if (in.size() == 0) { return false; } + out.resize(in.size()); + //one row system copy doesn't cause problem + std::copy_n(in.data(), out.getSize(), out.getBuffer()); + return true; +} +//--------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +bool MatrixConvert(const CMatrix& in, Eigen::RowVectorXd& out) +{ + if (in.getDimensionCount() != 1) { return false; } + out.resize(in.getDimensionSize(0)); + //one row system copy doesn't cause problem + std::copy_n(in.getBuffer(), in.getSize(), out.data()); + return true; +} +//--------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +bool MatrixConvert(const std::vector<double>& in, CMatrix& out) +{ + if (in.empty()) { return false; } + out.resize(in.size()); + //one row system copy doesn't cause problem + std::copy_n(in.data(), out.getSize(), out.getBuffer()); + return true; +} +//--------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +bool MatrixConvert(const std::vector<Eigen::MatrixXd>& in, CMatrix& out, const size_t order) +{ + // Check inputs + if (in.empty() || in[0].rows() == 0 || in[0].cols() == 0) { return false; } + std::vector<size_t> d{ in.size(), size_t(in[0].rows()), size_t(in[0].cols()) }; + for (const auto& m : in) { if (m.rows() != d[1] || m.cols() != d[2]) { return false; } } + + // Fill Buffer + size_t idx = 0; + if (order == 0) { + out.resize({ d[0], d[1], d[2] }); + double* buffer = out.getBuffer(); + for (size_t i = 0; i < d[0]; ++i) { for (size_t j = 0; j < d[1]; ++j) { for (size_t k = 0; k < d[2]; ++k) { buffer[idx++] = in[i](j, k); } } } + } + else if (order == 1) { + out.resize({ d[0], d[2], d[1] }); + double* buffer = out.getBuffer(); + for (size_t i = 0; i < d[0]; ++i) { for (size_t j = 0; j < d[2]; ++j) { for (size_t k = 0; k < d[1]; ++k) { buffer[idx++] = in[i](k, j); } } } + } + else if (order == 2) { + out.resize({ d[1], d[0], d[2] }); + double* buffer = out.getBuffer(); + for (size_t i = 0; i < d[1]; ++i) { for (size_t j = 0; j < d[0]; ++j) { for (size_t k = 0; k < d[2]; ++k) { buffer[idx++] = in[j](i, k); } } } + } + else if (order == 3) { + out.resize({ d[1], d[2], d[0] }); + double* buffer = out.getBuffer(); + for (size_t i = 0; i < d[1]; ++i) { for (size_t j = 0; j < d[2]; ++j) { for (size_t k = 0; k < d[0]; ++k) { buffer[idx++] = in[k](i, j); } } } + } + else if (order == 4) { + out.resize({ d[2], d[0], d[1] }); + double* buffer = out.getBuffer(); + for (size_t i = 0; i < d[2]; ++i) { for (size_t j = 0; j < d[0]; ++j) { for (size_t k = 0; k < d[1]; ++k) { buffer[idx++] = in[j](k, i); } } } + } + else if (order == 5) { + out.resize({ d[2], d[1], d[0] }); + double* buffer = out.getBuffer(); + for (size_t i = 0; i < d[2]; ++i) { for (size_t j = 0; j < d[1]; ++j) { for (size_t k = 0; k < d[0]; ++k) { buffer[idx++] = in[k](j, i); } } } + } + else { return false; } + + return true; +} +//--------------------------------------------------------------------------------------------------- +} // namespace OpenViBE diff --git a/modules/eigen/test/CMakeLists.txt b/modules/eigen/test/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..b753e9d37ef062a89c5231da45d50f6a63f228ae --- /dev/null +++ b/modules/eigen/test/CMakeLists.txt @@ -0,0 +1,30 @@ +project(test-module-eigen VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) + +file(GLOB_RECURSE TESTS_SRC_FILES *.cpp *.hpp) + +add_executable(${PROJECT_NAME} ${TESTS_SRC_FILES}) +set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${TESTS_FOLDER}) # Place project in folder unit-test (for some IDE) + +target_link_libraries(${PROJECT_NAME} + openvibe + openvibe-module-eigen + Eigen3::Eigen + GTest::GTest +) + +# --------------------------------- +# Target macros +# Defines target operating system, architecture and compiler +# --------------------------------- +SET_BUILD_PLATFORM() + +# ----------------------------- +# Install files +# ----------------------------- +ADD_TEST(NAME test_Geometry COMMAND ${PROJECT_NAME}) + +OV_INSTALL_LAUNCH_SCRIPT(SCRIPT_PREFIX "${PROJECT_NAME}" EXECUTABLE_NAME "${PROJECT_NAME}") +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION ${DIST_BINDIR} + LIBRARY DESTINATION ${DIST_LIBDIR} + ARCHIVE DESTINATION ${DIST_LIBDIR}) diff --git a/modules/eigen/test/ConvertTests.hpp b/modules/eigen/test/ConvertTests.hpp new file mode 100644 index 0000000000000000000000000000000000000000..28530eb13746ee6983152b151dd7080bb835eb98 --- /dev/null +++ b/modules/eigen/test/ConvertTests.hpp @@ -0,0 +1,219 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file ConvertTests.hpp +/// \brief Tests for Eigen Convert functions. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 29/07/2020. +/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. +/// \remarks We use the EEglab Matlab plugin to compare result for validation +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +#include "gtest/gtest.h" +#include "eigen/convert.hpp" + +//--------------------------------------------------------------------------------------------------- +class Convert_Tests : public testing::Test +{ +protected: + Eigen::MatrixXd m_eigenMatrix; + Eigen::RowVectorXd m_eigenRowVector; + OpenViBE::CMatrix m_ovMatrix; + OpenViBE::CMatrix m_ovRowMatrix; + std::vector<double> m_vector; + const size_t m_row = 2; + const size_t m_col = 2; + const size_t m_size = 4; + + void SetUp() override + { + m_eigenMatrix.resize(2, 2); + m_eigenMatrix << 1, 2, 3, 4; + m_eigenRowVector.resize(4); + m_eigenRowVector << 1, 2, 3, 4; + m_vector = { 1, 2, 3, 4 }; + m_ovMatrix.resize(2, 2); + m_ovMatrix.setBuffer(m_vector); + m_ovRowMatrix.resize(4); + m_ovRowMatrix.setBuffer(m_vector); + } +}; + +//--------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +TEST_F(Convert_Tests, Conversions) +{ + //----- OpenViBE::CMatrix -> Eigen::MatrixXd ----- + Eigen::MatrixXd resEigenMatrix; + EXPECT_FALSE(OpenViBE::MatrixConvert(m_ovRowMatrix, resEigenMatrix)) << "Row OpenViBE Matrix can't be convert to Eigen Matrix"; + EXPECT_TRUE(OpenViBE::MatrixConvert(m_ovMatrix, resEigenMatrix)) << "Error During Conversion"; + for (size_t i = 0, idx = 0; i < m_row; ++i) { + for (size_t j = 0; j < m_col; ++j, ++idx) { + EXPECT_DOUBLE_EQ(m_ovMatrix[idx], resEigenMatrix(i,j)) + << "Matrix conversion OV 2 Eigen buffer " << idx << " doesn't match : " << resEigenMatrix(i, j) << " instead " << m_ovMatrix[idx]; + } + } + + //----- Eigen::MatrixXd -> OpenViBE::CMatrix ----- + const Eigen::MatrixXd dumpEigenMatrix; + OpenViBE::CMatrix resOvMatrix; + EXPECT_FALSE(OpenViBE::MatrixConvert(dumpEigenMatrix, resOvMatrix)) << "Empty Eigen Matrix can't be convert to OpenViBE Matrix."; + EXPECT_TRUE(OpenViBE::MatrixConvert(m_eigenMatrix, resOvMatrix)) << "Error During Conversion"; + for (size_t i = 0, idx = 0; i < m_row; ++i) { + for (size_t j = 0; j < m_col; ++j, ++idx) { + EXPECT_DOUBLE_EQ(m_ovMatrix[idx], resEigenMatrix(i, j)) + << "Matrix conversion Eigen 2 OV buffer " << idx << " doesn't match : " << resOvMatrix[idx] << " instead " << m_eigenMatrix(i, j); + } + } + + //----- Eigen::RowVectorXd -> OpenViBE::CMatrix ----- + const Eigen::RowVectorXd dumpEigenRowMatrix; + OpenViBE::CMatrix resOvRowMatrix; + EXPECT_FALSE(OpenViBE::MatrixConvert(dumpEigenRowMatrix, resOvRowMatrix)) << "Empty Eigen Row Vector can't be convert to OpenViBE Row Matrix."; + EXPECT_TRUE(OpenViBE::MatrixConvert(m_eigenRowVector, resOvRowMatrix)) << "Error During Conversion"; + for (size_t i = 0; i < m_size; ++i) { + EXPECT_DOUBLE_EQ(m_eigenRowVector(i), resOvRowMatrix[i]) + << "Matrix conversion Eigen 2 OV buffer " << i << " doesn't match : " << resOvRowMatrix[i] << " instead " << m_eigenRowVector(i); + } + + //----- OpenViBE::CMatrix -> Eigen::RowVectorXd ----- + Eigen::RowVectorXd eigenRowMatrix; + EXPECT_FALSE(OpenViBE::MatrixConvert(m_ovMatrix, eigenRowMatrix)) << "OpenViBE Matrix can't be convert to Eigen Row Vector"; + EXPECT_TRUE(OpenViBE::MatrixConvert(m_ovRowMatrix, eigenRowMatrix)) << "Error During Conversion"; + for (size_t i = 0; i < m_size; ++i) { + EXPECT_DOUBLE_EQ(m_ovRowMatrix[i], eigenRowMatrix(i)) + << "Matrix conversion OV 2 Eigen buffer " << i << " doesn't match : " << eigenRowMatrix(i) << " instead " << m_ovRowMatrix[i]; + } + + //----- std::vector<double> -> OpenViBE::CMatrix ----- + const std::vector<double> dumpVector; + OpenViBE::CMatrix resOvVectorMatrix; + EXPECT_FALSE(OpenViBE::MatrixConvert(dumpVector, resOvVectorMatrix)) << "Empty Vector can't be convert to OpenViBE Row Matrix."; + EXPECT_TRUE(OpenViBE::MatrixConvert(m_vector, resOvVectorMatrix)) << "Error During Conversion"; + for (size_t i = 0; i < m_size; ++i) { + EXPECT_DOUBLE_EQ(m_vector[i], resOvVectorMatrix[i]) + << "Matrix conversion Vector 2 OV buffer " << i << " doesn't match : " << resOvVectorMatrix[i] << " instead " << m_vector[i]; + } +} +//--------------------------------------------------------------------------------------------------- +// +//--------------------------------------------------------------------------------------------------- +TEST_F(Convert_Tests, Conversions3D) +{ + //----- Object Initialisation ----- + std::vector<Eigen::MatrixXd> in; + in.resize(2); + in[0].resize(3, 4); + in[0] << 0, 1, 2, 3, + 4, 5, 6, 7, + 8, 9, 10, 11; + in[1].resize(3, 4); + in[1] << 12, 13, 14, 15, + 16, 17, 18, 19, + 20, 21, 22, 23; + + OpenViBE::CMatrix ref0, ref1, ref2, ref3, ref4, ref5; + ref0.resize({ 2, 3, 4 }); + ref0.setBuffer(std::vector<double>{ + 0, 1, 2, 3, + 4, 5, 6, 7, + 8, 9, 10, 11, + + 12, 13, 14, 15, + 16, 17, 18, 19, + 20, 21, 22, 23 + }); + ref1.resize({ 2, 4, 3 }); + ref1.setBuffer(std::vector<double>{ + 0, 4, 8, + 1, 5, 9, + 2, 6, 10, + 3, 7, 11, + + 12, 16, 20, + 13, 17, 21, + 14, 18, 22, + 15, 19, 23 + }); + ref2.resize({ 3, 2, 4 }); + ref2.setBuffer(std::vector<double>{ + 0, 1, 2, 3, + 12, 13, 14, 15, + + 4, 5, 6, 7, + 16, 17, 18, 19, + + 8, 9, 10, 11, + 20, 21, 22, 23 + }); + ref3.resize({ 3, 4, 2 }); + ref3.setBuffer(std::vector<double>{ + 0, 12, + 1, 13, + 2, 14, + 3, 15, + + 4, 16, + 5, 17, + 6, 18, + 7, 19, + + 8, 20, + 9, 21, + 10, 22, + 11, 23 + }); + ref4.resize({ 4, 2, 3 }); + ref4.setBuffer(std::vector<double>{ + 0, 4, 8, + 12, 16, 20, + + 1, 5, 9, + 13, 17, 21, + + 2, 6, 10, + 14, 18, 22, + + 3, 7, 11, + 15, 19, 23 + }); + ref5.resize({ 4, 3, 2 }); + ref5.setBuffer(std::vector<double>{ + 0, 12, + 4, 16, + 8, 20, + + 1, 13, + 5, 17, + 9, 21, + + 2, 14, + 6, 18, + 10, 22, + + 3, 15, + 7, 19, + 11, 23 + }); + + + OpenViBE::CMatrix out0, out1, out2, out3, out4, out5; + EXPECT_TRUE(MatrixConvert(in, out0, 0)) << "Error During Conversion"; + EXPECT_TRUE(MatrixConvert(in, out1, 1)) << "Error During Conversion"; + EXPECT_TRUE(MatrixConvert(in, out2, 2)) << "Error During Conversion"; + EXPECT_TRUE(MatrixConvert(in, out3, 3)) << "Error During Conversion"; + EXPECT_TRUE(MatrixConvert(in, out4, 4)) << "Error During Conversion"; + EXPECT_TRUE(MatrixConvert(in, out5, 5)) << "Error During Conversion"; + + EXPECT_TRUE(ref0 == out0) << "Conversion Buffer doesn't match"; + EXPECT_TRUE(ref1 == out1) << "Conversion Buffer doesn't match"; + EXPECT_TRUE(ref2 == out2) << "Conversion Buffer doesn't match"; + EXPECT_TRUE(ref3 == out3) << "Conversion Buffer doesn't match"; + EXPECT_TRUE(ref4 == out4) << "Conversion Buffer doesn't match"; + EXPECT_TRUE(ref5 == out5) << "Conversion Buffer doesn't match"; +} +//--------------------------------------------------------------------------------------------------- diff --git a/modules/eigen/test/main.cpp b/modules/eigen/test/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fdba895c7cb87d2ab9d0152bf7d4df4d28164424 --- /dev/null +++ b/modules/eigen/test/main.cpp @@ -0,0 +1,15 @@ +#include "gtest/gtest.h" + +// ReSharper disable CppUnusedIncludeDirective +#include "ConvertTests.hpp" + +// ReSharper restore CppUnusedIncludeDirective + +int main(int argc, char** argv) +{ + try { + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); + } + catch (std::exception&) { return 1; } +} diff --git a/modules/geometry/CMakeLists.txt b/modules/geometry/CMakeLists.txt index 379613dec8bb36ae7f37e07ab2a5a39000ab3128..a2b055e31933175bc4cfd063e99a24e936f8247c 100644 --- a/modules/geometry/CMakeLists.txt +++ b/modules/geometry/CMakeLists.txt @@ -5,6 +5,12 @@ include_directories(include) # We use static library to allow template functions and stl object in class add_library(${PROJECT_NAME} STATIC ${SRC_FILES}) + +target_link_libraries(${PROJECT_NAME} + Boost::boost + Eigen3::Eigen +) + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} @@ -21,10 +27,6 @@ ENDIF(WIN32) ADD_DEFINITIONS(-D_USE_MATH_DEFINES) # Definition for constant math as M_PI -# OpenViBE Third Party -include("FindThirdPartyEigen") -include("FindThirdPartyBoost") - # --------------------------------- # Target macros # Defines target operating system, architecture and compiler diff --git a/modules/geometry/test/CMakeLists.txt b/modules/geometry/test/CMakeLists.txt index 18d8de523c757f68d93f1c7e7f8a59006ad19eea..2fa7195fe46f0bc044e2a55ca47db3d1a11297af 100644 --- a/modules/geometry/test/CMakeLists.txt +++ b/modules/geometry/test/CMakeLists.txt @@ -1,37 +1,20 @@ -project(test-geometry VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) +project(test-module-geometry VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) file(GLOB_RECURSE TESTS_SRC_FILES *.cpp *.hpp) add_executable(${PROJECT_NAME} ${TESTS_SRC_FILES}) -set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${TESTS_FOLDER}) # Place project in folder unit-test (for some IDE) - -# Modify library prefixes and suffixes to comply to Windows or Linux naming -if(WIN32) - set(CMAKE_FIND_LIBRARY_PREFIXES "") - set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll") -elseif(APPLE) - set(CMAKE_FIND_LIBRARY_PREFIXES "lib") - set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".a") -else() - set(CMAKE_FIND_LIBRARY_PREFIXES "lib") - set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a") -endif() - -FIND_PATH(PATH_GTEST ${CMAKE_FIND_LIBRARY_PREFIXES}gtest PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES gtest) -set(GTEST_ROOT ${PATH_GTEST}/${CMAKE_FIND_LIBRARY_PREFIXES}gtest) -FIND_PACKAGE(GTest REQUIRED) +set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${TESTS_FOLDER}) # Place project in folder unit-test (for some IDE) -target_link_libraries(${PROJECT_NAME} ${GTEST_BOTH_LIBRARIES}) -include_directories(${GTEST_INCLUDE_DIRS}) +target_link_libraries(${PROJECT_NAME} + Boost::boost + Eigen3::Eigen + GTest::GTest +) # OpenViBE Module include("FindModuleGeometry") -# OpenViBE Third Party -include("FindThirdPartyEigen") -include("FindThirdPartyBoost") - # --------------------------------- # Target macros # Defines target operating system, architecture and compiler diff --git a/modules/labstreamlayer/include/labstreamlayer/Utils.hpp b/modules/labstreamlayer/include/labstreamlayer/Utils.hpp deleted file mode 100644 index cda6ace0728114249218df4c9f17d8c4c28df4b9..0000000000000000000000000000000000000000 --- a/modules/labstreamlayer/include/labstreamlayer/Utils.hpp +++ /dev/null @@ -1,38 +0,0 @@ -///------------------------------------------------------------------------------------------------- -/// -/// \file Utils.hpp -/// \brief Utils for LSL within OpenViBE -/// \author Thomas Prampart (INRIA). -/// \version 0.0.1. -/// \date Thu Apr 1 2021. -/// -/// \copyright (C) 2021 INRIA -/// -/// This program is free software: you can redistribute it and/or modify -/// it under the terms of the GNU Affero General Public License as published -/// by the Free Software Foundation, either version 3 of the License, or -/// (at your option) any later version. -/// -/// This program is distributed in the hope that it will be useful, -/// but WITHOUT ANY WARRANTY; without even the implied warranty of -/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -/// GNU Affero General Public License for more details. -/// -/// You should have received a copy of the GNU Affero General Public License -/// along with this program. If not, see <https://www.gnu.org/licenses/>. -///------------------------------------------------------------------------------------------------- - -#pragma once - -namespace OpenViBE { -namespace LabStreamLayer { - -/// -/// \brief Get LSL relative time for an OV time -/// \param time The time in OV time referential -/// \return The time (in seconds) in lsl clock referential -double getLSLRelativeTime(const CTime& time); - - -} // namespace LabStreamLayer -} // namespace OpenViBE diff --git a/modules/labstreamlayer/src/Utils.cpp b/modules/labstreamlayer/src/Utils.cpp deleted file mode 100644 index 25b2f118d5e910e1e9003a340dcd6776f5cc1ac1..0000000000000000000000000000000000000000 --- a/modules/labstreamlayer/src/Utils.cpp +++ /dev/null @@ -1,54 +0,0 @@ -///------------------------------------------------------------------------------------------------- -/// -/// \file Utils.cpp -/// \brief Implementation of utils for LSL within OpenViBE -/// \author Thomas Prampart (INRIA). -/// \version 0.0.1. -/// \date Thu Apr 1 2021. -/// -/// \copyright (C) 2021 INRIA -/// -/// This program is free software: you can redistribute it and/or modify -/// it under the terms of the GNU Affero General Public License as published -/// by the Free Software Foundation, either version 3 of the License, or -/// (at your option) any later version. -/// -/// This program is distributed in the hope that it will be useful, -/// but WITHOUT ANY WARRANTY; without even the implied warranty of -/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -/// GNU Affero General Public License for more details. -/// -/// You should have received a copy of the GNU Affero General Public License -/// along with this program. If not, see <https://www.gnu.org/licenses/>. -///------------------------------------------------------------------------------------------------- - -#include <lsl_cpp.h> - -#include <system/ovCTime.h> -#include <openvibe/CTime.hpp> - -#include "Utils.hpp" - -namespace OpenViBE { -namespace LabStreamLayer { - -double getLSLRelativeTime(const CTime& time) -{ - const CTime ovTimeNow(System::Time::zgetTime()); - const double lslRelativeTime = lsl::local_clock(); - - double diffToCurrent; - if (time > ovTimeNow) - { - diffToCurrent = (time - ovTimeNow).toSeconds(); - } - else - { - diffToCurrent = -(ovTimeNow - time).toSeconds(); - } - - return (lslRelativeTime + diffToCurrent); -} - -} // namespace LabStreamLayer -} // namespace OpenViBE diff --git a/modules/labstreamlayer/CMakeLists.txt b/modules/lsl/CMakeLists.txt similarity index 83% rename from modules/labstreamlayer/CMakeLists.txt rename to modules/lsl/CMakeLists.txt index b09bb088c9a48da4a317550f11579f31191dfedd..0769fa45293a68796eb9b761240d7965853b53f2 100644 --- a/modules/labstreamlayer/CMakeLists.txt +++ b/modules/lsl/CMakeLists.txt @@ -1,8 +1,8 @@ -project(openvibe-module-labstreamlayer VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) +project(openvibe-module-lsl VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) set(SRC_FILES src/Utils.cpp - include/labstreamlayer/Utils.hpp) + include/lsl/Utils.hpp) add_library(${PROJECT_NAME} STATIC ${SRC_FILES}) @@ -12,7 +12,7 @@ target_link_libraries(${PROJECT_NAME} ) target_include_directories(${PROJECT_NAME} - PRIVATE include/labstreamlayer + PRIVATE include/lsl PUBLIC include) set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/plugins/processing/games/src/utils.hpp b/modules/lsl/include/lsl/Utils.hpp similarity index 51% rename from plugins/processing/games/src/utils.hpp rename to modules/lsl/include/lsl/Utils.hpp index 0fbe031eb5da71750e507253163e8f8b84091939..2b878a9242999ac37be1ef3244717f5185e87331 100644 --- a/plugins/processing/games/src/utils.hpp +++ b/modules/lsl/include/lsl/Utils.hpp @@ -1,12 +1,25 @@ ///------------------------------------------------------------------------------------------------- -/// -/// \file utils.hpp -/// \brief Defines some function to facilitate Box Management. -/// \author Thibaut Monseigne (Inria). -/// \version 1.0. -/// \date 12/03/2020. -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. -/// +/// +/// \file Utils.hpp +/// \brief Utils for LSL within OpenViBE +/// \author Thomas Prampart (Inria) & Thibaut Monseigne (Inria). +/// \version 1.0.0 +/// \date 22/11/2021. +/// +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. ///------------------------------------------------------------------------------------------------- #pragma once @@ -16,19 +29,30 @@ #include <openvibe/ov_all.h> #include <lsl_cpp.h> +namespace OpenViBE { +namespace LSL { + +//------------------------------------------------------------------------------------------------- +// Misc +//------------------------------------------------------------------------------------------------- +/// <summary> Get LSL relative time for an OV time. </summary> +/// <param name="time"> The time in OV time referential. </param> +/// <returns> The time (in seconds) in lsl clock referential. </returns> +double getLSLRelativeTime(const CTime& time); + //------------------------------------------------------------------------------------------------- // Sending //------------------------------------------------------------------------------------------------- -/// <summary> Create the stream information for signals.</summary> +/// <summary> Creates the stream information for a signal. </summary> /// <param name="name"> The name of the stream. </param> /// <param name="id"> The identifier of the stream. </param> -/// <param name="matrix"> The matrix to get infos (channel number and label).</param> -/// <param name="frequency"> The signal frequency.</param> +/// <param name="matrix"> The matrix containing signal informations (channel number and label). </param> +/// <param name="frequency"> The signal frequency. </param> /// <returns> the stream info. </returns> -lsl::stream_info createSignalStreamInfo(const std::string& name, const std::string& id, const OpenViBE::CMatrix* matrix, const size_t frequency); +lsl::stream_info createSignalStreamInfo(const std::string& name, const std::string& id, const CMatrix* matrix, const size_t frequency); -/// <summary> Create the stream information for stimulations.</summary> +/// <summary> Create the stream information for stimulations. </summary> /// <param name="name"> The name of the stream. </param> /// <param name="id"> The identifier of the stream. </param> /// <returns> the stream info. </returns> @@ -39,12 +63,12 @@ lsl::stream_info createStimulationStreamInfo(const std::string& name, const std: /// <param name="matrix"> The matrix with the signal to send. </param> /// <param name="startTime"> The start time of the signal. </param> /// <param name="endTime"> The end time of the signal. </param> -void sendSignal(lsl::stream_outlet* outlet, const OpenViBE::CMatrix* matrix, const uint64_t startTime, const uint64_t endTime); +void sendSignal(lsl::stream_outlet* outlet, const CMatrix* matrix, const uint64_t startTime, const uint64_t endTime); /// <summary> Send the stimulation in LSL outlet. </summary> /// <param name="outlet"> The LSL outlet. </param> /// <param name="stimSet">The stimulation set to send. </param> -void sendStimulation(lsl::stream_outlet* outlet, const OpenViBE::IStimulationSet* stimSet); +void sendStimulation(lsl::stream_outlet* outlet, const CStimulationSet* stimSet); //------------------------------------------------------------------------------------------------- @@ -56,7 +80,10 @@ void sendStimulation(lsl::stream_outlet* outlet, const OpenViBE::IStimulationSet /// <param name="id"> Optionally The expected ID of the stream in addition of the name. </param> /// <param name="timeout"> Optionally a timeout of the operation, in seconds (default: no timeout). /// If the timeout expires, a default stream info is returned. </param> -/// <returns></returns> +/// <returns> Found <c>lsl::stream_info</c>, empty <c>lsl::stream_info</c> if not found. </returns> lsl::stream_info findStreamInfo(const std::string& name, const std::string& id = "", const int timeout = LSL_FOREVER); +} // namespace LSL +} // namespace OpenViBE + #endif // TARGET_HAS_ThirdPartyLSL diff --git a/plugins/processing/games/src/utils.cpp b/modules/lsl/src/Utils.cpp similarity index 53% rename from plugins/processing/games/src/utils.cpp rename to modules/lsl/src/Utils.cpp index f74ad642a75fe7f9c53b130579910d7194b37002..6b7a14b1cdb70ddab2000995adfa5053019324cf 100644 --- a/plugins/processing/games/src/utils.cpp +++ b/modules/lsl/src/Utils.cpp @@ -1,10 +1,54 @@ -#include <iostream> +///------------------------------------------------------------------------------------------------- +/// +/// \file Utils.cpp +/// \brief Implementation of utils for LSL within OpenViBE +/// \author Thomas Prampart (Inria) & Thibaut Monseigne (Inria). +/// \version 1.0.0 +/// \date 22/11/2021. +/// +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +///------------------------------------------------------------------------------------------------- + #ifdef TARGET_HAS_ThirdPartyLSL -#include "utils.hpp" +#include "Utils.hpp" + +#include <system/ovCTime.h> +#include <openvibe/CTime.hpp> +#include <iostream> + +namespace OpenViBE { +namespace LSL { //------------------------------------------------------------------------------------------------- -lsl::stream_info createSignalStreamInfo(const std::string& name, const std::string& id, const OpenViBE::CMatrix* matrix, const size_t frequency) +double getLSLRelativeTime(const CTime& time) +{ + const CTime ovTimeNow(System::Time::zgetTime()); + const double lslRelativeTime = lsl::local_clock(); + + double diffToCurrent; + if (time > ovTimeNow) { diffToCurrent = (time - ovTimeNow).toSeconds(); } + else { diffToCurrent = -(ovTimeNow - time).toSeconds(); } + + return (lslRelativeTime + diffToCurrent); +} +//------------------------------------------------------------------------------------------------- + +//------------------------------------------------------------------------------------------------- +lsl::stream_info createSignalStreamInfo(const std::string& name, const std::string& id, const CMatrix* matrix, const size_t frequency) { const size_t nChannel = matrix->getDimensionSize(0); @@ -12,8 +56,7 @@ lsl::stream_info createSignalStreamInfo(const std::string& name, const std::stri lsl::stream_info res(name, "signal", int(nChannel), double(frequency), lsl::cf_float32, id); lsl::xml_element channels = res.desc().append_child("channels"); - for (size_t c = 0; c < nChannel; ++c) - { + for (size_t c = 0; c < nChannel; ++c) { const std::string tmp = matrix->getDimensionLabel(0, c); channels.append_child("channel").append_child_value("label", tmp).append_child_value("unit", "unknown").append_child_value("type", "signal"); } @@ -32,21 +75,19 @@ lsl::stream_info createStimulationStreamInfo(const std::string& name, const std: //------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------- -void sendSignal(lsl::stream_outlet* outlet, const OpenViBE::CMatrix* matrix, const uint64_t startTime, const uint64_t endTime) +void sendSignal(lsl::stream_outlet* outlet, const CMatrix* matrix, const uint64_t startTime, const uint64_t endTime) { - if (outlet->have_consumers()) - { + if (outlet->have_consumers()) { const size_t nChannel = matrix->getDimensionSize(0); const size_t nSamples = matrix->getDimensionSize(1); const double* iBuffer = matrix->getBuffer(); std::vector<float> buffer(nChannel); // note: the step computed below should be exactly the same as could be obtained from the sampling rate - const double start = OpenViBE::CTime(startTime).toSeconds(); - const double step = OpenViBE::CTime(endTime - startTime).toSeconds() / double(nSamples); + const double start = CTime(startTime).toSeconds(); + const double step = CTime(endTime - startTime).toSeconds() / double(nSamples); - for (size_t s = 0; s < nSamples; ++s) - { + for (size_t s = 0; s < nSamples; ++s) { for (size_t c = 0; c < nChannel; ++c) { buffer[c] = float(iBuffer[c * nSamples + s]); } outlet->push_sample(buffer, start + double(s) * step); } @@ -55,15 +96,12 @@ void sendSignal(lsl::stream_outlet* outlet, const OpenViBE::CMatrix* matrix, con //------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------- -void sendStimulation(lsl::stream_outlet* outlet, const OpenViBE::IStimulationSet* stimSet) +void sendStimulation(lsl::stream_outlet* outlet, const CStimulationSet* stimSet) { - if (outlet->have_consumers()) - { - for (size_t s = 0; s < stimSet->getStimulationCount(); ++s) - { - const int code = int(stimSet->getStimulationIdentifier(s)); - const double date = OpenViBE::CTime(stimSet->getStimulationDate(s)).toSeconds(); - + if (outlet->have_consumers()) { + for (size_t s = 0; s < stimSet->size(); ++s) { + const int code = int(stimSet->getId(s)); + const double date = CTime(stimSet->getDate(s)).toSeconds(); outlet->push_sample(&code, date); } } @@ -75,17 +113,19 @@ lsl::stream_info findStreamInfo(const std::string& name, const std::string& id, { // Find the signal stream const std::vector<lsl::stream_info> infos = lsl::resolve_stream("name", name, 1, timeout); - if (infos.empty()) - { + if (infos.empty()) { if (timeout != 0) { std::cerr << "Failed to find stream with name [" << name << "]\n"; } // Avoid a print if timeout is 0 return lsl::stream_info(); } - for (const auto& i : infos) - { + for (const auto& i : infos) { if (i.source_id() == id) { return i; } // This is the best one } return infos[0]; } //------------------------------------------------------------------------------------------------- + +} // namespace LSL +} // namespace OpenViBE + #endif // TARGET_HAS_ThirdPartyLSL diff --git a/modules/tcptagging/CMakeLists.txt b/modules/tcptagging/CMakeLists.txt index 0b4735179d694a59cbc0be45e79712a4812c2462..6b0bc805d8e82203ebf7a5474aaf9e65a9f90e26 100755 --- a/modules/tcptagging/CMakeLists.txt +++ b/modules/tcptagging/CMakeLists.txt @@ -8,6 +8,8 @@ add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} openvibe-common openvibe-module-system + Boost::boost + Boost::system ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -15,10 +17,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} FOLDER ${MODULES_FOLDER} COMPILE_FLAGS "-DOV_Shared -DOV_Exports") - - -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_System") # ASIO # ----------------------------- # Install files diff --git a/plugins/processing/acquisition/box-tutorials/network-acquisition.xml b/plugins/processing/acquisition/box-tutorials/network-acquisition.xml index d759fe5331eacbbcea2c60f89e0ec1d93c1c1ee4..a0489b1996cc10970212aa01c0a6b4ea1d3eabcc 100644 --- a/plugins/processing/acquisition/box-tutorials/network-acquisition.xml +++ b/plugins/processing/acquisition/box-tutorials/network-acquisition.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000029b8, 0x00004235)</Identifier> @@ -48,24 +51,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>136</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005c0f5a)</Value> @@ -170,15 +165,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -188,10 +179,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00276b19)</Value> @@ -222,24 +209,6 @@ <BoxIdentifier>(0x000044d9, 0x0000415f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>67</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>337</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>136</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>353</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002352, 0x00007dcd)</Identifier> @@ -251,24 +220,6 @@ <BoxIdentifier>(0x000044d9, 0x0000415f)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>67</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>382</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>136</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>383</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005ba9, 0x00007356)</Identifier> @@ -280,24 +231,6 @@ <BoxIdentifier>(0x000044d9, 0x0000415f)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>67</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>136</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>368</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -355,7 +288,7 @@ acquired data.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000228a, 0x0000253b)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0x000044d9, 0x0000415f)","childCount":0,"identifier":"(0x00005a9f, 0x00004ede)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00001786, 0x00000497)","index":0,"name":"Default tab","parentIdentifier":"(0x0000228a, 0x0000253b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00005f28, 0x000016db)","index":0,"name":"Empty","parentIdentifier":"(0x00001786, 0x00000497)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x0000228a, 0x0000253b)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0x000044d9, 0x0000415f)","childCount":0,"identifier":"(0x00005a9f, 0x00004ede)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00001786, 0x00000497)","index":0,"name":"Default tab","parentIdentifier":"(0x0000228a, 0x0000253b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00005f28, 0x000016db)","index":0,"name":"Empty","parentIdentifier":"(0x00001786, 0x00000497)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/artifact/CMakeLists.txt b/plugins/processing/artifact/CMakeLists.txt index 77c8470ae11f7923aab80ac4e9957829d81b23ea..c70a43da42d2b3a80da9c49677bda97b1d2f3572 100644 --- a/plugins/processing/artifact/CMakeLists.txt +++ b/plugins/processing/artifact/CMakeLists.txt @@ -1,15 +1,17 @@ PROJECT(openvibe-plugins-artifact VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.hpp src/*.h src/*.inl src/*.c) +file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.hpp) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} - openvibe-module-geometry openvibe - openvibe-common - openvibe-toolkit - openvibe-module-system - openvibe-module-xml + openvibe-common + openvibe-toolkit + openvibe-module-system + openvibe-module-xml + openvibe-module-geometry + openvibe-module-eigen + Eigen3::Eigen ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -25,9 +27,6 @@ include_directories("src") # OpenViBE Module include("FindModuleGeometry") -# OpenViBE Third Party -include("FindThirdPartyEigen") - # --------------------------------- # Target macros # Defines target operating system, architecture and compiler diff --git a/plugins/processing/artifact/box-tutorials/ASR-Processor.xml b/plugins/processing/artifact/box-tutorials/ASR-Processor.xml index 53d6f64d9379cd380c00a2b68b3fcfcd80e86e1d..1d30ae158b8cdc35cac52bca0c26d3945d2778d7 100644 --- a/plugins/processing/artifact/box-tutorials/ASR-Processor.xml +++ b/plugins/processing/artifact/box-tutorials/ASR-Processor.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -306,6 +306,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>432</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>752</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000586a, 0x00001f44)</Identifier> <Name>Time based epoching</Name> @@ -1036,85 +1113,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> @@ -1129,13 +1127,13 @@ </Target> </Link> <Link> - <Identifier>(0x00000bfd, 0x00000a7c)</Identifier> + <Identifier>(0x00000bb2, 0x00002a6d)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1150,6 +1148,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00000e80, 0x000065e9)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x000011b9, 0x00002347)</Identifier> <Source> @@ -1227,17 +1236,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000043f4, 0x0000072e)</Identifier> <Source> diff --git a/plugins/processing/artifact/box-tutorials/ASR-Trainer.xml b/plugins/processing/artifact/box-tutorials/ASR-Trainer.xml index 5bf438209f1fc9c4c6cc3e52289dcdd5992f266f..81ae270f86d0bd56fc720a0a53139531616acb66 100644 --- a/plugins/processing/artifact/box-tutorials/ASR-Trainer.xml +++ b/plugins/processing/artifact/box-tutorials/ASR-Trainer.xml @@ -1,11 +1,88 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>432</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>752</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000586a, 0x00001f44)</Identifier> <Name>Time based epoching</Name> @@ -27,7 +104,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -533,98 +610,8 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> - <Link> - <Identifier>(0x00000bfd, 0x00000a7c)</Identifier> - <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00000d01, 0x00005533)</Identifier> <Source> @@ -681,25 +668,25 @@ </Target> </Link> <Link> - <Identifier>(0x00003869, 0x000048f3)</Identifier> + <Identifier>(0x000035f7, 0x00001216)</Identifier> <Source> - <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006bd5, 0x0000489b)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> + <Identifier>(0x00003869, 0x000048f3)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006bd5, 0x0000489b)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> @@ -713,6 +700,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x0000677d, 0x00007f22)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00006db7, 0x00007acd)</Identifier> <Source> diff --git a/plugins/processing/artifact/box-tutorials/Artifact-Amplitude.xml b/plugins/processing/artifact/box-tutorials/Artifact-Amplitude.xml index 1c3487a322381fdf83d3fea188fc6fd372e708eb..4f942d7552b113451cc5d4d470f5fd9d1d1a488a 100644 --- a/plugins/processing/artifact/box-tutorials/Artifact-Amplitude.xml +++ b/plugins/processing/artifact/box-tutorials/Artifact-Amplitude.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00425137, 0xf2a30c29)</Identifier> @@ -375,7 +375,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> diff --git a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.cpp b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.cpp index 433c4467242e8e3d26575de55071109147e815e1..c3086e5a75b9f5c08e27845250f2af4856fb9cee 100644 --- a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.cpp +++ b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.cpp @@ -1,7 +1,6 @@ #include "CBoxAlgorithmASRProcessor.hpp" -//@todo put functions in this file in sdk it's duplication of file in riemann module -#include "utils/misc.hpp" // For conversion Openvibe to Eigen +#include "eigen/convert.hpp" namespace OpenViBE { namespace Plugins { @@ -79,7 +78,7 @@ bool CBoxAlgorithmASRProcessor::process() const bool newTrivial = m_asr.getTrivial(); if (!newTrivial && !prevTrivial) // We have reconstruct signal { - m_oStimulation->appendStimulation(OVTK_StimulationId_Artifact, start, 0); + m_oStimulation->push_back(OVTK_StimulationId_Artifact, start, 0); m_stimulationEncoder.encodeBuffer(); boxCtx.markOutputAsReadyToSend(0, start, end); } diff --git a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.hpp b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.hpp index a9f51ab36f49a8f13cd3885329cd97e62c80560f..d396d51f9079793c9083b4d42a71ff9cc2017ae1 100644 --- a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.hpp +++ b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRProcessor.hpp @@ -42,7 +42,7 @@ protected: //***** Pointers ***** CMatrix *m_iMatrix = nullptr, ///< Input Matrix Pointer *m_oMatrix = nullptr; ///< Output Matrix Pointer - IStimulationSet* m_oStimulation = nullptr; ///< Output Stimulation Pointer + CStimulationSet* m_oStimulation = nullptr; ///< Output Stimulation Pointer //***** ASR ***** std::string m_filename; ///< ASR Model Path diff --git a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.cpp b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.cpp index 04864d01e5cdb13270494197d684eeb59efe14a5..33182cf5f3da76095681b6680900cdbcb7ab6e38 100644 --- a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.cpp +++ b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.cpp @@ -1,7 +1,6 @@ #include "CBoxAlgorithmASRTrainer.hpp" -//@todo put functions in this file in sdk it's duplication of file in riemann module -#include "utils/misc.hpp" // For conversion Openvibe to Eigen +#include "eigen/convert.hpp" namespace OpenViBE { namespace Plugins { @@ -73,12 +72,12 @@ bool CBoxAlgorithmASRTrainer::process() } if (m_stimulationDecoder.isBufferReceived()) // Buffer received { - for (size_t j = 0; j < m_iStimulation->getStimulationCount(); ++j) + for (size_t j = 0; j < m_iStimulation->size(); ++j) { - if (m_iStimulation->getStimulationIdentifier(j) == m_stimulationName) + if (m_iStimulation->getId(j) == m_stimulationName) { OV_ERROR_UNLESS_KRF(train(), "Train or Save failed", Kernel::ErrorType::BadProcessing); - m_oStimulation->appendStimulation(OVTK_StimulationId_TrainCompleted, m_iStimulation->getStimulationDate(j), 0); + m_oStimulation->push_back(OVTK_StimulationId_TrainCompleted, m_iStimulation->getDate(j), 0); m_isTrain = true; } } diff --git a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.hpp b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.hpp index e7c8d0ca6dbbaf199ac4386717f79cc247610b26..ede6feb5221f78b33378a66364a60b0f7beb4722 100644 --- a/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.hpp +++ b/plugins/processing/artifact/src/boxes/CBoxAlgorithmASRTrainer.hpp @@ -43,7 +43,7 @@ protected: //***** Pointers ***** CMatrix* m_iMatrix = nullptr; ///< Input Matrix pointer - IStimulationSet *m_iStimulation = nullptr, ///< Stimulation receiver + CStimulationSet *m_iStimulation = nullptr, ///< Stimulation receiver *m_oStimulation = nullptr; ///< Stimulation sender //***** Settings ***** diff --git a/plugins/processing/artifact/src/utils/misc.cpp b/plugins/processing/artifact/src/utils/misc.cpp deleted file mode 100644 index ca9b239dc5e57410d1662814369f6c4c2aa59137..0000000000000000000000000000000000000000 --- a/plugins/processing/artifact/src/utils/misc.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include "utils/misc.hpp" - -//***************************************************** -//******************** CONVERSIONS ******************** -//***************************************************** -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::MatrixXd& out) -{ - if (in.getDimensionCount() != 2) { return false; } - out.resize(in.getDimensionSize(0), in.getDimensionSize(1)); - - // double loop to avoid the problem of row major and column major storage - size_t idx = 0; - const double* buffer = in.getBuffer(); - for (size_t i = 0, nR = out.rows(); i < nR; ++i) { for (size_t j = 0, nC = out.cols(); j < nC; ++j) { out(i, j) = buffer[idx++]; } } - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const Eigen::MatrixXd& in, OpenViBE::CMatrix& out) -{ - if (in.rows() == 0 || in.cols() == 0) { return false; } - const size_t nR = in.rows(), nC = in.cols(); - MatrixResize(out, nR, nC); - - // double loop to avoid the problem of row major and column major storage - size_t idx = 0; - double* buffer = out.getBuffer(); - for (size_t i = 0; i < nR; ++i) { for (size_t j = 0; j < nC; ++j) { buffer[idx++] = in(i, j); } } - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const Eigen::RowVectorXd& in, OpenViBE::CMatrix& out) -{ - if (in.size() == 0) { return false; } - VectorResize(out, in.size()); - //one row system copy doesn't cause problem - memcpy(out.getBuffer(), in.data(), out.getBufferElementCount() * sizeof(double)); - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::RowVectorXd& out) -{ - if (in.getDimensionCount() != 1) { return false; } - out.resize(in.getDimensionSize(0)); - //one row system copy doesn't cause problem - memcpy(out.data(), in.getBuffer(), in.getBufferElementCount() * sizeof(double)); - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const std::vector<double>& in, OpenViBE::CMatrix& out) -{ - if (in.empty()) { return false; } - VectorResize(out, in.size()); - //one row system copy doesn't cause problem - memcpy(out.getBuffer(), in.data(), out.getBufferElementCount() * sizeof(double)); - return true; -} -//--------------------------------------------------------------------------------------------------- - -//*********************************************************** -//******************** MATRIX MANAGEMENT ******************** -//*********************************************************** -//--------------------------------------------------------------------------------------------------- -bool MatrixInit(OpenViBE::CMatrix& m, const size_t rows, size_t columns) -{ - if (columns < 1) { columns = rows; } - MatrixResize(m, rows, columns); - m.resetBuffer(); // Set to 0 - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixResize(OpenViBE::CMatrix& m, const size_t rows, size_t columns) -{ - if (columns < 1) { columns = rows; } - if (m.getDimensionCount() != 2 || m.getDimensionSize(0) != rows || m.getDimensionSize(1) != columns) - { - m.setDimensionCount(2); - m.setDimensionSize(0, rows); - m.setDimensionSize(1, columns); - - // CHange label to have 1 to N label on row and column (Square Matrix Feature) - for (size_t i = 0; i < rows; ++i) { m.setDimensionLabel(0, i, std::to_string(i + 1).c_str()); } - } - return true; -} -//--------------------------------------------------------------------------------------------------- - -//*********************************************************** -//******************** VECTOR MANAGEMENT ******************** -//*********************************************************** -//--------------------------------------------------------------------------------------------------- -bool VectorInit(OpenViBE::CMatrix& m, const size_t n) -{ - VectorResize(m, n); - m.resetBuffer(); // Set to 0 - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool VectorResize(OpenViBE::CMatrix& m, const size_t n) -{ - if (m.getDimensionCount() != 1 || m.getDimensionSize(0) != n) - { - m.setDimensionCount(1); - m.setDimensionSize(0, n); - } - return true; -} -//--------------------------------------------------------------------------------------------------- diff --git a/plugins/processing/artifact/src/utils/misc.hpp b/plugins/processing/artifact/src/utils/misc.hpp deleted file mode 100644 index 89b5213eaf58beb2a02cf40730229a4ed3b282b1..0000000000000000000000000000000000000000 --- a/plugins/processing/artifact/src/utils/misc.hpp +++ /dev/null @@ -1,71 +0,0 @@ -///------------------------------------------------------------------------------------------------- -/// -/// \file misc.hpp -/// \brief All functions to Convert OpenViBE::CMatrix and Eigen::MatrixXd, links to Eigen function, manipulate OpenVibe::CMatrix and more. -/// \author Thibaut Monseigne (Inria). -/// \version 1.0. -/// \date 26/10/2018. -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. -/// -///------------------------------------------------------------------------------------------------- - -#pragma once - -#include <openvibe/ov_all.h> -#include <Eigen/Dense> - -//***************************************************** -//******************** Conversions ******************** -//***************************************************** -/// <summary> Convert OpenViBE Matrix to Eigen Matrix. </summary> -/// <param name="in"> The Eigen Matrix. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::MatrixXd& out); - -/// <summary> Convert Eigen Matrix to OpenViBE Matrix (It doesn't use Memory::copy because of Eigne store in column major by default). </summary> -/// <param name="in"> The Eigen Matrix. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const Eigen::MatrixXd& in, OpenViBE::CMatrix& out); - -/// <summary> Convert Eigen Row Vector to OpenViBE Matrix with one dimension. </summary> -/// <param name="in"> The Eigen Row Vector. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const Eigen::RowVectorXd& in, OpenViBE::CMatrix& out); - -/// <summary> Convert OpenViBE Matrix with one dimension to Eigen Row Vector. </summary> -/// <param name="in"> The OpenVibe Matrix. </param> -/// <param name="out"> The Eigen Row Vector. </param> -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::RowVectorXd& out); - -/// <summary> Convertvector double to OpenViBE Matrix with one dimension. </summary> -/// <param name="in"> The Vector of double. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const std::vector<double>& in, OpenViBE::CMatrix& out); - -//*********************************************************** -//******************** Matrix Management ******************** -//*********************************************************** -/// <summary>Initialize the matrix (do not create objects).</summary> -/// <param name="m">The matrix to initialize.</param> -/// <param name="rows">The number of rows.</param> -/// <param name="columns">The number of columns (if < 1 Init to a Square Matrix) .</param> -bool MatrixInit(OpenViBE::CMatrix& m, size_t rows = 2, size_t columns = 0); - -/// <summary>Resize the matrix (do not create objects).</summary> -/// <param name="m">The matrix to resize.</param> -/// <param name="rows">The number of rows.</param> -/// <param name="columns">The number of columns (if < 1 resize to a Square Matrix) .</param> -bool MatrixResize(OpenViBE::CMatrix& m, size_t rows = 2, size_t columns = 0); - -//*********************************************************** -//******************** Vector Management ******************** -//*********************************************************** -/// <summary>Initialize the vector (matrix with one dimension) (do not create objects).</summary> -/// <param name="m">The vector to initialize.</param> -/// <param name="n">The number of elements.</param> -bool VectorInit(OpenViBE::CMatrix& m, size_t n = 2); - -/// <summary>Resize the vector (matrix with one dimension) (do not create objects).</summary> -/// <param name="m">The vector to resize.</param> -/// <param name="n">The number of elements.</param> -bool VectorResize(OpenViBE::CMatrix& m, size_t n = 2); diff --git a/plugins/processing/artifact/test/scenarios-tests/ASR-Processor-test.xml b/plugins/processing/artifact/test/scenarios-tests/ASR-Processor-test.xml index 1f3bec919994eeedce2f01c1b16356eeccd71902..a115fd3e7a6a5c6d6c172c363d3d2b3bf2674f70 100644 --- a/plugins/processing/artifact/test/scenarios-tests/ASR-Processor-test.xml +++ b/plugins/processing/artifact/test/scenarios-tests/ASR-Processor-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00425137, 0xf2a30c29)</Identifier> @@ -49,11 +49,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>560</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>944</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -193,6 +193,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>816</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000586a, 0x00001f44)</Identifier> <Name>Time based epoching</Name> @@ -253,7 +330,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x00007dde, 0x00001445)</Identifier> + <Identifier>(0x00007f20, 0x000052b3)</Identifier> <Name>CSV File Writer</Name> <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> <Inputs> @@ -299,7 +376,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>608</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -307,7 +384,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -465,11 +542,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>608</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>944</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -559,128 +636,60 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000bfd, 0x00000a7c)</Identifier> + <Identifier>(0x000017f2, 0x00004d57)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x000026cd, 0x00007e87)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x00001182, 0x00005e08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000017f2, 0x00004d57)</Identifier> + <Identifier>(0x00002551, 0x0000620c)</Identifier> <Source> - <BoxIdentifier>(0x000026cd, 0x00007e87)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001182, 0x00005e08)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002551, 0x0000620c)</Identifier> + <Identifier>(0x0000259d, 0x000059f3)</Identifier> <Source> - <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> + <Identifier>(0x0000313f, 0x00004b30)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x00001182, 0x00005e08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> + <BoxIdentifier>(0x00007f20, 0x000052b3)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003144, 0x000023cd)</Identifier> + <Source> + <BoxIdentifier>(0x00001182, 0x00005e08)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00007f20, 0x000052b3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -707,24 +716,13 @@ </Target> </Link> <Link> - <Identifier>(0x000060a3, 0x00005f0d)</Identifier> + <Identifier>(0x0000620a, 0x0000007a)</Identifier> <Source> - <BoxIdentifier>(0x00001182, 0x00005e08)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007dde, 0x00001445)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00006a9f, 0x00004bba)</Identifier> - <Source> - <BoxIdentifier>(0x00001182, 0x00005e08)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00007dde, 0x00001445)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/artifact/test/scenarios-tests/ASR-Trainer-test.xml b/plugins/processing/artifact/test/scenarios-tests/ASR-Trainer-test.xml index 5cbdf90f54a7008d21a4f92a8f2d3b09756871a5..1f4e36734c73a097dcf2695a155c2e4207a4b9b5 100644 --- a/plugins/processing/artifact/test/scenarios-tests/ASR-Trainer-test.xml +++ b/plugins/processing/artifact/test/scenarios-tests/ASR-Trainer-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00425137, 0xf2a30c29)</Identifier> @@ -71,6 +71,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>736</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000586a, 0x00001f44)</Identifier> <Name>Time based epoching</Name> @@ -92,7 +169,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -552,95 +629,16 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000bfd, 0x00000a7c)</Identifier> + <Identifier>(0x000003c8, 0x00003586)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -710,17 +708,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000043f4, 0x0000072e)</Identifier> <Source> @@ -743,6 +730,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x0000788e, 0x00000de3)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> </Links> <Comments> <Comment> diff --git a/plugins/processing/artifact/test/scenarios-tests/Artifact-Amplitude-test.xml b/plugins/processing/artifact/test/scenarios-tests/Artifact-Amplitude-test.xml index d218c3cc51835041be84b9ac57c2034ec70bd64c..9ef270dca390f316ca47a1126e68c9ee97f7cbe3 100644 --- a/plugins/processing/artifact/test/scenarios-tests/Artifact-Amplitude-test.xml +++ b/plugins/processing/artifact/test/scenarios-tests/Artifact-Amplitude-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00425137, 0xf2a30c29)</Identifier> @@ -161,7 +161,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -228,7 +228,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/classification/CMakeLists.txt b/plugins/processing/classification/CMakeLists.txt index e36e81d2c50a0c4ce8e84ce158599a9eda684388..09ff7d6b3250c7217d27605cccc0d3ae98569e67 100755 --- a/plugins/processing/classification/CMakeLists.txt +++ b/plugins/processing/classification/CMakeLists.txt @@ -6,11 +6,12 @@ add_library(${PROJECT_NAME} SHARED ${SRC_FILES} "../../../contrib/packages/libSVM/svm.h") target_link_libraries(${PROJECT_NAME} - openvibe - openvibe-common - openvibe-toolkit - openvibe-module-ebml - openvibe-module-xml + openvibe + openvibe-common + openvibe-toolkit + openvibe-module-ebml + openvibe-module-xml + Eigen3::Eigen ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -21,8 +22,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) -include("FindThirdPartyEigen") - # --------------------------------- # Test applications # --------------------------------- diff --git a/plugins/processing/classification/src/box-algorithms/ovpCBoxAlgorithmOutlierRemoval.cpp b/plugins/processing/classification/src/box-algorithms/ovpCBoxAlgorithmOutlierRemoval.cpp index 53916005bf5392823c052e6ce1ffbf2d8030c509..4d493fd641f178bc1db35129b6b436d6200bbea7 100644 --- a/plugins/processing/classification/src/box-algorithms/ovpCBoxAlgorithmOutlierRemoval.cpp +++ b/plugins/processing/classification/src/box-algorithms/ovpCBoxAlgorithmOutlierRemoval.cpp @@ -121,10 +121,10 @@ bool CBoxAlgorithmOutlierRemoval::process() } if (m_stimDecoder.isBufferReceived()) { - const IStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); - for (uint32_t s = 0; s < stimSet->getStimulationCount(); ++s) + const CStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); + for (uint32_t s = 0; s < stimSet->size(); ++s) { - if (stimSet->getStimulationIdentifier(s) == m_trigger) + if (stimSet->getId(s) == m_trigger) { std::vector<feature_vector_t> pruned; if (!pruneSet(pruned)) { return false; } @@ -138,7 +138,7 @@ bool CBoxAlgorithmOutlierRemoval::process() } const uint64_t halfSecondHack = CTime(0.5).time(); - m_triggerTime = stimSet->getStimulationDate(s) + halfSecondHack; + m_triggerTime = stimSet->getDate(s) + halfSecondHack; } } @@ -146,7 +146,7 @@ bool CBoxAlgorithmOutlierRemoval::process() if (m_triggerTime >= boxContext.getInputChunkStartTime(0, i) && m_triggerTime < boxContext.getInputChunkEndTime(0, i)) { - m_stimEncoder.getInputStimulationSet()->appendStimulation(m_trigger, m_triggerTime, 0); + m_stimEncoder.getInputStimulationSet()->push_back(m_trigger, m_triggerTime, 0); m_triggerTime = -1LL; } diff --git a/plugins/processing/classification/test/LDA-Native-Test.xml b/plugins/processing/classification/test/LDA-Native-Test.xml index 627b4f4298456205a0004d016eb81afec589f535..3ac6932bad113475c8fa9bb5c6920b8871b9ae4a 100644 --- a/plugins/processing/classification/test/LDA-Native-Test.xml +++ b/plugins/processing/classification/test/LDA-Native-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>1024</Value> </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>528</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>528</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1024</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>1024</Value> </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,7 +984,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>-256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1208,7 +1164,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1236,11 +1192,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1272,196 +1228,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1614,100 +1380,32 @@ <Name>Switch stim for output 3</Name> <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1715,23 +1413,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,397 +1492,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2210,28 +1802,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2254,39 +1824,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/LDA-OneVsAll-Test.xml b/plugins/processing/classification/test/LDA-OneVsAll-Test.xml index 2e5418580e3c59b67765e14a1d042ac19acefb81..b453a1e097a2afa95776b445ba36cc19f82ca258 100644 --- a/plugins/processing/classification/test/LDA-OneVsAll-Test.xml +++ b/plugins/processing/classification/test/LDA-OneVsAll-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>640</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>800</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>800</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1120</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>1136</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1120</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1208,7 +1164,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1236,11 +1192,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1272,196 +1228,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>896</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1614,100 +1380,32 @@ <Name>Switch stim for output 3</Name> <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>1008</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1715,23 +1413,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,397 +1492,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2210,28 +1802,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2254,39 +1824,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/LDA-OneVsOne-HT-Test.xml b/plugins/processing/classification/test/LDA-OneVsOne-HT-Test.xml index 14e4dde65a19dea3e76970d8f50d60355289372f..13808bb452bf1085ca2aeb4976592e8dcb1a1fb8 100644 --- a/plugins/processing/classification/test/LDA-OneVsOne-HT-Test.xml +++ b/plugins/processing/classification/test/LDA-OneVsOne-HT-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>704</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1008</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>992</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1008</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>1200</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,14 +1115,21 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0xbe9eba5c, 0xa8415d37)</TypeIdentifier> <Name>Multiclass strategy to apply</Name> <DefaultValue>Native</DefaultValue> - <Value>Native</Value> + <Value>OneVsOne</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79146976, 0xd7f01a25)</TypeIdentifier> + <Name>Pairwise Decision Strategy</Name> + <DefaultValue>PKPD</DefaultValue> + <Value>HT</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1208,7 +1171,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1236,11 +1199,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1272,196 +1235,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1487,7 +1260,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1292,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1576,7 +1349,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1357,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1614,100 +1387,32 @@ <Name>Switch stim for output 3</Name> <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>1072</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1715,23 +1420,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1762,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>992</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,397 +1499,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2210,28 +1809,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2254,39 +1831,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/LDA-OneVsOne-PKPD-Test.xml b/plugins/processing/classification/test/LDA-OneVsOne-PKPD-Test.xml index 5a1a1244f1980bf6d3285ab84cb96ef3d4e8d59b..e1af2b8777fc2d3dbbd030051064a3e2066f77cc 100644 --- a/plugins/processing/classification/test/LDA-OneVsOne-PKPD-Test.xml +++ b/plugins/processing/classification/test/LDA-OneVsOne-PKPD-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1168</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>560</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>960</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>960</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1168</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1280</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1168</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1168</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1280</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1215,7 +1171,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1243,11 +1199,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1279,196 +1235,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1494,7 +1260,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1526,11 +1292,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1583,7 +1349,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1591,7 +1357,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1622,99 +1388,31 @@ <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>928</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1722,23 +1420,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1769,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1801,397 +1499,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2217,28 +1809,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2261,39 +1831,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/LDA-OneVsOne-Voting-Test.xml b/plugins/processing/classification/test/LDA-OneVsOne-Voting-Test.xml index 2d133ad614888a3854791b67e9fef36f6cbfd281..f192df3cfe217fcd3d7701bbaed7c3b22725dccc 100644 --- a/plugins/processing/classification/test/LDA-OneVsOne-Voting-Test.xml +++ b/plugins/processing/classification/test/LDA-OneVsOne-Voting-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>560</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1232</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>736</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>736</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1232</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1232</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1232</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1215,7 +1171,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1243,11 +1199,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1279,196 +1235,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1494,7 +1260,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1526,11 +1292,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>832</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1583,7 +1349,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1591,7 +1357,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1622,99 +1388,31 @@ <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>928</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1722,23 +1420,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1769,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1088</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1801,397 +1499,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2217,28 +1809,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2261,39 +1831,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/MLP-Native-Test.xml b/plugins/processing/classification/test/MLP-Native-Test.xml index 068b90c4a6686be23d07b30966d4813873e796c7..b1da1ea3ecf69f67078c9f497c2b6bf3ac771198 100644 --- a/plugins/processing/classification/test/MLP-Native-Test.xml +++ b/plugins/processing/classification/test/MLP-Native-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>560</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1104</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1104</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1215,7 +1171,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Learning coefficient</Name> <DefaultValue>0.010000</DefaultValue> - <Value>0.010000</Value> + <Value>0.0100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1236,11 +1192,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>992</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1272,196 +1228,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1200</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1631,83 +1397,15 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1715,23 +1413,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,239 +1492,122 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000292d, 0x00005c56)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00003c35, 0x0000722e)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -2035,120 +1616,109 @@ </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> - <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006406, 0x00004d5a)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> @@ -2156,134 +1726,101 @@ </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> - <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> - <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x55200f87, 0x00b3c658)</Identifier> + <Identifier>(0x00006bbe, 0x00007e3b)</Identifier> <Source> <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x0000765e, 0x00003a2d)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x731aa1b4, 0x14c8e6c0)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000a)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/MLP-OneVsAll-Test.xml b/plugins/processing/classification/test/MLP-OneVsAll-Test.xml index aadd1d21b7eec07b7666f92062317fe14d4c8e43..d6e8d5a5a843a4eae1934dee9a1f093a9963beee 100644 --- a/plugins/processing/classification/test/MLP-OneVsAll-Test.xml +++ b/plugins/processing/classification/test/MLP-OneVsAll-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1712</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1712</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1712</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -868,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -906,7 +862,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -931,7 +887,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -994,7 +950,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1712</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,26 +1013,26 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1120,7 +1076,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x56fbfd1a, 0x2c474c9e)</Identifier> + <Identifier>(0x56fbfd1a, 0x2c474c9f)</Identifier> <Name>Classifier trainer</Name> <AlgorithmClassIdentifier>(0xf3dae8a8, 0x3b444154)</AlgorithmClassIdentifier> <Inputs> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1199,254 +1155,60 @@ </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Number of neurons in hidden layer</Name> - <DefaultValue>3</DefaultValue> - <Value>3</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Learning stop condition</Name> - <DefaultValue>0.000001</DefaultValue> - <Value>0.000001</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Learning coefficient</Name> - <DefaultValue>0.010000</DefaultValue> - <Value>0.010000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Number of partitions for k-fold cross-validation test</Name> - <DefaultValue>10</DefaultValue> - <Value>3</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Balance classes</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x9de21779, 0x37776c89)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x082a348e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>5</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> + <Name>Number of neurons in hidden layer</Name> + <DefaultValue>3</DefaultValue> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> + <Name>Learning stop condition</Name> + <DefaultValue>0.000001</DefaultValue> + <Value>0.000001</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> + <Name>Learning coefficient</Name> + <DefaultValue>0.010000</DefaultValue> + <Value>0.0100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Number of partitions for k-fold cross-validation test</Name> + <DefaultValue>10</DefaultValue> + <Value>3</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Balance classes</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x9de21779, 0x37776c89)</Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x082a348e)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1454,16 +1216,20 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>5</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1312</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1556,7 +1322,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1631,11 +1397,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1668,75 +1434,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,496 +1492,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x0000292d, 0x00005c56)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003c35, 0x0000722e)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00006406, 0x00004d5a)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9f)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x55200f87, 0x00b3c658)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x00006bbe, 0x00007e3b)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9f)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x0000765e, 0x00003a2d)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x731aa1b4, 0x14c8e6c0)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/MLP-OneVsOne-HT-Test.xml b/plugins/processing/classification/test/MLP-OneVsOne-HT-Test.xml index 4dcf321db724cb499f6b187f64e0ae2128eca54a..30483cb6bc4960f94cad2caeb8c7499095a5486b 100644 --- a/plugins/processing/classification/test/MLP-OneVsOne-HT-Test.xml +++ b/plugins/processing/classification/test/MLP-OneVsOne-HT-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>144</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1248</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1248</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,332 +353,140 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -621,38 +495,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -660,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -678,133 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,33 +725,36 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1568</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1344</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1515,75 +1281,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> + <Identifier>(0x6cc6b8a7, 0x009107fc)</Identifier> <Name>Classifier trainer</Name> <AlgorithmClassIdentifier>(0xf3dae8a8, 0x3b444154)</AlgorithmClassIdentifier> <Inputs> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1685,7 +1383,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Learning coefficient</Name> <DefaultValue>0.010000</DefaultValue> - <Value>0.010000</Value> + <Value>0.0100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1706,11 +1404,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1735,7 +1433,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1761,11 +1459,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1793,496 +1491,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00003512, 0x00002372)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x000036ae, 0x00003297)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> - <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005f77, 0x00006b2c)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x000065fc, 0x000010ea)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x000067ac, 0x00004ac8)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/MLP-OneVsOne-PKPD-Test.xml b/plugins/processing/classification/test/MLP-OneVsOne-PKPD-Test.xml index 20761966d0cf02000f05c2e09da4a8072a7c83c6..288117eaf89170f1daeae988628a3d71ffaab19c 100644 --- a/plugins/processing/classification/test/MLP-OneVsOne-PKPD-Test.xml +++ b/plugins/processing/classification/test/MLP-OneVsOne-PKPD-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>64</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1984</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1488</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1488</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,332 +353,140 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1984</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -621,38 +495,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1808</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -660,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -678,133 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1696</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,14 +725,21 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -906,15 +750,11 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1984</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1984</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1808</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1515,75 +1281,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> + <Identifier>(0x6cc6b8a7, 0x009107fc)</Identifier> <Name>Classifier trainer</Name> <AlgorithmClassIdentifier>(0xf3dae8a8, 0x3b444154)</AlgorithmClassIdentifier> <Inputs> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1685,7 +1383,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Learning coefficient</Name> <DefaultValue>0.010000</DefaultValue> - <Value>0.010000</Value> + <Value>0.0100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1706,11 +1404,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1735,7 +1433,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1761,11 +1459,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1840</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1793,496 +1491,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00003512, 0x00002372)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x000036ae, 0x00003297)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> - <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005f77, 0x00006b2c)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x000065fc, 0x000010ea)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x000067ac, 0x00004ac8)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/MLP-OneVsOne-Voting-Test.xml b/plugins/processing/classification/test/MLP-OneVsOne-Voting-Test.xml index 2ddee62cbcb282cade7ced50ec03be0d08e602d4..0852d4739245a5d17fdb71eb851f89ebef9a9e10 100644 --- a/plugins/processing/classification/test/MLP-OneVsOne-Voting-Test.xml +++ b/plugins/processing/classification/test/MLP-OneVsOne-Voting-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-128</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,332 +353,140 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -621,38 +495,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -660,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -678,133 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> + <Attributes> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-32</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>384</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,33 +725,36 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>496</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1515,75 +1281,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> + <Identifier>(0x6cc6b8a7, 0x009107fc)</Identifier> <Name>Classifier trainer</Name> <AlgorithmClassIdentifier>(0xf3dae8a8, 0x3b444154)</AlgorithmClassIdentifier> <Inputs> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1685,7 +1383,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Learning coefficient</Name> <DefaultValue>0.010000</DefaultValue> - <Value>0.010000</Value> + <Value>0.0100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1706,11 +1404,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1735,7 +1433,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1761,11 +1459,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1793,496 +1491,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00003512, 0x00002372)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x000036ae, 0x00003297)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> - <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005f77, 0x00006b2c)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x000065fc, 0x000010ea)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x000067ac, 0x00004ac8)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/ProcessorBox-Test.xml b/plugins/processing/classification/test/ProcessorBox-Test.xml index dc8b61fe5aef6fa31a81d49f4ae0d2c333a577c3..ef4da0dd07209ba8b2537fc5945054626eb542bd 100644 --- a/plugins/processing/classification/test/ProcessorBox-Test.xml +++ b/plugins/processing/classification/test/ProcessorBox-Test.xml @@ -1,170 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x00002a98, 0x00002419)</Identifier> - <Name>Classifier processor</Name> - <AlgorithmClassIdentifier>(0x5fe23d17, 0x95b0452c)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Features</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Commands</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Labels</Name> - </Output> - <Output> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Hyperplane distance</Name> - </Output> - <Output> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Probability values</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename to load configuration from</Name> - <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>824.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa6c8e548, 0x9e3e405b)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x0395189b, 0x591ac716)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>832</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> - </Output> - </Outputs> - <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -175,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-416.000000</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x01fc5cdc)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -199,157 +79,88 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002d8c2b)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024.000000</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002fb5d3)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002f2f96)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -358,119 +169,79 @@ </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00306e59)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_ExperimentStop</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1264</Value> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00e9c456)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -479,58 +250,62 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00002a98, 0x00002419)</Identifier> + <Name>Classifier processor</Name> + <AlgorithmClassIdentifier>(0x5fe23d17, 0x95b0452c)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Features</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Commands</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Labels</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Hyperplane distance</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Probability values</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename to load configuration from</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xa6c8e548, 0x9e3e405b)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002dadb9)</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -538,182 +313,134 @@ </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576.000000</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>96</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x003009b5)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024.000000</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>96</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002f0e0c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002e33f4)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -726,60 +453,60 @@ </Attributes> </Box> <Box> - <Identifier>(0x586cf9e7, 0x6d237ab1)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.0</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.0</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32</Value> + <Value>-288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1616</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -787,16 +514,12 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x586cf9e7, 0x6d237ab2)</Identifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> <Name>SBE</Name> <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> @@ -820,14 +543,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>6.0</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -841,15 +564,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -866,7 +589,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x586cf9e7, 0x6d237ab3)</Identifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> <Name>SBE</Name> <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> @@ -890,14 +613,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>6.0</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -911,15 +634,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -936,180 +659,60 @@ </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a686e8)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48.000000</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040.000000</Value> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00aada32)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1117,109 +720,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> - <Name>Target Separator</Name> - <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6c)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New input</Name> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>New output</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> - <Name>Lua Script</Name> - <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Targets</Name> - <DefaultValue></DefaultValue> - <Value>0 1 2 3</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Non Targets</Name> - <DefaultValue></DefaultValue> - <Value>4</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_ExperimentStop</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Output Stimulation</Name> - <DefaultValue>OVTK_StimulationId_Target</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224.000000</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xd6e3f48b, 0xbee3523a)</Value> - </Attribute> - <Attribute> - <Identifier>(0x61d11811, 0x71e65362)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05f87eff)</Value> + <Value>1728</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00e9c456)</Value> </Attribute> <Attribute> - <Identifier>(0xf191c1c8, 0xa0123976)</Identifier> - <Value></Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x69694af8, 0x660910b0)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1253,11 +816,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1265,7 +828,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1282,7 +845,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x69694af8, 0x660910b1)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1316,11 +879,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1328,7 +891,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1345,7 +908,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x69694af8, 0x660910b2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1379,11 +942,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1391,7 +954,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1408,38 +971,41 @@ </Attributes> </Box> <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> + <Value>1616</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1447,24 +1013,16 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002e5580)</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> @@ -1476,58 +1034,92 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> - <Name>Feature aggregator</Name> - <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> + <Name>Target Separator</Name> + <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Input stream 2</Name> - </Input> - <Input> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Input stream 3</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>New input</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Feature vector stream</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>New output</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> + <Name>Lua Script</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Targets</Name> + <DefaultValue></DefaultValue> + <Value>0 1 2 3</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Non Targets</Name> + <DefaultValue></DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Output Stimulation</Name> + <DefaultValue>OVTK_StimulationId_Target</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464.000000</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816.000000</Value> + <Value>1392</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> + <Value>(0xd6e3f48b, 0xbee3523a)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00358b00)</Value> + <Identifier>(0x61d11811, 0x71e65362)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0ea3ceab)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xf191c1c8, 0xa0123976)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0xfba64161, 0x65304e21)</Identifier> <Value></Value> @@ -1535,106 +1127,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> + <Name>Feature aggregator</Name> + <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream 2</Name> + </Input> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream 3</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Feature vector stream</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00d82340)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a1be2c)</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000d40, 0x0000227e)</Identifier> + <Identifier>(0x0000046f, 0x000071e4)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -1643,311 +1199,245 @@ </Target> </Link> <Link> - <Identifier>(0x0320c11e, 0x1b68eecf)</Identifier> - <Source> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x69694af8, 0x660910b1)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x061244ea, 0x18e7b34d)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0db12c02, 0x46276680)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab2)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0feb30d8, 0x3efd0678)</Identifier> + <Identifier>(0x00001313, 0x000070b5)</Identifier> <Source> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> - <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x16651ad1, 0x74ed4cb2)</Identifier> - <Source> - <BoxIdentifier>(0x69694af8, 0x660910b0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x20b59fd3, 0x365a5fb2)</Identifier> - <Source> - <BoxIdentifier>(0x69694af8, 0x660910b1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x261a3eee, 0x77861569)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3208e3be, 0x063695ef)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab1)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x32459cc7, 0x2e6c8a61)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3d9c7414, 0x1797bc39)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x43d3068e, 0x3b38c150)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5637cb92, 0x12e6bda8)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x58d2a1bf, 0x1938cd14)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5f021a55, 0x6e32cb97)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x69694af8, 0x660910b2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6730ee40, 0x5b6e36b3)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x69694af8, 0x660910b2)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e622b80, 0x7182a0fb)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x69694af8, 0x660910b0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x71fe4dc1, 0x79b7a49b)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x586cf9e7, 0x6d237ab3)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x72027a61, 0x386ab7ec)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x76bcfde0, 0x58320fe3)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x0395189b, 0x591ac716)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> </Links> diff --git a/plugins/processing/classification/test/SVM-Native-Test.xml b/plugins/processing/classification/test/SVM-Native-Test.xml index 03c7b996a2ad1d11dc9e492cc759cf64fb2c86aa..5f38f80d5bc96bcefb7fa2fe39bf286d7ef2f265 100644 --- a/plugins/processing/classification/test/SVM-Native-Test.xml +++ b/plugins/processing/classification/test/SVM-Native-Test.xml @@ -1,39 +1,135 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> + <Name>Output signal</Name> </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1504</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> + <Value>1648</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> <Value></Value> </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1792</Value> + </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,32 +241,28 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> @@ -103,11 +272,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -136,38 +305,33 @@ </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -175,24 +339,16 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> @@ -204,37 +360,39 @@ </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -247,37 +405,39 @@ </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -290,130 +450,105 @@ </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1616</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -421,16 +556,12 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> <Name>SBE</Name> <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> @@ -454,14 +585,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>6.00</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -475,336 +606,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,33 +725,36 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1792</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1616</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1392</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1514,74 +1280,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> <Name>Classifier trainer</Name> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1664,7 +1362,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon</Name> <DefaultValue>0.100000</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1706,35 +1404,35 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon tolerance</Name> <DefaultValue>0.001000</DefaultValue> - <Value>0.001000</Value> + <Value>0.0010</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cost</Name> <DefaultValue>1.000000</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cache size</Name> <DefaultValue>100.000000</DefaultValue> - <Value>100.000000</Value> + <Value>100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Gamma</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Nu</Name> <DefaultValue>0.500000</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1748,7 +1446,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Coef 0</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1769,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1798,7 +1496,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1824,11 +1522,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1856,283 +1554,144 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x0000041c, 0x0000785c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000499, 0x000061a2)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> - <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00004c1d, 0x000021be)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> @@ -2141,211 +1700,189 @@ </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005094, 0x00004918)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005f5d, 0x00002a36)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/SVM-OneVsAll-Test.xml b/plugins/processing/classification/test/SVM-OneVsAll-Test.xml index 6fe40ae9e3d582ff228d23e669a8bfecfeba127f..fb1276e09b286289a2fdc0844442ff33572185d1 100644 --- a/plugins/processing/classification/test/SVM-OneVsAll-Test.xml +++ b/plugins/processing/classification/test/SVM-OneVsAll-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>64</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1824</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1328</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1328</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,332 +353,140 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1824</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -621,38 +495,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -660,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -678,133 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>160</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1536</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,14 +725,21 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -906,15 +750,11 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1824</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1824</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1648</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1514,74 +1280,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> <Name>Classifier trainer</Name> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1664,7 +1362,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon</Name> <DefaultValue>0.100000</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1706,35 +1404,35 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon tolerance</Name> <DefaultValue>0.001000</DefaultValue> - <Value>0.001000</Value> + <Value>0.0010</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cost</Name> <DefaultValue>1.000000</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cache size</Name> <DefaultValue>100.000000</DefaultValue> - <Value>100.000000</Value> + <Value>100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Gamma</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Nu</Name> <DefaultValue>0.500000</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1748,7 +1446,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Coef 0</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1769,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1798,7 +1496,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1824,11 +1522,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1680</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1856,283 +1554,144 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00001010, 0x0000273c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003e39, 0x00002f3d)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00004466, 0x000016c5)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> @@ -2141,211 +1700,189 @@ </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x000055de, 0x00003514)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x000059b1, 0x000036c0)</Identifier> <Source> <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> - <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/SVM-OneVsOne-HT-Test.xml b/plugins/processing/classification/test/SVM-OneVsOne-HT-Test.xml index 450472fdbe808b7978590e0e41b30ece1e3bddc1..a6f1bc1d0436d47ba7fab88809b6c61a567a571b 100644 --- a/plugins/processing/classification/test/SVM-OneVsOne-HT-Test.xml +++ b/plugins/processing/classification/test/SVM-OneVsOne-HT-Test.xml @@ -1,39 +1,135 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> + <Name>Output signal</Name> </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-96</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1328</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> + <Value>1472</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> <Value></Value> </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-96</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1616</Value> + </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,32 +241,28 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> @@ -103,11 +272,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1120</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -136,38 +305,33 @@ </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1120</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -175,24 +339,16 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> @@ -204,37 +360,39 @@ </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1616</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -247,37 +405,39 @@ </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -290,130 +450,105 @@ </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>-256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1440</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -421,16 +556,12 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> <Name>SBE</Name> <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> @@ -454,14 +585,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>6.00</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -475,336 +606,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>0</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1328</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,33 +725,36 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1616</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1616</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output stream 2</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>-192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1440</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1514,74 +1280,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> <Name>Classifier trainer</Name> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1671,7 +1369,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon</Name> <DefaultValue>0.100000</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1713,35 +1411,35 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon tolerance</Name> <DefaultValue>0.001000</DefaultValue> - <Value>0.001000</Value> + <Value>0.0010</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cost</Name> <DefaultValue>1.000000</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cache size</Name> <DefaultValue>100.000000</DefaultValue> - <Value>100.000000</Value> + <Value>100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Gamma</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Nu</Name> <DefaultValue>0.500000</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1755,7 +1453,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Coef 0</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1776,11 +1474,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1805,7 +1503,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1831,11 +1529,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1863,496 +1561,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> - <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x000020c8, 0x000023af)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x00002c9e, 0x00004b6a)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x000030e5, 0x0000028b)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x00006a80, 0x00001167)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> + <Identifier>(0x00006fd9, 0x00006a52)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/SVM-OneVsOne-PKPD-Test.xml b/plugins/processing/classification/test/SVM-OneVsOne-PKPD-Test.xml index 00a7757d9b15f1fa9deb4cc10ed4f80fa3963d0a..044e3d6992f251e96058f780b4f5fc1b68313153 100644 --- a/plugins/processing/classification/test/SVM-OneVsOne-PKPD-Test.xml +++ b/plugins/processing/classification/test/SVM-OneVsOne-PKPD-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-64</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1152</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1152</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,332 +353,140 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -621,38 +495,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -660,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -678,133 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>32</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1360</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,33 +725,36 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1648</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1472</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1248</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1514,74 +1280,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> <Name>Classifier trainer</Name> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1671,7 +1369,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon</Name> <DefaultValue>0.100000</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1713,35 +1411,35 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon tolerance</Name> <DefaultValue>0.001000</DefaultValue> - <Value>0.001000</Value> + <Value>0.0010</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cost</Name> <DefaultValue>1.000000</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cache size</Name> <DefaultValue>100.000000</DefaultValue> - <Value>100.000000</Value> + <Value>100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Gamma</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Nu</Name> <DefaultValue>0.500000</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1755,7 +1453,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Coef 0</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1776,11 +1474,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1805,7 +1503,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1831,11 +1529,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1863,496 +1561,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x000009ef, 0x00005e8d)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x0000230d, 0x000060a5)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x00006aa2, 0x00001515)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00007adf, 0x0000611a)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x00007f33, 0x0000205c)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/SVM-OneVsOne-Voting-Test.xml b/plugins/processing/classification/test/SVM-OneVsOne-Voting-Test.xml index f9e343c8dd493bae455b838212ce1cfcfe779aa4..9872930172479d3d30163922c91aaa033ffaf28f 100644 --- a/plugins/processing/classification/test/SVM-OneVsOne-Voting-Test.xml +++ b/plugins/processing/classification/test/SVM-OneVsOne-Voting-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1440</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-128</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1728</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1232</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1232</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,332 +353,140 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1728</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1440</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> - </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -621,38 +495,48 @@ </Attributes> </Box> <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -660,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -678,133 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-32</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1440</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,70 +622,97 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> @@ -888,33 +725,36 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1</Value> + <Value>6</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> + <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1728</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -922,66 +762,56 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> - <Name>TBE</Name> - <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> @@ -994,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1440</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,72 +887,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Epoched signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> + <Name>TBE</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> @@ -1132,73 +962,41 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1728</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1206,7 +1004,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -1215,102 +1013,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output stream 2</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1552</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1334,7 +1100,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1366,11 +1132,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1403,7 +1169,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1423,7 +1189,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1431,7 +1197,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1478,11 +1244,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1514,74 +1280,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6cc6b8a7, 0x009107fb)</Identifier> <Name>Classifier trainer</Name> @@ -1622,7 +1320,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1671,7 +1369,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon</Name> <DefaultValue>0.100000</DefaultValue> - <Value>0.100000</Value> + <Value>0.1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1713,35 +1411,35 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epsilon tolerance</Name> <DefaultValue>0.001000</DefaultValue> - <Value>0.001000</Value> + <Value>0.0010</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cost</Name> <DefaultValue>1.000000</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Cache size</Name> <DefaultValue>100.000000</DefaultValue> - <Value>100.000000</Value> + <Value>100</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Gamma</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Nu</Name> <DefaultValue>0.500000</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1755,7 +1453,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Coef 0</Name> <DefaultValue>0.000000</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1776,11 +1474,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1805,7 +1503,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1831,11 +1529,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1584</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1863,496 +1561,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> - <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00002024, 0x000013ce)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00003832, 0x00000df2)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b6efc47, 0x124752a0)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005d9a, 0x00003c1b)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x41d9829b, 0x337dd17a)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x000075b1, 0x00000e49)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x00007762, 0x00001d24)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6df2fe24, 0x30612cfa)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7235ba99, 0x1acc9f60)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x748cf7b0, 0x1007a9de)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6cc6b8a7, 0x009107fb)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/configuration/temporal-filter-freq-1.cfg b/plugins/processing/classification/test/configuration/temporal-filter-freq-1.cfg index 1387fee1eac6a56dee8be6db60869702ea83bce6..6524bb98cee7bb75c4bcdf3b0a66de288751661c 100644 --- a/plugins/processing/classification/test/configuration/temporal-filter-freq-1.cfg +++ b/plugins/processing/classification/test/configuration/temporal-filter-freq-1.cfg @@ -1,8 +1,6 @@ <OpenViBE-SettingsOverride> -<SettingValue>Butterworth</SettingValue> <SettingValue>Band pass</SettingValue> <SettingValue>4</SettingValue> <SettingValue>19.75</SettingValue> <SettingValue>20.25</SettingValue> -<SettingValue>0.500000</SettingValue> </OpenViBE-SettingsOverride> diff --git a/plugins/processing/classification/test/configuration/temporal-filter-freq-2.cfg b/plugins/processing/classification/test/configuration/temporal-filter-freq-2.cfg index 964b9bde1fd623178be7a47aa2d09066439179f4..361e8b82c292aea707c94c064aab6afa70e2b50a 100644 --- a/plugins/processing/classification/test/configuration/temporal-filter-freq-2.cfg +++ b/plugins/processing/classification/test/configuration/temporal-filter-freq-2.cfg @@ -1,8 +1,6 @@ <OpenViBE-SettingsOverride> -<SettingValue>Butterworth</SettingValue> <SettingValue>Band pass</SettingValue> <SettingValue>4</SettingValue> <SettingValue>14.75</SettingValue> <SettingValue>15.25</SettingValue> -<SettingValue>0.500000</SettingValue> </OpenViBE-SettingsOverride> diff --git a/plugins/processing/classification/test/configuration/temporal-filter-freq-3.cfg b/plugins/processing/classification/test/configuration/temporal-filter-freq-3.cfg index f1f947bfba1fbb40224a829e1a8f42fb4c962a57..c0ce3c0ebfb047aaa60f88285732d2242edac76a 100644 --- a/plugins/processing/classification/test/configuration/temporal-filter-freq-3.cfg +++ b/plugins/processing/classification/test/configuration/temporal-filter-freq-3.cfg @@ -1,8 +1,6 @@ <OpenViBE-SettingsOverride> -<SettingValue>Butterworth</SettingValue> <SettingValue>Band pass</SettingValue> <SettingValue>4</SettingValue> <SettingValue>11.75</SettingValue> <SettingValue>12.25</SettingValue> -<SettingValue>0.500000</SettingValue> </OpenViBE-SettingsOverride> diff --git a/plugins/processing/classification/test/sLDA-Native-Test.xml b/plugins/processing/classification/test/sLDA-Native-Test.xml index a0ffa607e7c328edf14893ec4fc127c42b2460d3..a044a9b9c767a69f3ce737c6b2f9947c78d36e30 100644 --- a/plugins/processing/classification/test/sLDA-Native-Test.xml +++ b/plugins/processing/classification/test/sLDA-Native-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-144</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>656</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>656</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1152</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>-240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1208,7 +1164,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1222,7 +1178,7 @@ <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>Number of partitions for k-fold cross-validation test</Name> <DefaultValue>10</DefaultValue> - <Value>10</Value> + <Value>5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1236,11 +1192,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1272,196 +1228,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1615,99 +1381,31 @@ <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1715,23 +1413,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,397 +1492,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2210,28 +1802,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2254,39 +1824,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/sLDA-OneVsAll-Test.xml b/plugins/processing/classification/test/sLDA-OneVsAll-Test.xml index 22bc80ad8e1cd7c77a6e93eb17f0dc2f75d44a19..f45eb716b5b5ec1692ea3add72a760eb35d83072 100644 --- a/plugins/processing/classification/test/sLDA-OneVsAll-Test.xml +++ b/plugins/processing/classification/test/sLDA-OneVsAll-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>0</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -906,7 +862,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1472</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1208,7 +1164,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1236,11 +1192,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1272,196 +1228,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1072</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1617,97 +1383,29 @@ <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>368</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1715,23 +1413,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,397 +1492,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2210,28 +1802,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2254,39 +1824,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/sLDA-OneVsOne-HT-Test.xml b/plugins/processing/classification/test/sLDA-OneVsOne-HT-Test.xml index a0ffa607e7c328edf14893ec4fc127c42b2460d3..90ab6258d1c3a0258c3446c71c515bd1082f4764 100644 --- a/plugins/processing/classification/test/sLDA-OneVsOne-HT-Test.xml +++ b/plugins/processing/classification/test/sLDA-OneVsOne-HT-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1408</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>96</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1200</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1200</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1408</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3b)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1520</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40f)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1408</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a410)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1552</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a411)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6b)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -868,7 +824,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f0)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f3)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1408</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -931,7 +887,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f1)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f4)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -994,7 +950,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x4f494c33, 0x2f8af0f2)</Identifier> + <Identifier>(0x4f494c33, 0x2f8af0f5)</Identifier> <Name>TBE</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1696</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1057,26 +1013,26 @@ </Attributes> </Box> <Box> - <Identifier>(0x50eef0f8, 0x07c4a998)</Identifier> + <Identifier>(0x50eef0f8, 0x07c4a999)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>0</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1520</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1208,245 +1164,51 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> <Name>Shrinkage: Force diagonal cov (DDA)</Name> <DefaultValue>false</DefaultValue> - <Value>false</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Number of partitions for k-fold cross-validation test</Name> - <DefaultValue>10</DefaultValue> - <Value>10</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Balance classes</Name> - <DefaultValue>false</DefaultValue> - <Value>false</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x9de21779, 0x37776c89)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x082a348e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>5</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Number of partitions for k-fold cross-validation test</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Balance classes</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x9de21779, 0x37776c89)</Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x082a348e)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1454,16 +1216,20 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>5</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x6292a294, 0x629905c2)</Identifier> + <Identifier>(0x6292a294, 0x629905c3)</Identifier> <Name>Target Separator</Name> <AlgorithmClassIdentifier>(0x0b5a2787, 0x02750621)</AlgorithmClassIdentifier> <Inputs> @@ -1487,7 +1253,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1519,11 +1285,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1556,7 +1322,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x68c7947c, 0x0be24bfd)</Identifier> + <Identifier>(0x68c7947c, 0x0be24bfe)</Identifier> <Name>Stream Switch</Name> <AlgorithmClassIdentifier>(0x556a2c32, 0x61df49fc)</AlgorithmClassIdentifier> <Inputs> @@ -1576,7 +1342,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1584,7 +1350,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1631,11 +1397,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1668,75 +1434,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x72a5f195, 0x5ef1cbbb)</Identifier> + <Identifier>(0x72a5f195, 0x5ef1cbbc)</Identifier> <Name>Feature aggregator</Name> <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> <Inputs> @@ -1762,11 +1460,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1794,496 +1492,335 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> - <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> - <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3b)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x000035b6, 0x000069cd)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2a62aa62, 0x22b9aa6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x00003b8b, 0x00006fb9)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00003dd9, 0x000031e9)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000473e, 0x000023cb)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x00005299, 0x0000422d)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfe)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a999)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x55200f87, 0x00b3c658)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x584f1915, 0x72e8000a)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbc)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5c)</Identifier> <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd8)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> - <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x731aa1b4, 0x14c8e6c0)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a28)</Identifier> <Source> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2a62aa62, 0x22b9aa6a)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> + <Identifier>(0x40d7538e, 0x517635f9)</Identifier> <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c3)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a410)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0f)</Identifier> <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f3)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> + <Identifier>(0x584f1915, 0x72e8000b)</Identifier> <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a411)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/classification/test/sLDA-OneVsOne-PKPD-Test.xml b/plugins/processing/classification/test/sLDA-OneVsOne-PKPD-Test.xml index 0d604493b76e365ace04db3fed356a8df173ec49..d3369e0ea691e83483dae1107a7f371729fb6e6f 100644 --- a/plugins/processing/classification/test/sLDA-OneVsOne-PKPD-Test.xml +++ b/plugins/processing/classification/test/sLDA-OneVsOne-PKPD-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-112</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1248</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1248</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1456</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1744</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>-208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1215,7 +1171,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1243,11 +1199,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1279,196 +1235,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1494,7 +1260,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1526,11 +1292,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1344</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1583,7 +1349,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1591,7 +1357,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1622,99 +1388,31 @@ <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1722,23 +1420,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1769,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1600</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1801,397 +1499,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2217,28 +1809,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2261,39 +1831,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/sLDA-OneVsOne-Voting-Test.xml b/plugins/processing/classification/test/sLDA-OneVsOne-Voting-Test.xml index 4e66602cd8dafadf897eba66a4fb98e235153e74..8ed5da7d294c8c8259a84e03fec31b22efb93f5a 100644 --- a/plugins/processing/classification/test/sLDA-OneVsOne-Voting-Test.xml +++ b/plugins/processing/classification/test/sLDA-OneVsOne-Voting-Test.xml @@ -1,39 +1,54 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - <Output> - <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> - <Name>Output stream 4</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -44,23 +59,19 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0605dd92)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-1.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -68,34 +79,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x08ab469c, 0x10c9257e)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a85)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output stream 2</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> @@ -103,87 +140,100 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-2.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x0e30ed60, 0x478cbcea)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00000bcc, 0x00007a86)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-80</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1465e)</Value> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>${Player_ScenarioDirectory}/configuration/temporal-filter-freq-3.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -191,50 +241,54 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x1300340f, 0x7c5de533)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c6)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1008</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c9d9cd)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,40 +298,52 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x219be4a9, 0x6e609516)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x000041d8, 0x000004c7)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1008</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00acd187)</Value> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -287,251 +353,190 @@ <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a1)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a2)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> - <Name>SBE</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Identifier>(0x0000646c, 0x000059a3)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>6.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1.00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Target</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x27849ab5, 0x2467a8be)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> + <Identifier>(0x03dba115, 0x4c1f8a3a)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + <Output> + <TypeIdentifier>(0x013df452, 0xa3a8879a)</TypeIdentifier> + <Name>Output stream 4</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-ssvep-training.ov</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> + <Value>-240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -539,15 +544,11 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b22076)</Value> + <Value>(0x00000000, 0x0605dd92)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -557,118 +558,63 @@ <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40c)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> - </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>736</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0504c48f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x348c88da, 0x652055d3)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897a)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -676,67 +622,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x3a95d3c2, 0x6a571226)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40d)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00bc8c12)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -744,67 +692,69 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x415522f9, 0x54a34c1d)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x2655c041, 0x15f4a40e)</Identifier> + <Name>SBE</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Target</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00a83b22)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -812,54 +762,60 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x4b0bfe3e, 0x2c3a7e5c)</Identifier> - <Name>Sg Avg</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> + <Identifier>(0x2a62aa62, 0x22b9aa6a)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b24205)</Value> + <Value>(0x00000000, 0x0504c48f)</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -902,11 +858,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>1216</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -914,7 +870,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -965,11 +921,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -977,7 +933,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1028,11 +984,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1504</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1040,7 +996,7 @@ </Attribute> <Attribute> <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/time-based-epoching.cfg</Value> + <Value>${Player_ScenarioDirectory}/configuration/time-based-epoching.cfg</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1062,21 +1018,21 @@ <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Input stream 1</Name> </Input> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input stream 2</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> <Name>Output stream 1</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> </Output> </Outputs> @@ -1087,11 +1043,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-304</Value> + <Value>-176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>1328</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1159,7 +1115,7 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename to save configuration to</Name> <DefaultValue>${Path_UserData}/my-classifier.xml</DefaultValue> - <Value>${__volatile_ScenarioDir}/classifiers/multiclass.xml</Value> + <Value>${Player_ScenarioDirectory}/classifiers/multiclass.xml</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1215,7 +1171,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1243,11 +1199,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>800.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752.000000</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1279,196 +1235,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x5b1d76cb, 0x6835d27c)</Identifier> - <Name>Frequency 1</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>19.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-1.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02babeb3)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x617e3b04, 0x389397c3)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>11.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-3.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02bf65dd)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x6292a294, 0x629905c2)</Identifier> <Name>Target Separator</Name> @@ -1494,7 +1260,7 @@ <TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier> <Name>Lua Script</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/scripts/classifier-training-target-separator.lua</Value> + <Value>${Player_ScenarioDirectory}/scripts/classifier-training-target-separator.lua</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1526,11 +1292,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-192</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1040</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1583,7 +1349,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> @@ -1591,7 +1357,7 @@ </Output> <Output> <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>New output</Name> + <Name>New output(1)</Name> </Output> </Outputs> <Settings> @@ -1621,100 +1387,32 @@ <Name>Switch stim for output 3</Name> <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_02</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Switch stim for output 4</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_03</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x545d0657, 0x3d7c83bd)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x05ab8e92)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x6a466752, 0x377577fa)</Identifier> - <Name>DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> + <Modifiability>false</Modifiability> + </Setting> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Switch stim for output 4</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_03</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>288</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> + <Value>(0x545d0657, 0x3d7c83bd)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -1722,23 +1420,23 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00b1897c)</Value> + <Value>(0x00000000, 0x05ab8e92)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -1769,11 +1467,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>496</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> + <Value>1360</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1801,397 +1499,291 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x77b12090, 0x54b29ceb)</Identifier> - <Name>Frequency 2</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>14.75</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>15.25</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>816</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>${__volatile_ScenarioDir}/configuration/temporal-filter-freq-2.cfg</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x02a4db23)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x002085f0, 0x093d76aa)</Identifier> + <Identifier>(0x00000750, 0x00007192)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04329ceb, 0x2cf6df50)</Identifier> + <Identifier>(0x00000dbf, 0x00000a19)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> + <Identifier>(0x000011f0, 0x00001ba1)</Identifier> <Source> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxOutputIndex>3</BoxOutputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> - <BoxInputIndex>3</BoxInputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x06905dfd, 0x0a12e4a2)</Identifier> + <Identifier>(0x000017f0, 0x00001a31)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x093ee378, 0x0cc15dc1)</Identifier> + <Identifier>(0x00001856, 0x00003e7f)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0a82bc9b, 0x3c86bcb2)</Identifier> + <Identifier>(0x00001941, 0x000005ea)</Identifier> <Source> <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> + <Identifier>(0x00002bf0, 0x0000520c)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> + <Identifier>(0x0000391f, 0x0000535d)</Identifier> <Source> - <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a2)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x0fde6938, 0x073faacc)</Identifier> + <Identifier>(0x00003b0c, 0x00004fa5)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a85)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x108f620a, 0x42852322)</Identifier> + <Identifier>(0x00003e54, 0x000015ec)</Identifier> <Source> - <BoxIdentifier>(0x415522f9, 0x54a34c1d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1118727e, 0x6f863744)</Identifier> + <Identifier>(0x000040fd, 0x000022b5)</Identifier> <Source> <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x193c114b, 0x342ed15a)</Identifier> + <Identifier>(0x00004dc4, 0x000063ae)</Identifier> <Source> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1c461535, 0x7875bdfc)</Identifier> + <Identifier>(0x00005232, 0x000054a6)</Identifier> <Source> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1cb1dca9, 0x2a29b454)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x325f4e16, 0x625e47f2)</Identifier> + <Identifier>(0x000056a2, 0x00005ae5)</Identifier> <Source> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x000041d8, 0x000004c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3462baac, 0x38e87e3d)</Identifier> + <Identifier>(0x00005a71, 0x000019e0)</Identifier> <Source> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x36027112, 0x64a902ec)</Identifier> + <Identifier>(0x00005c80, 0x0000557f)</Identifier> <Source> - <BoxIdentifier>(0x27849ab5, 0x2467a8be)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> + <Identifier>(0x0000641e, 0x00005527)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3b7312f4, 0x77397f87)</Identifier> + <Identifier>(0x0000655f, 0x00005f8d)</Identifier> <Source> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a86)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3ca3abc4, 0x0a806458)</Identifier> + <Identifier>(0x000068de, 0x00007645)</Identifier> <Source> - <BoxIdentifier>(0x4b0bfe3e, 0x2c3a7e5c)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a1)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3e008c71, 0x0cd9cd75)</Identifier> + <Identifier>(0x00006918, 0x00002fca)</Identifier> <Source> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x0000646c, 0x000059a3)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x6a466752, 0x377577fa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x3f26a677, 0x2c5938b4)</Identifier> + <Identifier>(0x04425bf5, 0x3335d8a7)</Identifier> <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x68c7947c, 0x0be24bfd)</BoxIdentifier> + <BoxOutputIndex>3</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5b1d76cb, 0x6835d27c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x56fbfd1a, 0x2c474c9e)</BoxIdentifier> + <BoxInputIndex>3</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x40d7538e, 0x517635f8)</Identifier> + <Identifier>(0x0be130d9, 0x31dafc5b)</Identifier> <Source> <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x42167938, 0x4902a522)</Identifier> + <Identifier>(0x0c87fc45, 0x0d5aebd7)</Identifier> <Source> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>2</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> + <Identifier>(0x387c2225, 0x40ad5a27)</Identifier> <Source> - <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x4cf017e6, 0x6f427a81)</Identifier> + <Identifier>(0x40d7538e, 0x517635f8)</Identifier> <Source> - <BoxIdentifier>(0x3a95d3c2, 0x6a571226)</BoxIdentifier> + <BoxIdentifier>(0x6292a294, 0x629905c2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x219be4a9, 0x6e609516)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x2655c041, 0x15f4a40d)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x54945c07, 0x687a21d8)</Identifier> + <Identifier>(0x4aa9c16f, 0x348ddb0e)</Identifier> <Source> - <BoxIdentifier>(0x617e3b04, 0x389397c3)</BoxIdentifier> + <BoxIdentifier>(0x2655c041, 0x15f4a40c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2655c041, 0x15f4a40e)</BoxIdentifier> + <BoxIdentifier>(0x4f494c33, 0x2f8af0f0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2217,28 +1809,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x5d5f0c4c, 0x0e749b92)</Identifier> - <Source> - <BoxIdentifier>(0x1300340f, 0x7c5de533)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0e30ed60, 0x478cbcea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6e39519e, 0x1cc44306)</Identifier> - <Source> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x77b12090, 0x54b29ceb)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x72ae14cf, 0x7201ea84)</Identifier> <Source> @@ -2261,39 +1831,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7a1da790, 0x4294f3e2)</Identifier> - <Source> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x08ab469c, 0x10c9257e)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7ab00c9e, 0x145c672c)</Identifier> - <Source> - <BoxIdentifier>(0x348c88da, 0x652055d3)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x72a5f195, 0x5ef1cbbb)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x7b7335e3, 0x11d94d61)</Identifier> - <Source> - <BoxIdentifier>(0x03dba115, 0x4c1f8a3a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x50eef0f8, 0x07c4a998)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments></Comments> <Metadata> diff --git a/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda.xml b/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda.xml index 6a39bd75a582a58d82ffb4c6057fc8ace5770b24..bcb822f6e14deac64a1ac9d659b2bb7a852506e2 100644 --- a/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda.xml +++ b/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -84,7 +84,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -112,11 +112,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -191,11 +191,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -252,7 +252,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>672</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -354,7 +354,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -448,7 +448,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -456,7 +456,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -498,7 +498,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -506,7 +506,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -565,7 +565,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -616,7 +616,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -679,7 +679,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -730,7 +730,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -790,7 +790,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>608</Value> + <Value>640</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> diff --git a/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda_rot.xml b/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda_rot.xml index aac9be39bf13d9b75a5d02337d5b851b2b462b9f..92cc6e9a7745408e40cff2a322dd9e57c75d75f5 100644 --- a/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda_rot.xml +++ b/plugins/processing/classification/test/shrinkageLDA/shrinkage_lda_rot.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -84,7 +84,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -112,11 +112,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>608</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -191,11 +191,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>480</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -354,7 +354,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -382,11 +382,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -448,7 +448,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -456,7 +456,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -498,7 +498,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -506,7 +506,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -565,7 +565,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -616,7 +616,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -679,7 +679,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -730,7 +730,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/data-generation/test/SinusOscillator.xml b/plugins/processing/data-generation/test/SinusOscillator.xml index 9b71512d5947af400d638f76c91f43f189de4ab1..a45ea5c2bdf0aed1de929d5b6a1b1686772e4b93 100644 --- a/plugins/processing/data-generation/test/SinusOscillator.xml +++ b/plugins/processing/data-generation/test/SinusOscillator.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x009a83cc, 0x6d4983ad)</Identifier> @@ -18,7 +21,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -34,10 +37,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>112</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>27</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>432</Value> @@ -46,10 +45,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>129</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -91,10 +86,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>176</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>27</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>432</Value> @@ -103,10 +94,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>134</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -155,10 +142,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>112</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>27</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>240</Value> @@ -167,10 +150,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0b214ed8, 0x1f9ad83a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>119</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -219,10 +198,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>192</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>42</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>240</Value> @@ -235,14 +210,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>3</Value> @@ -265,24 +232,6 @@ <BoxIdentifier>(0x4f2ecd7a, 0x0d717b09)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>132</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>166</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x2c1ae6b9, 0x7658f20c)</Identifier> @@ -294,24 +243,6 @@ <BoxIdentifier>(0x34167481, 0x00bd5f19)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>132</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>158</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>432</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -319,7 +250,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x08ca2fb9, 0x39407d4e)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x068798dd, 0x7b740a24)","index":0,"name":"Default tab","parentIdentifier":"(0x08ca2fb9, 0x39407d4e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x24c82442, 0x11487bbf)","index":0,"name":"Empty","parentIdentifier":"(0x068798dd, 0x7b740a24)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x08ca2fb9, 0x39407d4e)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x068798dd, 0x7b740a24)","index":0,"name":"Default tab","parentIdentifier":"(0x08ca2fb9, 0x39407d4e)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x24c82442, 0x11487bbf)","index":0,"name":"Empty","parentIdentifier":"(0x068798dd, 0x7b740a24)","type":0}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.cpp b/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.cpp index 013199cf7dad30a4220ebcab5bd4a82c2f044752..fe87b844e29c07cf93bf7284e6fa8dbf81f5747a 100644 --- a/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.cpp +++ b/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.cpp @@ -47,19 +47,19 @@ bool CAlgorithmConfusionMatrix::uninitialize() bool CAlgorithmConfusionMatrix::process() { - const size_t nClass = size_t(ip_classesCodes->getStimulationCount()); + const size_t nClass = size_t(ip_classesCodes->size()); if (this->isInputTriggerActive(OVP_Algorithm_ConfusionMatrixAlgorithm_InputTriggerId_ResetTarget)) { - for (size_t i = 0; i < ip_classesCodes->getStimulationCount(); ++i) + for (size_t i = 0; i < ip_classesCodes->size(); ++i) { - this->getLogManager() << Kernel::LogLevel_Trace << "class code " << i << ": " << ip_classesCodes->getStimulationIdentifier(i) << "\n"; + this->getLogManager() << Kernel::LogLevel_Trace << "class code " << i << ": " << ip_classesCodes->getId(i) << "\n"; } m_nClassificationAttemptPerClass.clear(); - for (size_t i = 0; i < ip_classesCodes->getStimulationCount(); ++i) + for (size_t i = 0; i < ip_classesCodes->size(); ++i) { - m_nClassificationAttemptPerClass.insert(std::make_pair(ip_classesCodes->getStimulationIdentifier(i), 0)); + m_nClassificationAttemptPerClass.insert(std::make_pair(ip_classesCodes->getId(i), 0)); } if (ip_useSums) { op_confusionMatrix->resize(nClass + 1, nClass + 1); } @@ -68,7 +68,7 @@ bool CAlgorithmConfusionMatrix::process() for (size_t i = 0; i < nClass; ++i) { const char* name = this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, - ip_classesCodes->getStimulationIdentifier(i)).toASCIIString(); + ip_classesCodes->getId(i)).toASCIIString(); op_confusionMatrix->setDimensionLabel(0, i, (std::string("Target Class\n") + name)); op_confusionMatrix->setDimensionLabel(1, i, (std::string("Result Class\n") + name)); } @@ -99,12 +99,12 @@ bool CAlgorithmConfusionMatrix::process() if (this->isInputTriggerActive(OVP_Algorithm_ConfusionMatrixAlgorithm_InputTriggerId_FeedTarget)) { - for (size_t s = 0; s < ip_targetStimSet->getStimulationCount(); ++s) + for (size_t s = 0; s < ip_targetStimSet->size(); ++s) { - uint64_t id = ip_targetStimSet->getStimulationIdentifier(s); + uint64_t id = ip_targetStimSet->getId(s); if (isClass(id)) { - uint64_t date = ip_targetStimSet->getStimulationDate(s); + uint64_t date = ip_targetStimSet->getDate(s); m_targetsTimeLines.insert(std::pair<uint64_t, uint64_t>(date, id)); getLogManager() << Kernel::LogLevel_Trace << "Current target is " << m_targetsTimeLines.rbegin()->second << "\n"; } @@ -114,17 +114,17 @@ bool CAlgorithmConfusionMatrix::process() if (this->isInputTriggerActive(OVP_Algorithm_ConfusionMatrixAlgorithm_InputTriggerId_FeedClassifier)) { - for (size_t s = 0; s < ip_classifierStimSet->getStimulationCount(); ++s) + for (size_t s = 0; s < ip_classifierStimSet->size(); ++s) { //We need to locate the stimulation on the timeline - uint64_t id = ip_classifierStimSet->getStimulationIdentifier(s); + uint64_t id = ip_classifierStimSet->getId(s); if (!isClass(id))//If we don't have { getLogManager() << Kernel::LogLevel_Trace << "The result received is not a valid class: " << id << "\n"; continue; } uint64_t targeted = 0; - const uint64_t date = ip_classifierStimSet->getStimulationDate(s); + const uint64_t date = ip_classifierStimSet->getDate(s); bool found = false; for (auto it = m_targetsTimeLines.begin(); it != m_targetsTimeLines.end() && !found; ++it) @@ -203,13 +203,13 @@ bool CAlgorithmConfusionMatrix::process() bool CAlgorithmConfusionMatrix::isClass(const uint64_t id) const { - for (size_t i = 0; i < ip_classesCodes->getStimulationCount(); ++i) { if (ip_classesCodes->getStimulationIdentifier(i) == id) { return true; } } + for (size_t i = 0; i < ip_classesCodes->size(); ++i) { if (ip_classesCodes->getId(i) == id) { return true; } } return false; } size_t CAlgorithmConfusionMatrix::getClassIndex(const uint64_t id) const { - for (size_t i = 0; i < ip_classesCodes->getStimulationCount(); ++i) { if (ip_classesCodes->getStimulationIdentifier(i) == id) { return i; } } + for (size_t i = 0; i < ip_classesCodes->size(); ++i) { if (ip_classesCodes->getId(i) == id) { return i; } } return -1; } diff --git a/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.h b/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.h index b2c86bcfa6e08c86ec90f66dc4f2c2d90467510e..8e488efeef6800563e821bdaa36d937ec52d7ff2 100644 --- a/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.h +++ b/plugins/processing/evaluation/src/algorithms/ovpCAlgorithmConfusionMatrix.h @@ -27,15 +27,15 @@ protected: Kernel::TParameterHandler<bool> ip_useSums; // input TARGET - Kernel::TParameterHandler<IStimulationSet*> ip_targetStimSet; + Kernel::TParameterHandler<CStimulationSet*> ip_targetStimSet; // deduced timeline: std::map<uint64_t, uint64_t> m_targetsTimeLines; // input CLASSIFIER - Kernel::TParameterHandler<IStimulationSet*> ip_classifierStimSet; + Kernel::TParameterHandler<CStimulationSet*> ip_classifierStimSet; //CONFUSION MATRIX computing - Kernel::TParameterHandler<IStimulationSet*> ip_classesCodes; + Kernel::TParameterHandler<CStimulationSet*> ip_classesCodes; Kernel::TParameterHandler<CMatrix*> op_confusionMatrix; CMatrix m_confusionMatrix; // the values, not percentage diff --git a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmClassifierAccuracyMeasure.cpp b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmClassifierAccuracyMeasure.cpp index 44cadcc600d485077407b3c6b51c4d227d8edbde..bffe5c16e5a08fa76d29dd8ccac9964e194b8ac4 100644 --- a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmClassifierAccuracyMeasure.cpp +++ b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmClassifierAccuracyMeasure.cpp @@ -176,11 +176,11 @@ bool CBoxAlgorithmClassifierAccuracyMeasure::process() { //buffer received //A new target comes, let's update the timeline with it - const IStimulationSet* dstStimSet = m_targetStimDecoder.getOutputStimulationSet(); - for (size_t s = 0; s < dstStimSet->getStimulationCount(); ++s) + const CStimulationSet* dstStimSet = m_targetStimDecoder.getOutputStimulationSet(); + for (size_t s = 0; s < dstStimSet->size(); ++s) { - const uint64_t id = dstStimSet->getStimulationIdentifier(s); - const uint64_t date = dstStimSet->getStimulationDate(s); + const uint64_t id = dstStimSet->getId(s); + const uint64_t date = dstStimSet->getDate(s); m_targetsTimeLines.insert(std::pair<uint64_t, uint64_t>(date, id)); getLogManager() << Kernel::LogLevel_Trace << "New target inserted (" << id << "," << CTime(date) << ")\n"; } @@ -214,12 +214,12 @@ bool CBoxAlgorithmClassifierAccuracyMeasure::process() if (m_classifierStimDecoders[ip - 1]->isBufferReceived()) { //buffer received - const IStimulationSet* stimSet = m_classifierStimDecoders[ip - 1]->getOutputStimulationSet(); - for (size_t s = 0; s < stimSet->getStimulationCount(); ++s) + const CStimulationSet* stimSet = m_classifierStimDecoders[ip - 1]->getOutputStimulationSet(); + for (size_t s = 0; s < stimSet->size(); ++s) { //We need to locate the stimulation on the timeline - uint64_t id = stimSet->getStimulationIdentifier(s); - const uint64_t date = stimSet->getStimulationDate(s); + uint64_t id = stimSet->getId(s); + const uint64_t date = stimSet->getDate(s); getLogManager() << Kernel::LogLevel_Trace << "New Classifier state received (" << id << "," << CTime(date) << ") from Classifier " << ip << "\n"; diff --git a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmConfusionMatrix.cpp b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmConfusionMatrix.cpp index a2f94012283ba8edd96bea6cb1a4685fe2548aec..2d2a170df271cd703354ccf064aa3145ce47cbed 100644 --- a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmConfusionMatrix.cpp +++ b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmConfusionMatrix.cpp @@ -55,15 +55,15 @@ bool CBoxAlgorithmConfusionMatrix::initialize() } } - Kernel::TParameterHandler<IStimulationSet*> classesCodesHandler(m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_ClassCodes)); - for (size_t i = 0; i < classCodes.size(); ++i) { classesCodesHandler->appendStimulation(classCodes[i], 0, 0); } + Kernel::TParameterHandler<CStimulationSet*> classesCodesHandler(m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_ClassCodes)); + for (size_t i = 0; i < classCodes.size(); ++i) { classesCodesHandler->push_back(classCodes[i], 0, 0); } //Link all input/output - Kernel::TParameterHandler<IStimulationSet*> classifierStimSetHandler( + Kernel::TParameterHandler<CStimulationSet*> classifierStimSetHandler( m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_ClassifierStimulationSet)); classifierStimSetHandler.setReferenceTarget(m_classifierStimDecoder.getOutputStimulationSet()); - Kernel::TParameterHandler<IStimulationSet*> targetStimSetHandler( + Kernel::TParameterHandler<CStimulationSet*> targetStimSetHandler( m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_TargetStimulationSet)); targetStimSetHandler.setReferenceTarget(m_targetStimDecoder.getOutputStimulationSet()); diff --git a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmKappaCoefficient.cpp b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmKappaCoefficient.cpp index f629b516cc407187392a6d7e6314120fdb70a1e5..4dd3da021b7eb58a839c56061299bc66e81e1b5e 100644 --- a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmKappaCoefficient.cpp +++ b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmKappaCoefficient.cpp @@ -56,16 +56,16 @@ bool CBoxAlgorithmKappaCoef::initialize() } } - Kernel::TParameterHandler<IStimulationSet*> classesCodesHandler( + Kernel::TParameterHandler<CStimulationSet*> classesCodesHandler( m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_ClassCodes)); - for (size_t i = 0; i < classCodes.size(); ++i) { classesCodesHandler->appendStimulation(classCodes[i], 0, 0); } + for (size_t i = 0; i < classCodes.size(); ++i) { classesCodesHandler->push_back(classCodes[i], 0, 0); } //Link all input/output - Kernel::TParameterHandler<IStimulationSet*> classifierStimSetHandler( + Kernel::TParameterHandler<CStimulationSet*> classifierStimSetHandler( m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_ClassifierStimulationSet)); classifierStimSetHandler.setReferenceTarget(m_classifierStimDecoder.getOutputStimulationSet()); - Kernel::TParameterHandler<IStimulationSet*> targetStimSetHandler( + Kernel::TParameterHandler<CStimulationSet*> targetStimSetHandler( m_algorithm->getInputParameter(OVP_Algorithm_ConfusionMatrixAlgorithm_InputParameterId_TargetStimulationSet)); targetStimSetHandler.setReferenceTarget(m_targetStimDecoder.getOutputStimulationSet()); diff --git a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmROCCurve.cpp b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmROCCurve.cpp index 1b46dad98ae2117356d025a45b85682e896ada1d..f2bf4b8e8f39a4e3ba24ca3b38511421640b43f5 100644 --- a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmROCCurve.cpp +++ b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmROCCurve.cpp @@ -82,11 +82,11 @@ bool CBoxAlgorithmROCCurve::process() if (m_expectedDecoder.isBufferReceived()) { - IStimulationSet* stimSet = m_expectedDecoder.getOutputStimulationSet(); - for (size_t k = 0; k < stimSet->getStimulationCount(); ++k) + CStimulationSet* stimSet = m_expectedDecoder.getOutputStimulationSet(); + for (size_t k = 0; k < stimSet->size(); ++k) { - CIdentifier id = stimSet->getStimulationIdentifier(k); - if (m_classStimSet.find(id) != m_classStimSet.end()) { m_stimTimeline.push_back(CTimestampLabelPair(stimSet->getStimulationDate(k), id.id())); } + CIdentifier id = stimSet->getId(k); + if (m_classStimSet.find(id) != m_classStimSet.end()) { m_stimTimeline.push_back(CTimestampLabelPair(stimSet->getDate(k), id.id())); } //We need to check if we receive the computation trigger if (id == m_computationTrigger) { computeROCCurves(); } } diff --git a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmStatisticGenerator.cpp b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmStatisticGenerator.cpp index fbcf18ad28d7a1653c0810a93b26517acd9e549f..cd2df38543d94529982045fd8eb941832e5ac78c 100644 --- a/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmStatisticGenerator.cpp +++ b/plugins/processing/evaluation/src/box-algorithms/ovpCBoxAlgorithmStatisticGenerator.cpp @@ -158,8 +158,8 @@ bool CBoxAlgorithmStatisticGenerator::process() if (m_stimDecoder.isHeaderReceived()) { m_hasBeenStreamed = true; } if (m_stimDecoder.isBufferReceived()) { - IStimulationSet& stimSet = *(m_stimDecoder.getOutputStimulationSet()); - for (size_t j = 0; j < stimSet.getStimulationCount(); ++j) { m_stimulations[stimSet.getStimulationIdentifier(j)]++; } + CStimulationSet& stimSet = *(m_stimDecoder.getOutputStimulationSet()); + for (size_t j = 0; j < stimSet.size(); ++j) { m_stimulations[stimSet.getId(j)]++; } } } diff --git a/plugins/processing/evaluation/test/Test-StatisticGenerator.xml b/plugins/processing/evaluation/test/Test-StatisticGenerator.xml index c45fa34e2b99b35fbc7295bd1f27cd4cbb20138e..ba2556b55cdd70efac4aeb87a0a4e2c540a28135 100644 --- a/plugins/processing/evaluation/test/Test-StatisticGenerator.xml +++ b/plugins/processing/evaluation/test/Test-StatisticGenerator.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x29c00b5a, 0x38e642d5)</Identifier> @@ -22,39 +25,27 @@ <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> <Name>Filename for saving</Name> <DefaultValue></DefaultValue> - <Value>${__volatile_ScenarioDir}/stat.xml</Value> + <Value>${Player_ScenarioDirectory}/stat.xml</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512.000000</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf6674389, 0x42f4fe25)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>190</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002abac0)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -102,24 +93,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800.000000</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0012be4a)</Value> @@ -174,24 +157,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432.000000</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0b214ed8, 0x1f9ad83a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>109</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002cf528)</Value> @@ -239,24 +214,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>126.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>126</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608.000000</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>114</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0020b3d0)</Value> @@ -310,24 +277,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800.000000</Value> + <Value>800</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0011d368)</Value> @@ -362,24 +321,6 @@ <BoxIdentifier>(0x29c00b5a, 0x38e642d5)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>144</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>214</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>519</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x6299b60b, 0x63373c3e)</Identifier> @@ -391,24 +332,6 @@ <BoxIdentifier>(0x2b584b95, 0x7008d0de)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>183</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>800</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>800</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x7ed28c93, 0x1209a735)</Identifier> @@ -420,24 +343,6 @@ <BoxIdentifier>(0x29c00b5a, 0x38e642d5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>146</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>214</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>504</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -445,7 +350,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x1586c3d8, 0x35a029ef)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4cfffb67, 0x1d6c7d8c)","index":0,"name":"Default tab","parentIdentifier":"(0x1586c3d8, 0x35a029ef)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x3e00f59d, 0x6e47aad3)","index":0,"name":"Empty","parentIdentifier":"(0x4cfffb67, 0x1d6c7d8c)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x1586c3d8, 0x35a029ef)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x4cfffb67, 0x1d6c7d8c)","index":0,"name":"Default tab","parentIdentifier":"(0x1586c3d8, 0x35a029ef)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x3e00f59d, 0x6e47aad3)","index":0,"name":"Empty","parentIdentifier":"(0x4cfffb67, 0x1d6c7d8c)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/evaluation/test/Test-kappa.xml b/plugins/processing/evaluation/test/Test-kappa.xml index c8651539c9b78ee6506a9bd586c01adf80d8169f..39cd345870a1081b8c705b86d82d41f2590a0087 100644 --- a/plugins/processing/evaluation/test/Test-kappa.xml +++ b/plugins/processing/evaluation/test/Test-kappa.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -44,7 +44,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -94,7 +94,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/evaluation/test/Test_ROCCurve.xml b/plugins/processing/evaluation/test/Test_ROCCurve.xml index ac2698bd9259be2e669a3adb40ac3d414ec64042..d4f5438a169866e55648d03943ec42c9ec9c072f 100644 --- a/plugins/processing/evaluation/test/Test_ROCCurve.xml +++ b/plugins/processing/evaluation/test/Test_ROCCurve.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000043, 0x00007650)</Identifier> @@ -24,14 +27,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -42,24 +45,16 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>147</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000fba89)</Value> @@ -101,7 +96,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>duration</Name> <DefaultValue>4.0</DefaultValue> - <Value>4.0</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -112,15 +107,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -130,10 +121,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>107</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00ff540a)</Value> @@ -184,15 +171,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -206,10 +189,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000de4c1)</Value> @@ -272,28 +251,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xa6c8e548, 0x9e3e405b)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>138</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -333,7 +300,7 @@ </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <Name>Output(1)</Name> </Output> </Outputs> <Settings> @@ -366,15 +333,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -384,10 +347,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>102</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x006a6e36)</Value> @@ -444,15 +403,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -462,10 +417,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005186da)</Value> @@ -501,24 +452,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>-160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000eae1c)</Value> @@ -565,15 +508,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -587,10 +526,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000de4c4)</Value> @@ -614,27 +549,19 @@ </Attributes> </Box> <Box> - <Identifier>(0x000043ad, 0x00005e02)</Identifier> + <Identifier>(0x00003732, 0x00003876)</Identifier> <Name>Identity</Name> <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> <Input> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stream 2</Name> + <Name>Input stream</Name> </Input> </Inputs> <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> <Output> <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output stream</Name> </Output> </Outputs> <Attributes> @@ -644,15 +571,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -666,61 +589,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>59</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x000e6afc)</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x0000545c, 0x00005cb8)</Identifier> - <Name>Feature aggregator</Name> - <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Input stream 1</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Feature vector stream</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x000e1713)</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -736,8 +604,8 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006732, 0x00007630)</Identifier> - <Name>Temporal filter</Name> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -748,90 +616,115 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Output signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> + <Name>Filter Order</Name> <DefaultValue>4</DefaultValue> <Value>5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> <Value>8</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> + <Name>High Cut-off Frequency (Hz)</Name> <DefaultValue>40</DefaultValue> <Value>30</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-224.000000</Value> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0036a833)</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> </Attribute> <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000545c, 0x00005cb8)</Identifier> + <Name>Feature aggregator</Name> + <AlgorithmClassIdentifier>(0x00682417, 0x453635f9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream 1</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Feature vector stream</Name> + </Output> + </Outputs> + <Attributes> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>224</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb5d15cc9, 0x6c8c28fb)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x000e1713)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> @@ -853,24 +746,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc5ff4187, 0xffc5f432)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000dc335)</Value> @@ -926,15 +811,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-64.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>-96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>640.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -952,10 +833,6 @@ <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> <Value>${Player_ScenarioDirectory}/csp-spatial-filter.cfg</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>122</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -1021,24 +898,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>592</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x3ee354a6, 0xd56cd385)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>76</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000ef134)</Value> @@ -1064,91 +933,48 @@ </Boxes> <Links> <Link> - <Identifier>(0x000002ee, 0x00005db9)</Identifier> + <Identifier>(0x000003fb, 0x000047fe)</Identifier> <Source> - <BoxIdentifier>(0x00001988, 0x0000550e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00007377, 0x00000002)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006732, 0x00007630)</BoxIdentifier> + <BoxIdentifier>(0x0000368c, 0x0000054c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-329</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-240</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000003fb, 0x000047fe)</Identifier> + <Identifier>(0x00000948, 0x00000383)</Identifier> <Source> - <BoxIdentifier>(0x00007377, 0x00000002)</BoxIdentifier> + <BoxIdentifier>(0x0000079c, 0x00005479)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000368c, 0x0000054c)</BoxIdentifier> + <BoxIdentifier>(0x00007377, 0x00000002)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>162</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00000948, 0x00000383)</Identifier> + <Identifier>(0x00000d4b, 0x000003dc)</Identifier> <Source> - <BoxIdentifier>(0x0000079c, 0x00005479)</BoxIdentifier> + <BoxIdentifier>(0x00001988, 0x0000550e)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003732, 0x00003876)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000194d, 0x00000d3d)</Identifier> + <Source> + <BoxIdentifier>(0x00003732, 0x00003876)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007377, 0x00000002)</BoxIdentifier> + <BoxIdentifier>(0x3607806b, 0x24db4df2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>103</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000211e, 0x00003d11)</Identifier> @@ -1160,53 +986,17 @@ <BoxIdentifier>(0x3607806b, 0x24db4df2)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>370</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>655</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>422</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>551</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00002eee, 0x00004d50)</Identifier> + <Identifier>(0x00002d49, 0x00005931)</Identifier> <Source> <BoxIdentifier>(0x00001988, 0x0000550e)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002a91, 0x00000f38)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-329</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>655</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003301, 0x00003b8f)</Identifier> @@ -1218,24 +1008,17 @@ <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-260</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-181</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>680</Value> - </Attribute> - </Attributes> + </Link> + <Link> + <Identifier>(0x0000355e, 0x0000567b)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> </Link> <Link> <Identifier>(0x000036ad, 0x000016e4)</Identifier> @@ -1247,24 +1030,6 @@ <BoxIdentifier>(0x0000079c, 0x00005479)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>39</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>59</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000037c4, 0x00007eba)</Identifier> @@ -1276,24 +1041,6 @@ <BoxIdentifier>(0x00000bf3, 0x0000467d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>632</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000037ca, 0x0000376b)</Identifier> @@ -1305,111 +1052,28 @@ <BoxIdentifier>(0x00000483, 0x00002eb9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-329</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>655</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-314</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x000045ce, 0x00001ae9)</Identifier> - <Source> - <BoxIdentifier>(0x00001988, 0x0000550e)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000043ad, 0x00005e02)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-329</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>655</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-197</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>535</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00004b17, 0x00005ab2)</Identifier> + <Identifier>(0x00005216, 0x00006ee2)</Identifier> <Source> - <BoxIdentifier>(0x00006732, 0x00007630)</BoxIdentifier> + <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x0000752b, 0x0000680c)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-206</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-181</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>695</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00005216, 0x00006ee2)</Identifier> + <Identifier>(0x00005d09, 0x00006520)</Identifier> <Source> - <BoxIdentifier>(0x00001124, 0x00007915)</BoxIdentifier> + <BoxIdentifier>(0x00003732, 0x00003876)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000752b, 0x0000680c)</BoxIdentifier> + <BoxIdentifier>(0x00002a91, 0x00000f38)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>680</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-90</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005eeb, 0x000075fc)</Identifier> @@ -1421,24 +1085,6 @@ <BoxIdentifier>(0x00000043, 0x00007650)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-36</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>-5</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000079d9, 0x00005bbe)</Identifier> @@ -1450,53 +1096,6 @@ <BoxIdentifier>(0x0000545c, 0x00005cb8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>640</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>640</Value> - </Attribute> - </Attributes> - </Link> - <Link> - <Identifier>(0x4b6c6719, 0x2b522a33)</Identifier> - <Source> - <BoxIdentifier>(0x00001988, 0x0000550e)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3607806b, 0x24db4df2)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>-329</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>655</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>422</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>536</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -1504,7 +1103,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x35752c8d, 0x23a76f07)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x3607806b, 0x24db4df2)","childCount":0,"identifier":"(0x4fd3dc02, 0x28abea30)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x24243cdd, 0x2fcac0ca)","index":0,"name":"Default tab","parentIdentifier":"(0x35752c8d, 0x23a76f07)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x425a339c, 0x23d28b15)","index":0,"name":"Empty","parentIdentifier":"(0x24243cdd, 0x2fcac0ca)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x35752c8d, 0x23a76f07)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x3607806b, 0x24db4df2)","childCount":0,"identifier":"(0x4fd3dc02, 0x28abea30)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x24243cdd, 0x2fcac0ca)","index":0,"name":"Default tab","parentIdentifier":"(0x35752c8d, 0x23a76f07)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x425a339c, 0x23d28b15)","index":0,"name":"Empty","parentIdentifier":"(0x24243cdd, 0x2fcac0ca)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/examples/box-tutorials/modifiable-temporal-filter.xml b/plugins/processing/examples/box-tutorials/modifiable-temporal-filter.xml index 415c54c0067f87455046c1c4c2dc160e74c94ed5..24cf2762fdf3aadb64621d3395f6ee7dac909098 100644 --- a/plugins/processing/examples/box-tutorials/modifiable-temporal-filter.xml +++ b/plugins/processing/examples/box-tutorials/modifiable-temporal-filter.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00003edf, 0x00007efb)</Identifier> @@ -89,15 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384.000000</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,14 +106,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -194,21 +185,13 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>112</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>202</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> @@ -270,10 +253,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>48</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>384</Value> @@ -282,10 +261,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0b214ed8, 0x1f9ad83a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00666ed2)</Value> @@ -316,24 +291,6 @@ <BoxIdentifier>(0x00003edf, 0x00007efb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>168</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>369</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004886, 0x00003416)</Identifier> @@ -345,24 +302,6 @@ <BoxIdentifier>(0x00005115, 0x00004c40)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>67</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>88</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -391,7 +330,7 @@ you do that, you will notice that the signal will <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00003edf, 0x00007efb)","childCount":0,"identifier":"(0x00002ce4, 0x00000c63)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"height":320,"identifier":"(0x00003820, 0x000008c9)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005d8b, 0x000029a4)","index":0,"name":"Default tab","parentIdentifier":"(0x00003820, 0x000008c9)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002efb, 0x00003d85)","index":1,"name":"config","parentIdentifier":"(0x00003820, 0x000008c9)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000063e7, 0x000031ad)","index":0,"name":"Empty","parentIdentifier":"(0x00005d8b, 0x000029a4)","type":0},{"boxIdentifier":"(0x00005115, 0x00004c40)","childCount":0,"identifier":"(0x000020c4, 0x000038b5)","index":0,"parentIdentifier":"(0x00002efb, 0x00003d85)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0x00003edf, 0x00007efb)","childCount":0,"identifier":"(0x00002ce4, 0x00000c63)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"height":320,"identifier":"(0x00003820, 0x000008c9)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005d8b, 0x000029a4)","index":0,"name":"Default tab","parentIdentifier":"(0x00003820, 0x000008c9)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002efb, 0x00003d85)","index":1,"name":"config","parentIdentifier":"(0x00003820, 0x000008c9)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000063e7, 0x000031ad)","index":0,"name":"Empty","parentIdentifier":"(0x00005d8b, 0x000029a4)","type":0},{"boxIdentifier":"(0x00005115, 0x00004c40)","childCount":0,"identifier":"(0x000020c4, 0x000038b5)","index":0,"parentIdentifier":"(0x00002efb, 0x00003d85)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/examples/metaboxes/Signal-Power-Log-Metabox.xml b/plugins/processing/examples/metaboxes/Signal-Power-Log-Metabox.xml index 1afd6a8f5357283d03bf358fa077aaba4a6c5371..82f6afc76168137d2b34dc6bb73cbe9d9d135bb3 100644 --- a/plugins/processing/examples/metaboxes/Signal-Power-Log-Metabox.xml +++ b/plugins/processing/examples/metaboxes/Signal-Power-Log-Metabox.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs> <Input> diff --git a/plugins/processing/examples/metaboxes/SignalCleanup.mxb b/plugins/processing/examples/metaboxes/SignalCleanup.mxb index ee613364bc93d199967ae2ef9feec13ffe1cf79c..4d9a62698f2c9d25cc6bccdedb731e35b67d938a 100644 --- a/plugins/processing/examples/metaboxes/SignalCleanup.mxb +++ b/plugins/processing/examples/metaboxes/SignalCleanup.mxb @@ -1,27 +1,31 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>Designer</Creator> - <CreatorVersion>2.0.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> + <Identifier>(0x2f823b56, 0xee79ab83)</Identifier> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>LowCutFrequency</Name> <DefaultValue>1</DefaultValue> <Value>1</Value> </Setting> <Setting> + <Identifier>(0xdaa5c219, 0x1e760628)</Identifier> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>HighCutFrequency</Name> <DefaultValue>100</DefaultValue> <Value>100</Value> </Setting> <Setting> + <Identifier>(0x6482164d, 0xfab39943)</Identifier> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>NotchLowFrequency</Name> <DefaultValue>48</DefaultValue> <Value>48</Value> </Setting> <Setting> + <Identifier>(0x47a1164c, 0x746cf5ed)</Identifier> <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> <Name>NotchHighFrequency</Name> <DefaultValue>52</DefaultValue> @@ -30,23 +34,25 @@ </Settings> <Inputs> <Input> + <Identifier>(0x2d716bb7, 0x7b361775)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input Signal</Name> - <LinkedBoxIdentifier>(0x0d17e04a, 0x1c8eee27)</LinkedBoxIdentifier> + <LinkedBoxIdentifier>(0x00001e26, 0x00007308)</LinkedBoxIdentifier> <LinkedBoxInputIndex>0</LinkedBoxInputIndex> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0x0e348ac1, 0x1810bf7b)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Filtered Signal</Name> - <LinkedBoxIdentifier>(0x7ebeb131, 0x19f98c70)</LinkedBoxIdentifier> + <LinkedBoxIdentifier>(0x00002089, 0x00007c69)</LinkedBoxIdentifier> <LinkedBoxOutputIndex>0</LinkedBoxOutputIndex> </Output> </Outputs> <Boxes> <Box> - <Identifier>(0x0d17e04a, 0x1c8eee27)</Identifier> + <Identifier>(0x00001e26, 0x00007308)</Identifier> <Name>Notch Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> @@ -62,13 +68,6 @@ </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter Method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> <Name>Filter Type</Name> @@ -97,18 +96,15 @@ <Value>$var{NotchHighFrequency}</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Band Pass Ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -116,7 +112,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -124,7 +120,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -133,8 +129,8 @@ </Attributes> </Box> <Box> - <Identifier>(0x7ebeb131, 0x19f98c70)</Identifier> - <Name>Band Pass</Name> + <Identifier>(0x00002089, 0x00007c69)</Identifier> + <Name>Temporal Filter</Name> <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -149,13 +145,6 @@ </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter Method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> <Name>Filter Type</Name> @@ -184,18 +173,15 @@ <Value>$var{HighCutFrequency}</Value> <Modifiability>false</Modifiability> </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Band Pass Ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -203,7 +189,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -211,7 +197,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -222,13 +208,13 @@ </Boxes> <Links> <Link> - <Identifier>(0x47f3989a, 0x16eca6a5)</Identifier> + <Identifier>(0x00000e1d, 0x00006456)</Identifier> <Source> - <BoxIdentifier>(0x0d17e04a, 0x1c8eee27)</BoxIdentifier> + <BoxIdentifier>(0x00001e26, 0x00007308)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x7ebeb131, 0x19f98c70)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c69)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -268,7 +254,7 @@ tutorial at <i>http://openvibe.inria.fr/designer-tutorial-5-metaboxes#Crea </Attribute> <Attribute> <Identifier>(0x20c6d158, 0xfe90aadd)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> + <Value>(0xfdf125e8, 0x5db9eed6)</Value> </Attribute> <Attribute> <Identifier>(0x60bc58ab, 0x7a1b4d83)</Identifier> @@ -307,4 +293,4 @@ tutorial at <i>http://openvibe.inria.fr/designer-tutorial-5-metaboxes#Crea <Value></Value> </Attribute> </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/features-selection/bci-examples/0-monitoring.xml b/plugins/processing/features-selection/bci-examples/0-monitoring.xml index 5dec45f5418288f4487c05241694db7733658022..32646adaf7ca76a8402ba480c13b0b166a2c7818 100644 --- a/plugins/processing/features-selection/bci-examples/0-monitoring.xml +++ b/plugins/processing/features-selection/bci-examples/0-monitoring.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x000f55d4, 0x831a706d)</Identifier> @@ -321,7 +321,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-80</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -349,6 +349,237 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00002089, 0x00007c69)</Identifier> + <Name>EMG Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{EMG Low Cut Frequency}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>$var{EMG High Cut Frequency}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>608</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00002089, 0x00007c6a)</Identifier> + <Name>Alpha Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Alpha Low Cut Frequency}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>$var{Alpha High Cut Frequency}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>704</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00002089, 0x00007c6b)</Identifier> + <Name>General Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Low Cut Frequency}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>$var{High Cut Frequency}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>896</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00002847, 0x00000a62)</Identifier> <Name>Channel Rename</Name> @@ -377,7 +608,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -797,7 +1028,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -879,7 +1110,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -961,7 +1192,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1237,7 +1468,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1269,243 +1500,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000078ac, 0x00005edf)</Identifier> - <Name>General Filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>$var{Low Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>$var{High Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>896</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00492488)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x000078ac, 0x00005ee1)</Identifier> - <Name>Alpha Filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>$var{Alpha Low Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>$var{Alpha High Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>704</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00492488)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x000078ac, 0x00005ee2)</Identifier> - <Name>EMG Filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>$var{EMG Low Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>$var{EMG High Cut Frequency}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>608</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00492488)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> @@ -1520,13 +1514,13 @@ </Target> </Link> <Link> - <Identifier>(0x00000e8d, 0x000050d3)</Identifier> + <Identifier>(0x00000ace, 0x0000062f)</Identifier> <Source> - <BoxIdentifier>(0x000078ac, 0x00005ee1)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c6b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005aef, 0x00007c34)</BoxIdentifier> + <BoxIdentifier>(0x00006f35, 0x00001cd0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1586,123 +1580,123 @@ </Target> </Link> <Link> - <Identifier>(0x00001c17, 0x000076f2)</Identifier> + <Identifier>(0x000034fe, 0x000013a5)</Identifier> <Source> - <BoxIdentifier>(0x000078ac, 0x00005edf)</BoxIdentifier> + <BoxIdentifier>(0x00006f35, 0x00001cd0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006f35, 0x00001cd0)</BoxIdentifier> + <BoxIdentifier>(0x00006d9b, 0x00001d22)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000034fe, 0x000013a5)</Identifier> + <Identifier>(0x00003d4a, 0x000065b0)</Identifier> <Source> - <BoxIdentifier>(0x00006f35, 0x00001cd0)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000785)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006d9b, 0x00001d22)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c69)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00003781, 0x00005bd6)</Identifier> + <Identifier>(0x00004c30, 0x0000176c)</Identifier> <Source> - <BoxIdentifier>(0x000078ac, 0x00005ee2)</BoxIdentifier> + <BoxIdentifier>(0x00006d9b, 0x00001d23)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00005aef, 0x00007c35)</BoxIdentifier> + <BoxIdentifier>(0x0000101b, 0x000003dd)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000043a4, 0x0000304b)</Identifier> + <Identifier>(0x000052ab, 0x00005981)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000787)</BoxIdentifier> + <BoxIdentifier>(0x00002847, 0x00000a62)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000078ac, 0x00005ee1)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000788)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000043b3, 0x00006d1a)</Identifier> + <Identifier>(0x0000589e, 0x00006517)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000785)</BoxIdentifier> + <BoxIdentifier>(0x00006f35, 0x00001cd2)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000078ac, 0x00005ee2)</BoxIdentifier> + <BoxIdentifier>(0x000041c0, 0x00000cd1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004c30, 0x0000176c)</Identifier> + <Identifier>(0x00005986, 0x00004946)</Identifier> <Source> - <BoxIdentifier>(0x00006d9b, 0x00001d23)</BoxIdentifier> + <BoxIdentifier>(0x00006d9b, 0x00001d22)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000101b, 0x000003dd)</BoxIdentifier> + <BoxIdentifier>(0x0000101b, 0x000003dc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000052ab, 0x00005981)</Identifier> + <Identifier>(0x00005afe, 0x00001a9b)</Identifier> <Source> - <BoxIdentifier>(0x00002847, 0x00000a62)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000788)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000065a7, 0x00000788)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000057d0, 0x00001887)</Identifier> + <Identifier>(0x00006f56, 0x00006c5d)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000788)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c6a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000078ac, 0x00005edf)</BoxIdentifier> + <BoxIdentifier>(0x00005aef, 0x00007c34)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000589e, 0x00006517)</Identifier> + <Identifier>(0x00006faa, 0x00006ab2)</Identifier> <Source> - <BoxIdentifier>(0x00006f35, 0x00001cd2)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c69)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000041c0, 0x00000cd1)</BoxIdentifier> + <BoxIdentifier>(0x00005aef, 0x00007c35)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00005986, 0x00004946)</Identifier> + <Identifier>(0x00007871, 0x00003bec)</Identifier> <Source> - <BoxIdentifier>(0x00006d9b, 0x00001d22)</BoxIdentifier> + <BoxIdentifier>(0x00002847, 0x00000a62)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000101b, 0x000003dc)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000785)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007871, 0x00003bec)</Identifier> + <Identifier>(0x00007eee, 0x00005133)</Identifier> <Source> - <BoxIdentifier>(0x00002847, 0x00000a62)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000787)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000065a7, 0x00000785)</BoxIdentifier> + <BoxIdentifier>(0x00002089, 0x00007c6a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1802,7 +1796,7 @@ Vous pouvez activer/désactiver les displays (dernière ligne) en faisant un cli </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>144</Value> + <Value>128</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/features-selection/bci-examples/1-baseline.xml b/plugins/processing/features-selection/bci-examples/1-baseline.xml index 7b8ead0bffc0889dba8dbebe159da5d35e4e7846..38d165fd4a39bdf893e22f254e4c60629b5486e7 100644 --- a/plugins/processing/features-selection/bci-examples/1-baseline.xml +++ b/plugins/processing/features-selection/bci-examples/1-baseline.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x000f55d4, 0x831a706d)</Identifier> diff --git a/plugins/processing/features-selection/bci-examples/2-acquisition.xml b/plugins/processing/features-selection/bci-examples/2-acquisition.xml index 5f6014dc947c1f0cfdfcf5e4d8ceaa7a45c4a6ee..2a9442f2b909270c559b033ef881f73504eb542f 100644 --- a/plugins/processing/features-selection/bci-examples/2-acquisition.xml +++ b/plugins/processing/features-selection/bci-examples/2-acquisition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x000f55d4, 0x831a706d)</Identifier> @@ -199,61 +199,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x0000141c, 0x00003c43)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00001881, 0x0000648e)</Identifier> <Name>Generic stream writer</Name> @@ -501,28 +446,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1005,17 +950,6 @@ <BoxInputIndex>2</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00004b1e, 0x000034b6)</Identifier> - <Source> - <BoxIdentifier>(0x0000465a, 0x00004dbf)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000141c, 0x00003c43)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000053ec, 0x000057b2)</Identifier> <Source> @@ -1060,28 +994,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00007818, 0x0000649d)</Identifier> - <Source> - <BoxIdentifier>(0x0000141c, 0x00003c43)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00004390, 0x000055c5)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00007854, 0x0000729e)</Identifier> - <Source> - <BoxIdentifier>(0x0000141c, 0x00003c43)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00001881, 0x0000648e)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments> <Comment> diff --git a/plugins/processing/features-selection/bci-examples/3-file-concatenation.xml b/plugins/processing/features-selection/bci-examples/3-file-concatenation.xml index 0ea4796dba6f3d28b1191512f3a65ca57e665ecf..d89ff902fa8db31ff76cc1bdfc4513a297bb30cb 100644 --- a/plugins/processing/features-selection/bci-examples/3-file-concatenation.xml +++ b/plugins/processing/features-selection/bci-examples/3-file-concatenation.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00069d80, 0x160bdf2d)</Identifier> diff --git a/plugins/processing/features-selection/bci-examples/4-train-CSP.xml b/plugins/processing/features-selection/bci-examples/4-train-CSP.xml index 5fad177475e50823fa26938b498ecd4240d5c33e..976794f47435f5a9368c7e95c79d25ec257334a0 100644 --- a/plugins/processing/features-selection/bci-examples/4-train-CSP.xml +++ b/plugins/processing/features-selection/bci-examples/4-train-CSP.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x003874e6, 0x80815878)</Identifier> diff --git a/plugins/processing/features-selection/bci-examples/5-train-mRMR.xml b/plugins/processing/features-selection/bci-examples/5-train-mRMR.xml index e37fb3b4be2a165049680b52b7017519ea5d8701..397b5800e79858be90117c776b61504f8f959ef3 100644 --- a/plugins/processing/features-selection/bci-examples/5-train-mRMR.xml +++ b/plugins/processing/features-selection/bci-examples/5-train-mRMR.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x003874e6, 0x80815878)</Identifier> @@ -71,7 +71,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch Offset</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> </Setting> <Setting> <Identifier>(0x77d47dd5, 0x3736b2a0)</Identifier> @@ -121,7 +121,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -176,7 +176,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -237,7 +237,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -328,7 +328,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Threshold</Name> <DefaultValue>0.0</DefaultValue> - <Value>0.0</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -342,7 +342,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>640</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -397,7 +397,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-272</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -422,29 +422,200 @@ </Attributes> </Box> <Box> - <Identifier>(0x000055dc, 0x0000109e)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Identifier>(0x000035b1, 0x00002d50)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> </Output> <Output> + <Identifier>(0xf10410f3, 0x4bf71099)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> + <Name>Output signal 2</Name> </Output> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> + <Identifier>(0x3df13b48, 0xaee09d71)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 3</Name> + </Output> + <Output> + <Identifier>(0x458171ec, 0x7c5e66ea)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 4</Name> + </Output> + <Output> + <Identifier>(0x89d844bb, 0x42c53632)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 5</Name> + </Output> + <Output> + <Identifier>(0x51ce64c4, 0xb4f74f2f)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 6</Name> + </Output> + <Output> + <Identifier>(0x52d0bc5d, 0xd7f8e561)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 7</Name> + </Output> + <Output> + <Identifier>(0x264c41e8, 0x13a25d91)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 8</Name> + </Output> + <Output> + <Identifier>(0x69e00280, 0x2013d05e)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 9</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>$var{Training EEG File}</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -455,79 +626,69 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>976</Value> </Attribute> <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004a76ae)</Value> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00005658, 0x0000687f)</Identifier> - <Name>Timeout</Name> - <AlgorithmClassIdentifier>(0x24fcd292, 0x5c8f6aa8)</AlgorithmClassIdentifier> + <Identifier>(0x00003755, 0x0000141f)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Input Stream</Name> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output Stimulations</Name> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Timeout delay</Name> - <DefaultValue>5</DefaultValue> - <Value>10</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Output Stimulation</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Train</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-336</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x1eaee00e, 0xdb05d34e)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> - </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> @@ -535,64 +696,222 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006266, 0x00000e24)</Identifier> - <Name>Signal Merger</Name> - <AlgorithmClassIdentifier>(0x4bf9326f, 0x75603102)</AlgorithmClassIdentifier> + <Identifier>(0x00003755, 0x00001420)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 1</Name> - </Input> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 2</Name> - </Input> - <Input> - <Identifier>(0xf031835f, 0xfd499f54)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 3</Name> - </Input> - <Input> - <Identifier>(0xd872563e, 0xc482f033)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 4</Name> - </Input> - <Input> - <Identifier>(0xc48b247a, 0xbd3518e7)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 5</Name> - </Input> - <Input> - <Identifier>(0x5f7bcc3c, 0xe39a6eb0)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 6</Name> - </Input> - <Input> - <Identifier>(0xb830b8b1, 0xa74de4f5)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 7</Name> - </Input> - <Input> - <Identifier>(0xfa16eb48, 0x996f530e)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 8</Name> - </Input> - <Input> - <Identifier>(0xeb82c0f0, 0x3795f13e)</Identifier> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input 9</Name> + <Name>Input Signal</Name> </Input> </Inputs> <Outputs> <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Merged</Name> + <Name>Filtered Signal</Name> </Output> </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1056</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000055dc, 0x0000109e)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>$var{Training EEG File}</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-224</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x004a76ae)</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00005658, 0x0000687f)</Identifier> + <Name>Timeout</Name> + <AlgorithmClassIdentifier>(0x24fcd292, 0x5c8f6aa8)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input Stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output Stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Timeout delay</Name> + <DefaultValue>5</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Output Stimulation</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Train</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-176</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>528</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x1eaee00e, 0xdb05d34e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00006266, 0x00000e24)</Identifier> + <Name>Signal Merger</Name> + <AlgorithmClassIdentifier>(0x4bf9326f, 0x75603102)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 1</Name> + </Input> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 2</Name> + </Input> + <Input> + <Identifier>(0xf031835f, 0xfd499f54)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 3</Name> + </Input> + <Input> + <Identifier>(0xd872563e, 0xc482f033)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 4</Name> + </Input> + <Input> + <Identifier>(0xc48b247a, 0xbd3518e7)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 5</Name> + </Input> + <Input> + <Identifier>(0x5f7bcc3c, 0xe39a6eb0)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 6</Name> + </Input> + <Input> + <Identifier>(0xb830b8b1, 0xa74de4f5)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 7</Name> + </Input> + <Input> + <Identifier>(0xfa16eb48, 0x996f530e)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 8</Name> + </Input> + <Input> + <Identifier>(0xeb82c0f0, 0x3795f13e)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 9</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Merged</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -658,7 +977,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-272</Value> + <Value>-144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -717,7 +1036,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -760,7 +1079,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -784,76 +1103,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00c4af19, 0x360e4025)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x00c4af19, 0x360e4026)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x024f66fc, 0x20e58fa8)</Identifier> <Name>Trials C1</Name> @@ -908,7 +1157,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -973,7 +1222,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1058,7 +1307,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1143,7 +1392,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1228,7 +1477,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1313,7 +1562,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1398,7 +1647,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1483,7 +1732,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1568,7 +1817,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1653,7 +1902,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1689,134 +1938,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x14e0f923, 0x0df1c5d6)</Identifier> - <Name>log(1+x)</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x14e0f923, 0x0df1c5d7)</Identifier> - <Name>log(1+x)</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x3840709a, 0x3442f13a)</Identifier> <Name>Time based epoching</Name> @@ -1928,983 +2049,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x38f7f16e, 0x716e5783)</Identifier> - <Name>4-8</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4bfa765b, 0x56988125)</Identifier> + <Name>Trials C2</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5784)</Identifier> - <Name>8-12</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Trial Duration}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12</Value> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>$var{Trial Offset}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_GDF_VEP</DefaultValue> + <Value>$var{Class 2}</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5785)</Identifier> - <Name>12-16</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5786)</Identifier> - <Name>16-20</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5787)</Identifier> - <Name>20-24</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5788)</Identifier> - <Name>24-28</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1072</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5789)</Identifier> - <Name>28-32</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1168</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578a)</Identifier> - <Name>32-36</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1264</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578b)</Identifier> - <Name>36-40</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1360</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x4bfa765b, 0x56988125)</Identifier> - <Name>Trials C2</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>$var{Trial Duration}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>$var{Trial Offset}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_GDF_VEP</DefaultValue> - <Value>$var{Class 2}</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1a9)</Identifier> - <Name>x²</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1aa)</Identifier> - <Name>x²</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>1056</Value> </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -2922,14 +2132,14 @@ </Target> </Link> <Link> - <Identifier>(0x00000904, 0x0000009a)</Identifier> + <Identifier>(0x00000745, 0x00006dec)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> @@ -2955,57 +2165,68 @@ </Target> </Link> <Link> - <Identifier>(0x0000203b, 0x000026a7)</Identifier> + <Identifier>(0x000019a7, 0x000007dd)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0xf031835f, 0xfd499f54)</BoxInputIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd1)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002514, 0x00006f70)</Identifier> + <Identifier>(0x00001a27, 0x00006075)</Identifier> <Source> - <BoxIdentifier>(0x00001449, 0x00001174)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x458171ec, 0x7c5e66ea)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002543, 0x0000104a)</Identifier> + <Identifier>(0x0000203b, 0x000026a7)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxInputIdentifier>(0xf031835f, 0xfd499f54)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x00002478, 0x00004259)</Identifier> + <Source> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x69e00280, 0x2013d05e)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002baf, 0x000020aa)</Identifier> + <Identifier>(0x00002514, 0x00006f70)</Identifier> <Source> <BoxIdentifier>(0x00001449, 0x00001174)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001449, 0x00001173)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002e4f, 0x00000908)</Identifier> + <Identifier>(0x00002baf, 0x000020aa)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x00001449, 0x00001174)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> + <BoxIdentifier>(0x00001449, 0x00001173)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3032,14 +2253,14 @@ </Target> </Link> <Link> - <Identifier>(0x00003e8e, 0x000039f0)</Identifier> + <Identifier>(0x000033a3, 0x00004210)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003755, 0x0000141f)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> @@ -3086,116 +2307,6 @@ <BoxInputIndex>2</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x000045bc, 0x00001b41)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004027)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004028)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004029)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402a)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402b)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402c)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402d)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402e)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402f)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00004ad8, 0x00000d0b)</Identifier> <Source> @@ -3219,36 +2330,36 @@ </Target> </Link> <Link> - <Identifier>(0x00004fe5, 0x000074aa)</Identifier> + <Identifier>(0x00004fe9, 0x00002cde)</Identifier> <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x51ce64c4, 0xb4f74f2f)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004fe5, 0x000074ab)</Identifier> + <Identifier>(0x000057c9, 0x00007f2b)</Identifier> <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d7)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007442, 0x00001fd1)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxInputIdentifier>(0x5f7bcc3c, 0xe39a6eb0)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000057c9, 0x00007f2b)</Identifier> + <Identifier>(0x0000585e, 0x00003f02)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0x5f7bcc3c, 0xe39a6eb0)</BoxInputIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> @@ -3263,46 +2374,46 @@ </Target> </Link> <Link> - <Identifier>(0x00005d45, 0x000009ac)</Identifier> + <Identifier>(0x00005f4c, 0x00001389)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> + <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00005f4c, 0x00001389)</Identifier> + <Identifier>(0x00005fa8, 0x00002e12)</Identifier> <Source> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00003755, 0x0000141f)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x4bfa765b, 0x56988125)</BoxIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006048, 0x00007415)</Identifier> + <Identifier>(0x00005fc5, 0x000056c3)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x89d844bb, 0x42c53632)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006ada, 0x00007a88)</Identifier> + <Identifier>(0x00006461, 0x00006d75)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x52d0bc5d, 0xd7f8e561)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3329,146 +2440,113 @@ </Target> </Link> <Link> - <Identifier>(0x00006d9d, 0x00000a90)</Identifier> - <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00006e7b, 0x000049d6)</Identifier> + <Identifier>(0x00006cf0, 0x00002cc3)</Identifier> <Source> - <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x3df13b48, 0xaee09d71)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00002ea1, 0x00000937)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007019, 0x000013ff)</Identifier> + <Identifier>(0x00006d6e, 0x00004a10)</Identifier> <Source> <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0000759a, 0x00004a1f)</Identifier> - <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000079fc, 0x000022e3)</Identifier> + <Identifier>(0x00006d9d, 0x00000a90)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0xc48b247a, 0xbd3518e7)</BoxInputIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007d21, 0x00003cd3)</Identifier> + <Identifier>(0x00006e7b, 0x000049d6)</Identifier> <Source> - <BoxIdentifier>(0x00001449, 0x00001173)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002baa, 0x0000677c)</BoxIdentifier> + <BoxIdentifier>(0x00002ea1, 0x00000937)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007e8b, 0x00000170)</Identifier> + <Identifier>(0x0000759a, 0x00004a1f)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0xeb82c0f0, 0x3795f13e)</BoxInputIdentifier> - </Target> - </Link> - <Link> - <Identifier>(0x1ffeda13, 0x64e650ab)</Identifier> - <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x1ffeda13, 0x64e650ac)</Identifier> + <Identifier>(0x000077c3, 0x00007478)</Identifier> <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4026)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0xf10410f3, 0x4bf71099)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d7)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d4)</Identifier> + <Identifier>(0x000079fc, 0x000022e3)</Identifier> <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxInputIdentifier>(0xc48b247a, 0xbd3518e7)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d5)</Identifier> + <Identifier>(0x00007a3f, 0x000002a3)</Identifier> <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1aa)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x264c41e8, 0x13a25d91)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4026)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6de2fa86, 0x52bb1938)</Identifier> + <Identifier>(0x00007d21, 0x00003cd3)</Identifier> <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> + <BoxIdentifier>(0x00001449, 0x00001173)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> + <BoxIdentifier>(0x00002baa, 0x0000677c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x6de2fa86, 0x52bb1939)</Identifier> + <Identifier>(0x00007e8b, 0x00000170)</Identifier> <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13b)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1aa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxInputIdentifier>(0xeb82c0f0, 0x3795f13e)</BoxInputIdentifier> </Target> </Link> </Links> @@ -3479,7 +2557,7 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1536</Value> + <Value>1552</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> @@ -3497,7 +2575,7 @@ File Suffix = Suffix for script files</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1520</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> @@ -3515,7 +2593,7 @@ File Suffix = suffixe pour les fichiers de config</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1520</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> @@ -3533,7 +2611,7 @@ File Suffix = suffixe pour les fichiers de config</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-384</Value> + <Value>-224</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/features-selection/bci-examples/6-train-classifier.xml b/plugins/processing/features-selection/bci-examples/6-train-classifier.xml index c838ce16562b03e33276befe8d96548c35942d39..0b2f8dfcf0a7d269a46735277c390634ce05c29c 100644 --- a/plugins/processing/features-selection/bci-examples/6-train-classifier.xml +++ b/plugins/processing/features-selection/bci-examples/6-train-classifier.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x003874e6, 0x80815878)</Identifier> @@ -71,7 +71,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch Offset</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> </Setting> <Setting> <Identifier>(0x77d47dd5, 0x3736b2a0)</Identifier> @@ -114,11 +114,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -169,11 +169,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -224,11 +224,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-272</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -249,53 +249,316 @@ </Attributes> </Box> <Box> - <Identifier>(0x000040a1, 0x00002f8d)</Identifier> - <Name>Features Selector</Name> - <AlgorithmClassIdentifier>(0xee36249f, 0x22a32e7e)</AlgorithmClassIdentifier> + <Identifier>(0x000035b1, 0x00002d50)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + <Output> + <Identifier>(0xf10410f3, 0x4bf71099)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 2</Name> + </Output> + <Output> + <Identifier>(0x3df13b48, 0xaee09d71)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 3</Name> + </Output> + <Output> + <Identifier>(0x458171ec, 0x7c5e66ea)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 4</Name> + </Output> + <Output> + <Identifier>(0x89d844bb, 0x42c53632)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 5</Name> + </Output> + <Output> + <Identifier>(0x51ce64c4, 0xb4f74f2f)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 6</Name> + </Output> + <Output> + <Identifier>(0x52d0bc5d, 0xd7f8e561)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 7</Name> + </Output> + <Output> + <Identifier>(0x264c41e8, 0x13a25d91)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 8</Name> + </Output> + <Output> + <Identifier>(0x69e00280, 0x2013d05e)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 9</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Features List</Name> - <DefaultValue>:</DefaultValue> - <Value>:</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>-48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x72567519, 0xdbac3ad5)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>$var{Scripts Path}/features-selected-$var{File Suffix}.xml</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003755, 0x0000141f)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>336</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003755, 0x00001420)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>336</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1056</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> @@ -305,7 +568,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x000040a1, 0x00002f8e)</Identifier> + <Identifier>(0x000040a1, 0x00002f8d)</Identifier> <Name>Features Selector</Name> <AlgorithmClassIdentifier>(0xee36249f, 0x22a32e7e)</AlgorithmClassIdentifier> <Inputs> @@ -332,11 +595,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -361,14 +624,70 @@ </Attributes> </Box> <Box> - <Identifier>(0x000055dc, 0x0000109e)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> + <Identifier>(0x000040a1, 0x00002f8e)</Identifier> + <Name>Features Selector</Name> + <AlgorithmClassIdentifier>(0xee36249f, 0x22a32e7e)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Input</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Output</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Features List</Name> + <DefaultValue>:</DefaultValue> + <Value>:</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>448</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1056</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x72567519, 0xdbac3ad5)</Value> + </Attribute> + <Attribute> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>$var{Scripts Path}/features-selected-$var{File Suffix}.xml</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000055dc, 0x0000109e)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Output stream 2</Name> @@ -394,7 +713,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-384</Value> + <Value>-224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -449,11 +768,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-336</Value> + <Value>-176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -531,7 +850,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -597,7 +916,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-272</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -656,7 +975,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -699,7 +1018,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -723,76 +1042,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00c4af19, 0x360e4025)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x00c4af19, 0x360e4026)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x024f66fc, 0x20e58fa8)</Identifier> <Name>Trials C1</Name> @@ -847,7 +1096,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -912,7 +1161,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -997,7 +1246,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1082,7 +1331,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1167,7 +1416,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1252,7 +1501,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1337,7 +1586,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1422,7 +1671,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1507,7 +1756,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1592,7 +1841,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1706,7 +1955,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1734,7 +1983,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>656</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1766,134 +2015,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x14e0f923, 0x0df1c5d6)</Identifier> - <Name>log(1+x)</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x14e0f923, 0x0df1c5d7)</Identifier> - <Name>log(1+x)</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x24757b65, 0x29027b6f)</Identifier> <Name>Player Controller</Name> @@ -1923,7 +2044,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>720</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -2054,983 +2175,72 @@ </Attributes> </Box> <Box> - <Identifier>(0x38f7f16e, 0x716e5783)</Identifier> - <Name>4-8</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x4bfa765b, 0x56988125)</Identifier> + <Name>Trials C2</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> <Name>Input signal</Name> </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> </Inputs> <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <Name>Epoched signal</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Trial Duration}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5784)</Identifier> - <Name>8-12</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5785)</Identifier> - <Name>12-16</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5786)</Identifier> - <Name>16-20</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5787)</Identifier> - <Name>20-24</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5788)</Identifier> - <Name>24-28</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1072</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5789)</Identifier> - <Name>28-32</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1168</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578a)</Identifier> - <Name>32-36</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1264</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578b)</Identifier> - <Name>36-40</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1360</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x4bfa765b, 0x56988125)</Identifier> - <Name>Trials C2</Name> - <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Input stimulations</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>$var{Trial Duration}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch offset (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>$var{Trial Offset}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation to epoch from</Name> - <DefaultValue>OVTK_GDF_VEP</DefaultValue> - <Value>$var{Class 2}</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>2</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1a9)</Identifier> - <Name>x²</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1aa)</Identifier> - <Name>x²</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>$var{Trial Offset}</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation to epoch from</Name> + <DefaultValue>OVTK_GDF_VEP</DefaultValue> + <Value>$var{Class 2}</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>1056</Value> </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> @@ -3048,25 +2258,25 @@ </Target> </Link> <Link> - <Identifier>(0x00000904, 0x0000009a)</Identifier> + <Identifier>(0x000009c7, 0x0000050c)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x00002ea1, 0x00000937)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> + <BoxIdentifier>(0x00001449, 0x00001174)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000009c7, 0x0000050c)</Identifier> + <Identifier>(0x00000cad, 0x000050ef)</Identifier> <Source> - <BoxIdentifier>(0x00002ea1, 0x00000937)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001449, 0x00001174)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003755, 0x0000141f)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> @@ -3080,6 +2290,28 @@ <BoxInputIdentifier>(0xb830b8b1, 0xa74de4f5)</BoxInputIdentifier> </Target> </Link> + <Link> + <Identifier>(0x0000100c, 0x000025d9)</Identifier> + <Source> + <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00001683, 0x00002972)</Identifier> + <Source> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x69e00280, 0x2013d05e)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00001d35, 0x00007c7e)</Identifier> <Source> @@ -3102,6 +2334,28 @@ <BoxInputIdentifier>(0xf031835f, 0xfd499f54)</BoxInputIdentifier> </Target> </Link> + <Link> + <Identifier>(0x000022c0, 0x00007861)</Identifier> + <Source> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x89d844bb, 0x42c53632)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000235e, 0x00001522)</Identifier> + <Source> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0xf10410f3, 0x4bf71099)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00002514, 0x00006f70)</Identifier> <Source> @@ -3124,17 +2378,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00002543, 0x0000104a)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00002baf, 0x000020aa)</Identifier> <Source> @@ -3158,13 +2401,13 @@ </Target> </Link> <Link> - <Identifier>(0x00002e4f, 0x00000908)</Identifier> + <Identifier>(0x0000323e, 0x00003a0b)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x264c41e8, 0x13a25d91)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3179,6 +2422,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x000034a0, 0x0000279a)</Identifier> + <Source> + <BoxIdentifier>(0x3840709a, 0x3442f13b)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> + </Target> + </Link> <Link> <Identifier>(0x00003a48, 0x000000fd)</Identifier> <Source> @@ -3202,13 +2456,13 @@ </Target> </Link> <Link> - <Identifier>(0x00003e8e, 0x000039f0)</Identifier> + <Identifier>(0x00003df2, 0x00006373)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3246,115 +2500,27 @@ </Target> </Link> <Link> - <Identifier>(0x000045bc, 0x00001b41)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004027)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004028)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004029)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402a)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402b)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402c)</Identifier> + <Identifier>(0x000043de, 0x00005cb1)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00003755, 0x0000141f)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402d)</Identifier> + <Identifier>(0x00004456, 0x00007fac)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x52d0bc5d, 0xd7f8e561)</BoxOutputIdentifier> </Source> <Target> <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402e)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x0000402f)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00004ad8, 0x00000d0b)</Identifier> <Source> @@ -3377,28 +2543,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00004fe5, 0x000074aa)</Identifier> - <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00004fe5, 0x000074ab)</Identifier> - <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d7)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00007442, 0x00001fd1)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000057c9, 0x00007f2b)</Identifier> <Source> @@ -3410,17 +2554,6 @@ <BoxInputIdentifier>(0x5f7bcc3c, 0xe39a6eb0)</BoxInputIdentifier> </Target> </Link> - <Link> - <Identifier>(0x00005d45, 0x000009ac)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00005f4c, 0x00001389)</Identifier> <Source> @@ -3433,24 +2566,24 @@ </Target> </Link> <Link> - <Identifier>(0x00006048, 0x00007415)</Identifier> + <Identifier>(0x00005ffe, 0x00007116)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x458171ec, 0x7c5e66ea)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006ada, 0x00007a88)</Identifier> + <Identifier>(0x000062c6, 0x0000420b)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x3df13b48, 0xaee09d71)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3499,13 +2632,13 @@ </Target> </Link> <Link> - <Identifier>(0x00007019, 0x000013ff)</Identifier> + <Identifier>(0x0000720c, 0x00006535)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3543,68 +2676,13 @@ </Target> </Link> <Link> - <Identifier>(0x1ffeda13, 0x64e650ab)</Identifier> - <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x1ffeda13, 0x64e650ac)</Identifier> - <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4026)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d7)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d4)</Identifier> + <Identifier>(0x00007f7f, 0x000070ea)</Identifier> <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d5)</Identifier> - <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1aa)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4026)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6de2fa86, 0x52bb1938)</Identifier> - <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6de2fa86, 0x52bb1939)</Identifier> - <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x51ce64c4, 0xb4f74f2f)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1aa)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3631,7 +2709,7 @@ </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>64</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -3649,7 +2727,7 @@ File Suffix = Suffix for script files</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>144</Value> + <Value>288</Value> </Attribute> </Attributes> </Comment> @@ -3667,7 +2745,7 @@ File Suffix = suffixe pour les fichiers de config</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>256</Value> + <Value>400</Value> </Attribute> </Attributes> </Comment> @@ -3677,11 +2755,11 @@ File Suffix = suffixe pour les fichiers de config</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>560</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>-384</Value> + <Value>-224</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/features-selection/bci-examples/7-online.xml b/plugins/processing/features-selection/bci-examples/7-online.xml index 688de5d3152d70747a1923545bebc11081a91d05..76c0c083fb99b7aaf8515f89eeeff7ae03e30449 100644 --- a/plugins/processing/features-selection/bci-examples/7-online.xml +++ b/plugins/processing/features-selection/bci-examples/7-online.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x003874e6, 0x80815878)</Identifier> @@ -71,7 +71,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch Offset</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> </Setting> </Settings> <Inputs></Inputs> @@ -106,7 +106,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -183,7 +183,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -215,61 +215,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x0000141c, 0x00003c43)</Identifier> - <Name>Identity</Name> - <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Input stream</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa8ffe2a3, 0x27038f03)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00001881, 0x0000648e)</Identifier> <Name>Raw OV</Name> @@ -307,11 +252,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>-272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>656</Value> + <Value>736</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -459,28 +404,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -491,7 +436,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -528,34 +473,211 @@ </Attributes> </Box> <Box> - <Identifier>(0x000040a1, 0x00002f8d)</Identifier> - <Name>Features Selector</Name> - <AlgorithmClassIdentifier>(0xee36249f, 0x22a32e7e)</AlgorithmClassIdentifier> + <Identifier>(0x000035b1, 0x00002d50)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Input</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + <Output> + <Identifier>(0xf10410f3, 0x4bf71099)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 2</Name> + </Output> + <Output> + <Identifier>(0x3df13b48, 0xaee09d71)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 3</Name> + </Output> + <Output> + <Identifier>(0x458171ec, 0x7c5e66ea)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 4</Name> + </Output> + <Output> + <Identifier>(0x89d844bb, 0x42c53632)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 5</Name> + </Output> + <Output> + <Identifier>(0x51ce64c4, 0xb4f74f2f)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 6</Name> + </Output> + <Output> + <Identifier>(0x52d0bc5d, 0xd7f8e561)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 7</Name> + </Output> + <Output> + <Identifier>(0x264c41e8, 0x13a25d91)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 8</Name> + </Output> + <Output> + <Identifier>(0x69e00280, 0x2013d05e)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 9</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Features List</Name> - <DefaultValue>:</DefaultValue> - <Value>:</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>-208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -563,11 +685,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x72567519, 0xdbac3ad5)</Value> - </Attribute> - <Attribute> - <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> - <Value>$var{Scripts Path}/features-selected-$var{File Suffix}.xml</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -575,7 +693,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -584,54 +702,155 @@ </Attributes> </Box> <Box> - <Identifier>(0x00004390, 0x000055c5)</Identifier> - <Name>Raw GDF</Name> - <AlgorithmClassIdentifier>(0x1e7b2155, 0x107289ce)</AlgorithmClassIdentifier> + <Identifier>(0x00003755, 0x00001420)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Experiment information</Name> - </Input> - <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Signal</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulation</Name> + <Name>Input Signal</Name> </Input> </Inputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue>record-[$core{date}-$core{time}].gdf</DefaultValue> - <Value>$var{Signals Path}/$var{File Prefix}_raw-[$core{date}-$core{time}].gdf</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-256</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>800</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xd41e3037, 0xcc12644a)</Value> + <Value>(0x901eef72, 0xd343e4d1)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00c660e3)</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> </Attribute> - <Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000040a1, 0x00002f8d)</Identifier> + <Name>Features Selector</Name> + <AlgorithmClassIdentifier>(0xee36249f, 0x22a32e7e)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Input</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Output</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Features List</Name> + <DefaultValue>:</DefaultValue> + <Value>:</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x72567519, 0xdbac3ad5)</Value> + </Attribute> + <Attribute> + <Identifier>(0x8d21ff41, 0xdf6afe7e)</Identifier> + <Value>$var{Scripts Path}/features-selected-$var{File Suffix}.xml</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00004390, 0x000055c5)</Identifier> + <Name>Raw GDF</Name> + <AlgorithmClassIdentifier>(0x1e7b2155, 0x107289ce)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Experiment information</Name> + </Input> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulation</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].gdf</DefaultValue> + <Value>$var{Signals Path}/$var{File Prefix}_raw-[$core{date}-$core{time}].gdf</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>832</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xd41e3037, 0xcc12644a)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x00c660e3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> </Attribute> @@ -781,7 +1000,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -846,7 +1065,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -875,7 +1094,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006266, 0x00000e24)</Identifier> + <Identifier>(0x00006266, 0x00000e25)</Identifier> <Name>Signal Merger</Name> <AlgorithmClassIdentifier>(0x4bf9326f, 0x75603102)</AlgorithmClassIdentifier> <Inputs> @@ -932,7 +1151,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1139,7 +1358,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1192,7 +1411,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1221,42 +1440,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x00c4af19, 0x360e4025)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x038cae1a, 0x03e0da64)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da6d)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1304,7 +1488,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1341,7 +1525,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da65)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da6e)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1389,7 +1573,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1426,7 +1610,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da66)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da6f)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1474,7 +1658,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1511,7 +1695,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da67)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da70)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1559,7 +1743,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1596,7 +1780,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da68)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da71)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1644,7 +1828,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1681,7 +1865,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da69)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da72)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1729,7 +1913,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1766,7 +1950,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da6a)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da73)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1814,7 +1998,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1851,7 +2035,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da6b)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da74)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1899,7 +2083,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1936,7 +2120,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da6c)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da75)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1984,7 +2168,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -2020,70 +2204,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x14e0f923, 0x0df1c5d6)</Identifier> - <Name>log(1+x)</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x24757b65, 0x29027b70)</Identifier> <Name>Player Controller</Name> @@ -2113,7 +2233,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>624</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -2150,828 +2270,45 @@ <Outputs> <Output> <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Epoched signal 1</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch 1 duration (in sec)</Name> - <DefaultValue>1</DefaultValue> - <Value>$var{Epoch Duration}</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Epoch 1 intervals (in sec)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>$var{Epoch Offset}</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff41e9, 0xccc59a01)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x006bdf4b)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5783)</Identifier> - <Name>4-8</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5784)</Identifier> - <Name>8-12</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5785)</Identifier> - <Name>12-16</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5786)</Identifier> - <Name>16-20</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5787)</Identifier> - <Name>20-24</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5788)</Identifier> - <Name>24-28</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1072</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5789)</Identifier> - <Name>28-32</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1168</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578a)</Identifier> - <Name>32-36</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1264</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578b)</Identifier> - <Name>36-40</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> + <Name>Epoched signal 1</Name> + </Output> + </Outputs> + <Settings> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> + <Name>Epoch 1 duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>$var{Epoch Duration}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> + <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>1</Value> + <Value>$var{Epoch Offset}</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1360</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x006bdf4b)</Value> </Attribute> </Attributes> </Box> @@ -3015,7 +2352,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -3043,102 +2380,27 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1a9)</Identifier> - <Name>x²</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000904, 0x0000009a)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00000c70, 0x0000597e)</Identifier> + <Identifier>(0x00000313, 0x000070c4)</Identifier> <Source> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x00000d4c, 0x00004008)</Identifier> + <Identifier>(0x00000d4c, 0x00004009)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da73)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xb830b8b1, 0xa74de4f5)</BoxInputIdentifier> </Target> </Link> @@ -3164,6 +2426,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00001683, 0x00002972)</Identifier> + <Source> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x69e00280, 0x2013d05e)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x038cae1a, 0x03e0da75)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00001f90, 0x0000448e)</Identifier> <Source> @@ -3176,46 +2449,46 @@ </Target> </Link> <Link> - <Identifier>(0x0000203b, 0x000026a7)</Identifier> + <Identifier>(0x0000203b, 0x000026a8)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xf031835f, 0xfd499f54)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x00002541, 0x00001634)</Identifier> + <Identifier>(0x000022c0, 0x00007861)</Identifier> <Source> - <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x89d844bb, 0x42c53632)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x000040a1, 0x00002f8d)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da71)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002543, 0x0000104a)</Identifier> + <Identifier>(0x0000235e, 0x00001522)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0xf10410f3, 0x4bf71099)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002e4f, 0x00000908)</Identifier> + <Identifier>(0x00002541, 0x00001634)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> + <BoxIdentifier>(0x000040a1, 0x00002f8d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3242,181 +2515,93 @@ </Target> </Link> <Link> - <Identifier>(0x000033c9, 0x00000120)</Identifier> - <Source> - <BoxIdentifier>(0x5e704572, 0x05e86e99)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00005511, 0x00002f0c)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00003e8e, 0x000039f0)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00004053, 0x00002a55)</Identifier> - <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0xd872563e, 0xc482f033)</BoxInputIdentifier> - </Target> - </Link> - <Link> - <Identifier>(0x000045bc, 0x00001b41)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004027)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004028)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004029)</Identifier> + <Identifier>(0x0000323e, 0x00003a0b)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x264c41e8, 0x13a25d91)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da74)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402a)</Identifier> + <Identifier>(0x000033c9, 0x00000120)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x5e704572, 0x05e86e99)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00005511, 0x00002f0c)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402b)</Identifier> + <Identifier>(0x00003432, 0x00007b1f)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402c)</Identifier> + <Identifier>(0x000037a6, 0x00006def)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402d)</Identifier> + <Identifier>(0x00003e4f, 0x000058a8)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402e)</Identifier> + <Identifier>(0x00004053, 0x00002a56)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da70)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> + <BoxInputIdentifier>(0xd872563e, 0xc482f033)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402f)</Identifier> + <Identifier>(0x00004456, 0x00007fac)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x52d0bc5d, 0xd7f8e561)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da73)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004ad8, 0x00000d0b)</Identifier> + <Identifier>(0x00004ad8, 0x00000d0c)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da74)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xfa16eb48, 0x996f530e)</BoxInputIdentifier> </Target> </Link> - <Link> - <Identifier>(0x00004b1e, 0x000034b6)</Identifier> - <Source> - <BoxIdentifier>(0x0000465a, 0x00004dbf)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x0000141c, 0x00003c43)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00004fe5, 0x000074aa)</Identifier> - <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000053ec, 0x000057b2)</Identifier> <Source> @@ -3429,13 +2614,13 @@ </Target> </Link> <Link> - <Identifier>(0x000057c9, 0x00007f2b)</Identifier> + <Identifier>(0x000057c9, 0x00007f2c)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da72)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0x5f7bcc3c, 0xe39a6eb0)</BoxInputIdentifier> </Target> </Link> @@ -3451,24 +2636,24 @@ </Target> </Link> <Link> - <Identifier>(0x00005d45, 0x000009ac)</Identifier> + <Identifier>(0x00005ffe, 0x00007116)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x458171ec, 0x7c5e66ea)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da70)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006048, 0x00007415)</Identifier> + <Identifier>(0x000062c6, 0x0000420b)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x3df13b48, 0xaee09d71)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3517,24 +2702,13 @@ </Target> </Link> <Link> - <Identifier>(0x00006ada, 0x00007a88)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00006d9d, 0x00000a90)</Identifier> + <Identifier>(0x00006d9d, 0x00000a91)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> @@ -3549,17 +2723,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00007019, 0x000013ff)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x0000711e, 0x00003245)</Identifier> <Source> @@ -3583,46 +2746,35 @@ </Target> </Link> <Link> - <Identifier>(0x0000759a, 0x00004a1f)</Identifier> - <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00007818, 0x0000649d)</Identifier> + <Identifier>(0x0000720c, 0x00006535)</Identifier> <Source> - <BoxIdentifier>(0x0000141c, 0x00003c43)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004390, 0x000055c5)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007854, 0x0000729e)</Identifier> + <Identifier>(0x0000759a, 0x00004a20)</Identifier> <Source> - <BoxIdentifier>(0x0000141c, 0x00003c43)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001881, 0x0000648e)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000079fc, 0x000022e3)</Identifier> + <Identifier>(0x000079fc, 0x000022e4)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da71)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xc48b247a, 0xbd3518e7)</BoxInputIdentifier> </Target> </Link> @@ -3638,46 +2790,24 @@ </Target> </Link> <Link> - <Identifier>(0x00007e8b, 0x00000170)</Identifier> + <Identifier>(0x00007e8b, 0x00000171)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da75)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xeb82c0f0, 0x3795f13e)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x1ffeda13, 0x64e650ab)</Identifier> - <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d4)</Identifier> - <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6de2fa86, 0x52bb1938)</Identifier> + <Identifier>(0x00007f7f, 0x000070ea)</Identifier> <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x51ce64c4, 0xb4f74f2f)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da72)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -3693,7 +2823,7 @@ </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>16</Value> + <Value>-480</Value> </Attribute> </Attributes> </Comment> @@ -3714,11 +2844,11 @@ File Format for saved signals : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1552</Value> + <Value>1568</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>160</Value> + <Value>-336</Value> </Attribute> </Attributes> </Comment> @@ -3739,11 +2869,11 @@ Format de fichier pour les signaux enregistrés : <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1552</Value> + <Value>1536</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>384</Value> + <Value>64</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/features-selection/bci-examples/8-replay.xml b/plugins/processing/features-selection/bci-examples/8-replay.xml index f6c170d30b8e4bd0a492fd263f7f77de01ce5a67..f2318101d25a32d2402faadf11a47512f091aa52 100644 --- a/plugins/processing/features-selection/bci-examples/8-replay.xml +++ b/plugins/processing/features-selection/bci-examples/8-replay.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x003874e6, 0x80815878)</Identifier> @@ -36,7 +36,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch Offset</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> </Setting> </Settings> <Inputs></Inputs> @@ -120,7 +120,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -233,6 +233,280 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000035b1, 0x00002d50)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + <Output> + <Identifier>(0xf10410f3, 0x4bf71099)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 2</Name> + </Output> + <Output> + <Identifier>(0x3df13b48, 0xaee09d71)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 3</Name> + </Output> + <Output> + <Identifier>(0x458171ec, 0x7c5e66ea)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 4</Name> + </Output> + <Output> + <Identifier>(0x89d844bb, 0x42c53632)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 5</Name> + </Output> + <Output> + <Identifier>(0x51ce64c4, 0xb4f74f2f)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 6</Name> + </Output> + <Output> + <Identifier>(0x52d0bc5d, 0xd7f8e561)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 7</Name> + </Output> + <Output> + <Identifier>(0x264c41e8, 0x13a25d91)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 8</Name> + </Output> + <Output> + <Identifier>(0x69e00280, 0x2013d05e)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal 9</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 2 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>12</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 3 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 4 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 5 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 6 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>28</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 7 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 8 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>36</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency 9 (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003755, 0x00001420)</Identifier> + <Name>Signal Power Log</Name> + <AlgorithmClassIdentifier>(0xfe420cb6, 0x5f2ba4c3)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x4a942408, 0x0f60530d)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0xfde6fdc7, 0x231f1d75)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Filtered Signal</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x198dd621, 0xab7f153f)</Identifier> + <Value>(0x5cc5d488, 0xce5b5128)</Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>80</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x901eef72, 0xd343e4d1)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000040a1, 0x00002f8d)</Identifier> <Name>Features Selector</Name> @@ -261,7 +535,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -356,7 +630,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -435,7 +709,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006266, 0x00000e24)</Identifier> + <Identifier>(0x00006266, 0x00000e25)</Identifier> <Name>Signal Merger</Name> <AlgorithmClassIdentifier>(0x4bf9326f, 0x75603102)</AlgorithmClassIdentifier> <Inputs> @@ -492,7 +766,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>-32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -670,7 +944,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -695,42 +969,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x00c4af19, 0x360e4025)</Identifier> - <Name>Signal average</Name> - <AlgorithmClassIdentifier>(0x00642c4d, 0x5df7e50a)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xc5ff4187, 0xffc5f432)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004da903)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x038cae1a, 0x03e0da64)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da6d)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -778,7 +1017,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -815,7 +1054,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da65)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da6e)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -863,7 +1102,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -900,7 +1139,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da66)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da6f)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -948,7 +1187,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -985,7 +1224,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da67)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da70)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1033,7 +1272,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1070,7 +1309,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da68)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da71)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1118,7 +1357,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1155,7 +1394,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da69)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da72)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1203,7 +1442,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1240,7 +1479,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da6a)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da73)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1288,7 +1527,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1325,7 +1564,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da6b)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da74)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1373,7 +1612,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1410,7 +1649,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x038cae1a, 0x03e0da6c)</Identifier> + <Identifier>(0x038cae1a, 0x03e0da75)</Identifier> <Name>Spatial Filter</Name> <AlgorithmClassIdentifier>(0xdd332c6c, 0x195b4fd4)</AlgorithmClassIdentifier> <Inputs> @@ -1458,7 +1697,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-32</Value> + <Value>-112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1495,71 +1734,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x14e0f923, 0x0df1c5d6)</Identifier> - <Name>log(1+x)</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>log(1+x)</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x3840709a, 0x3442f13a)</Identifier> + <Identifier>(0x3840709a, 0x3442f13b)</Identifier> <Name>Time based epoching</Name> <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> <Inputs> @@ -1597,7 +1772,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1614,941 +1789,94 @@ </Attributes> </Box> <Box> - <Identifier>(0x38f7f16e, 0x716e5783)</Identifier> - <Name>4-8</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x5e704572, 0x05e86e99)</Identifier> + <Name>Classifier processor</Name> + <AlgorithmClassIdentifier>(0x5fe23d17, 0x95b0452c)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> + <Name>Features</Name> </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>592</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5784)</Identifier> - <Name>8-12</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Commands</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Labels</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Hyperplane distance</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Probability values</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename to load configuration from</Name> + <DefaultValue></DefaultValue> + <Value>$var{Scripts Path}/classifier.xml</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> + <Value>976</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0xa6c8e548, 0x9e3e405b)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> + <Value>3</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5785)</Identifier> - <Name>12-16</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>12</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5786)</Identifier> - <Name>16-20</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>16</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5787)</Identifier> - <Name>20-24</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5788)</Identifier> - <Name>24-28</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>24</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1072</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e5789)</Identifier> - <Name>28-32</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>28</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1168</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578a)</Identifier> - <Name>32-36</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1264</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x38f7f16e, 0x716e578b)</Identifier> - <Name>36-40</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>5</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>36</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>1</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1360</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x5e704572, 0x05e86e99)</Identifier> - <Name>Classifier processor</Name> - <AlgorithmClassIdentifier>(0x5fe23d17, 0x95b0452c)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x17341935, 0x152ff448)</TypeIdentifier> - <Name>Features</Name> - </Input> - <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Commands</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Labels</Name> - </Output> - <Output> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Hyperplane distance</Name> - </Output> - <Output> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Probability values</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename to load configuration from</Name> - <DefaultValue></DefaultValue> - <Value>$var{Scripts Path}/classifier.xml</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa6c8e548, 0x9e3e405b)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>3</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>2</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x602bbc4d, 0x5f35c1a9)</Identifier> - <Name>x²</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>x*x</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>976</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> + <Value>2</Value> </Attribute> </Attributes> </Box> </Boxes> <Links> <Link> - <Identifier>(0x0000086e, 0x00005af4)</Identifier> + <Identifier>(0x00000313, 0x000070c4)</Identifier> <Source> - <BoxIdentifier>(0x0000053d, 0x00004adc)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004b91, 0x00002aea)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxInputIdentifier>(0x4a942408, 0x0f60530d)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x00000904, 0x0000009a)</Identifier> + <Identifier>(0x0000086e, 0x00005af4)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x0000053d, 0x00004adc)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> + <BoxIdentifier>(0x00004b91, 0x00002aea)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2564,269 +1892,192 @@ </Target> </Link> <Link> - <Identifier>(0x00000c70, 0x0000597e)</Identifier> - <Source> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00000d4c, 0x00004008)</Identifier> + <Identifier>(0x00000d4c, 0x00004009)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da73)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xb830b8b1, 0xa74de4f5)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000012ce, 0x00007d5c)</Identifier> - <Source> - <BoxIdentifier>(0x000040a1, 0x00002f8d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x5e704572, 0x05e86e99)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x0000203b, 0x000026a7)</Identifier> + <Identifier>(0x00000f16, 0x00003760)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00003755, 0x00001420)</BoxIdentifier> + <BoxOutputIdentifier>(0xfde6fdc7, 0x231f1d75)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0xf031835f, 0xfd499f54)</BoxInputIdentifier> - </Target> - </Link> - <Link> - <Identifier>(0x00002541, 0x00001634)</Identifier> - <Source> <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000040a1, 0x00002f8d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002543, 0x0000104a)</Identifier> + <Identifier>(0x000012ce, 0x00007d5c)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x000040a1, 0x00002f8d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> + <BoxIdentifier>(0x5e704572, 0x05e86e99)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002958, 0x00002d50)</Identifier> + <Identifier>(0x00001683, 0x00002972)</Identifier> <Source> - <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x69e00280, 0x2013d05e)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0000053d, 0x00004adb)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da75)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002e4f, 0x00000908)</Identifier> + <Identifier>(0x0000203b, 0x000026a8)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6f)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> + <BoxInputIdentifier>(0xf031835f, 0xfd499f54)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000030c7, 0x0000440b)</Identifier> + <Identifier>(0x000022c0, 0x00007861)</Identifier> <Source> - <BoxIdentifier>(0x0000053d, 0x00004adb)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x89d844bb, 0x42c53632)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x0000743e, 0x000010d3)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da71)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000343f, 0x000072aa)</Identifier> + <Identifier>(0x0000235e, 0x00001522)</Identifier> <Source> - <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0xf10410f3, 0x4bf71099)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00003e8e, 0x000039f0)</Identifier> + <Identifier>(0x00002541, 0x00001634)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> + <BoxIdentifier>(0x000040a1, 0x00002f8d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004053, 0x00002a55)</Identifier> - <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> - <BoxInputIdentifier>(0xd872563e, 0xc482f033)</BoxInputIdentifier> - </Target> - </Link> - <Link> - <Identifier>(0x000045bc, 0x00001b41)</Identifier> + <Identifier>(0x0000290f, 0x000013d6)</Identifier> <Source> <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004027)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x000046d8, 0x00004028)</Identifier> - <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x00004029)</Identifier> + <Identifier>(0x00002958, 0x00002d50)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da66)</BoxIdentifier> + <BoxIdentifier>(0x0000053d, 0x00004adb)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402a)</Identifier> + <Identifier>(0x000030c7, 0x0000440b)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5786)</BoxIdentifier> + <BoxIdentifier>(0x0000053d, 0x00004adb)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da67)</BoxIdentifier> + <BoxIdentifier>(0x0000743e, 0x000010d3)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402b)</Identifier> + <Identifier>(0x0000323e, 0x00003a0b)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5787)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x264c41e8, 0x13a25d91)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da74)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402c)</Identifier> + <Identifier>(0x00003432, 0x00007b1f)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> + <BoxIdentifier>(0x3840709a, 0x3442f13b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402d)</Identifier> + <Identifier>(0x0000343f, 0x000072aa)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e5789)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000055dc, 0x0000109e)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6a)</BoxIdentifier> + <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402e)</Identifier> + <Identifier>(0x00004053, 0x00002a56)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578a)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da70)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> + <BoxInputIdentifier>(0xd872563e, 0xc482f033)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x000046d8, 0x0000402f)</Identifier> + <Identifier>(0x00004456, 0x00007fac)</Identifier> <Source> - <BoxIdentifier>(0x38f7f16e, 0x716e578b)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x52d0bc5d, 0xd7f8e561)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da73)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004ad8, 0x00000d0b)</Identifier> + <Identifier>(0x00004ad8, 0x00000d0c)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6b)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da74)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xfa16eb48, 0x996f530e)</BoxInputIdentifier> </Target> </Link> - <Link> - <Identifier>(0x00004fe5, 0x000074aa)</Identifier> - <Source> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00007442, 0x00001fd0)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00005005, 0x00004c9a)</Identifier> <Source> @@ -2839,35 +2090,35 @@ </Target> </Link> <Link> - <Identifier>(0x000057c9, 0x00007f2b)</Identifier> + <Identifier>(0x000057c9, 0x00007f2c)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da69)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da72)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0x5f7bcc3c, 0xe39a6eb0)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x00005d45, 0x000009ac)</Identifier> + <Identifier>(0x00005ffe, 0x00007116)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x458171ec, 0x7c5e66ea)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5784)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da70)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006048, 0x00007415)</Identifier> + <Identifier>(0x000062c6, 0x0000420b)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x3df13b48, 0xaee09d71)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5788)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2883,101 +2134,68 @@ </Target> </Link> <Link> - <Identifier>(0x00006ada, 0x00007a88)</Identifier> - <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5783)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x00006d9d, 0x00000a90)</Identifier> + <Identifier>(0x00006d9d, 0x00000a91)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da65)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6e)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007019, 0x000013ff)</Identifier> + <Identifier>(0x0000720c, 0x00006535)</Identifier> <Source> - <BoxIdentifier>(0x000065a7, 0x00000786)</BoxIdentifier> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x38f7f16e, 0x716e5785)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x0000759a, 0x00004a1f)</Identifier> + <Identifier>(0x0000759a, 0x00004a20)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da64)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da6d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000079fc, 0x000022e3)</Identifier> + <Identifier>(0x000079fc, 0x000022e4)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da68)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da71)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xc48b247a, 0xbd3518e7)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x00007e8b, 0x00000170)</Identifier> + <Identifier>(0x00007e8b, 0x00000171)</Identifier> <Source> - <BoxIdentifier>(0x038cae1a, 0x03e0da6c)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da75)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006266, 0x00000e24)</BoxIdentifier> + <BoxIdentifier>(0x00006266, 0x00000e25)</BoxIdentifier> <BoxInputIdentifier>(0xeb82c0f0, 0x3795f13e)</BoxInputIdentifier> </Target> </Link> <Link> - <Identifier>(0x1ffeda13, 0x64e650ab)</Identifier> - <Source> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x14e0f923, 0x0df1c5d6)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x25ef8382, 0x4e0eb6d4)</Identifier> - <Source> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00c4af19, 0x360e4025)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> - <Link> - <Identifier>(0x6de2fa86, 0x52bb1938)</Identifier> + <Identifier>(0x00007f7f, 0x000070ea)</Identifier> <Source> - <BoxIdentifier>(0x3840709a, 0x3442f13a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x000035b1, 0x00002d50)</BoxIdentifier> + <BoxOutputIdentifier>(0x51ce64c4, 0xb4f74f2f)</BoxOutputIdentifier> </Source> <Target> - <BoxIdentifier>(0x602bbc4d, 0x5f35c1a9)</BoxIdentifier> + <BoxIdentifier>(0x038cae1a, 0x03e0da72)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -2993,7 +2211,7 @@ </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>128</Value> + <Value>0</Value> </Attribute> </Attributes> </Comment> @@ -3011,7 +2229,7 @@ File Suffix = Suffix for script files</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>224</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> @@ -3029,7 +2247,7 @@ File Suffix = suffixe pour les fichiers de config</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>352</Value> + <Value>224</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/features-selection/box-tutorials/features-selection-trainer.xml b/plugins/processing/features-selection/box-tutorials/features-selection-trainer.xml index 4ff280c5a8cced9a3a33c1814dfa5d6e6d47b6cf..350f92dacfe37f5f1783ac83817c5a279ef04900 100644 --- a/plugins/processing/features-selection/box-tutorials/features-selection-trainer.xml +++ b/plugins/processing/features-selection/box-tutorials/features-selection-trainer.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -679,7 +679,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Threshold</Name> <DefaultValue>0.0</DefaultValue> - <Value>0.0</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> diff --git a/plugins/processing/features-selection/box-tutorials/features-selector.xml b/plugins/processing/features-selection/box-tutorials/features-selector.xml index 0e1d7c2d27a41f94969b6f2d846246a91e307788..72d4787501e0a05755fee8fa384598c219329058 100644 --- a/plugins/processing/features-selection/box-tutorials/features-selector.xml +++ b/plugins/processing/features-selection/box-tutorials/features-selector.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> diff --git a/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.cpp b/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.cpp index 988069db5b15409f883b7a2db5f3bfc9c0c50cc4..0f78af765d78c23eb91bebc534bbd84977190add 100644 --- a/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.cpp +++ b/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.cpp @@ -97,9 +97,9 @@ bool CBoxAlgorithmFeaturesSelection::process() } if (m_stimDecoder.isBufferReceived()) // Buffer received { - for (size_t j = 0; j < m_iStim->getStimulationCount(); ++j) + for (size_t j = 0; j < m_iStim->size(); ++j) { - if (m_iStim->getStimulationIdentifier(j) == m_stimName) + if (m_iStim->getId(j) == m_stimName) { // Process getLogManager() << m_logLevel << "Train Flag Received, selector infos : \n" << m_selector.print(); @@ -113,7 +113,7 @@ bool CBoxAlgorithmFeaturesSelection::process() // Send Stimulation const uint64_t stim = this->getTypeManager().getEnumerationEntryValueFromName(OV_TypeId_Stimulation, "OVTK_StimulationId_TrainCompleted"); - m_oStim->appendStimulation(stim, m_iStim->getStimulationDate(j), 0); + m_oStim->push_back(stim, m_iStim->getDate(j), 0); m_isTrain = true; } } diff --git a/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.hpp b/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.hpp index fd7e76e58080d91f9dcb8079663d9171eb9a5f7b..d0767684c65ca38915b35f7ccdda2bfe8841f129 100644 --- a/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.hpp +++ b/plugins/processing/features-selection/src/boxes/CBoxAlgorithmFeaturesSelection.hpp @@ -43,7 +43,7 @@ protected: Toolkit::TStimulationEncoder<CBoxAlgorithmFeaturesSelection> m_stimEncoder; std::vector<Toolkit::TFeatureVectorDecoder<CBoxAlgorithmFeaturesSelection>> m_featuresDecoders; std::vector<CMatrix*> m_iFeatures; // Input Matrix pointer - IStimulationSet *m_iStim = nullptr, *m_oStim = nullptr; // Stimulation receiver/sender + CStimulationSet *m_iStim = nullptr, *m_oStim = nullptr; // Stimulation receiver/sender //***** Settings ***** Kernel::ELogLevel m_logLevel = Kernel::LogLevel_Info; // Log Level diff --git a/plugins/processing/features-selection/test/scenarios-tests/Features-Selection-test.xml b/plugins/processing/features-selection/test/scenarios-tests/Features-Selection-test.xml index b00bc24d50ac2c55360b49b49bd34ae306b26441..2be5ea1addf7b5722c9894fdee56f1bc870c3ad9 100644 --- a/plugins/processing/features-selection/test/scenarios-tests/Features-Selection-test.xml +++ b/plugins/processing/features-selection/test/scenarios-tests/Features-Selection-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x8bde916d, 0x217d8861)</Identifier> @@ -159,7 +159,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Threshold</Name> <DefaultValue>0.0</DefaultValue> - <Value>0.0</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -302,7 +302,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -352,7 +352,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -402,7 +402,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -452,7 +452,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -502,7 +502,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -552,7 +552,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -602,7 +602,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/features-selection/test/scenarios-tests/Features-Selector-test.xml b/plugins/processing/features-selection/test/scenarios-tests/Features-Selector-test.xml index 3da33e98eed763a3955975e2c176aad9171aeee6..99fe0a9790f6d46aa92f02161b2bb877927aee66 100644 --- a/plugins/processing/features-selection/test/scenarios-tests/Features-Selector-test.xml +++ b/plugins/processing/features-selection/test/scenarios-tests/Features-Selector-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x8bde916d, 0x217d8861)</Identifier> @@ -101,7 +101,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -220,7 +220,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/file-io/CMakeLists.txt b/plugins/processing/file-io/CMakeLists.txt index fa204c6a14ff3bcad67ff9f2250e7e245f145674..262da8ab06e161090865cc6c07db0dd4dcc822b0 100644 --- a/plugins/processing/file-io/CMakeLists.txt +++ b/plugins/processing/file-io/CMakeLists.txt @@ -11,6 +11,8 @@ target_link_libraries(${PROJECT_NAME} openvibe-module-system openvibe-module-xml openvibe-module-fs + Boost::boost + Boost::regex ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -22,11 +24,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) include_directories("src") - -# OpenViBE Third Party -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_Regex") - # --------------------------------- # Target macros # Defines target operating system, architecture and compiler diff --git a/plugins/processing/file-io/box-tutorials/gdf-reader.xml b/plugins/processing/file-io/box-tutorials/gdf-reader.xml index 80cb4419d6cb6a61fe6a97cd6d09ee50774c2615..c7a64f6a703510893883d5e5327832445ff50250 100644 --- a/plugins/processing/file-io/box-tutorials/gdf-reader.xml +++ b/plugins/processing/file-io/box-tutorials/gdf-reader.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00003095, 0x0000083c)</Identifier> @@ -89,15 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,14 +106,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -173,24 +164,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>123</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00a753ca)</Value> @@ -221,24 +204,6 @@ <BoxIdentifier>(0x00003095, 0x0000083c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>184</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>337</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004818, 0x00007e41)</Identifier> @@ -250,24 +215,6 @@ <BoxIdentifier>(0x00003095, 0x0000083c)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>383</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>184</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>352</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -323,7 +270,7 @@ data format for biomedical data.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00003095, 0x0000083c)","childCount":0,"identifier":"(0x00000dd5, 0x00002bd9)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00006b68, 0x000051e7)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004775, 0x00005b97)","index":0,"name":"Default tab","parentIdentifier":"(0x00006b68, 0x000051e7)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00007276, 0x00006df8)","index":0,"name":"Empty","parentIdentifier":"(0x00004775, 0x00005b97)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x00003095, 0x0000083c)","childCount":0,"identifier":"(0x00000dd5, 0x00002bd9)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00006b68, 0x000051e7)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004775, 0x00005b97)","index":0,"name":"Default tab","parentIdentifier":"(0x00006b68, 0x000051e7)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00007276, 0x00006df8)","index":0,"name":"Empty","parentIdentifier":"(0x00004775, 0x00005b97)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/file-io/box-tutorials/generic-stream-reader.xml b/plugins/processing/file-io/box-tutorials/generic-stream-reader.xml index 066223926b50a4b9d877396bfddad393ea428822..be565eaa303af11dc6530efe24dcdc55a08f4cb0 100644 --- a/plugins/processing/file-io/box-tutorials/generic-stream-reader.xml +++ b/plugins/processing/file-io/box-tutorials/generic-stream-reader.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.2.99</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -40,7 +40,7 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -146,11 +146,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208.000000</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/file-io/box-tutorials/signal-concatenation.xml b/plugins/processing/file-io/box-tutorials/signal-concatenation.xml index 43326496287fd849260f3e10d4345d278b56360e..5fa2b2a666c0d3f9231045965d4e5b55c871b54d 100644 --- a/plugins/processing/file-io/box-tutorials/signal-concatenation.xml +++ b/plugins/processing/file-io/box-tutorials/signal-concatenation.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000014d0, 0x00006e53)</Identifier> @@ -33,24 +36,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>320.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd41e3037, 0xcc12644a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>102</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002eba2a)</Value> @@ -127,24 +122,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x2071186d, 0x08fedd4a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>148</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00a5ce58)</Value> @@ -196,24 +183,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002c907c)</Value> @@ -276,24 +255,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>176.000000</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x01087006)</Value> @@ -356,32 +327,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>80</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x000dc339)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -408,24 +367,6 @@ <BoxIdentifier>(0x000014d0, 0x00006e53)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>305</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>224</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000157b, 0x00006c4b)</Identifier> @@ -437,24 +378,6 @@ <BoxIdentifier>(0x000014d0, 0x00006e53)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>98</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>161</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>209</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000024b5, 0x00003f90)</Identifier> @@ -466,24 +389,6 @@ <BoxIdentifier>(0x000014d0, 0x00006e53)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>239</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000026b8, 0x00007cdc)</Identifier> @@ -495,24 +400,6 @@ <BoxIdentifier>(0x00002e3b, 0x000031a4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>98</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>176</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>297</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002b7e, 0x00005e63)</Identifier> @@ -524,24 +411,6 @@ <BoxIdentifier>(0x00002e3b, 0x000031a4)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>98</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>327</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002fd3, 0x00001a24)</Identifier> @@ -553,24 +422,6 @@ <BoxIdentifier>(0x00002e3b, 0x000031a4)</BoxIdentifier> <BoxInputIndex>3</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>98</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>367</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>342</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000537f, 0x00002c3d)</Identifier> @@ -582,24 +433,6 @@ <BoxIdentifier>(0x00002e3b, 0x000031a4)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>98</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>191</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>312</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007d07, 0x000012ca)</Identifier> @@ -611,24 +444,6 @@ <BoxIdentifier>(0x00003a1f, 0x00000d0f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>335</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -638,11 +453,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>688.000000</Value> + <Value>688</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> </Attributes> </Comment> @@ -667,11 +482,11 @@ after <i>Signal Concatenation</i> is finished.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>673.000000</Value> + <Value>673</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>175.000000</Value> + <Value>175</Value> </Attribute> </Attributes> </Comment> @@ -680,7 +495,7 @@ after <i>Signal Concatenation</i> is finished.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00002968, 0x000001df)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000bb7, 0x00002c66)","index":0,"name":"Default tab","parentIdentifier":"(0x00002968, 0x000001df)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000067e2, 0x00001447)","index":0,"name":"Empty","parentIdentifier":"(0x00000bb7, 0x00002c66)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x00002968, 0x000001df)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000bb7, 0x00002c66)","index":0,"name":"Default tab","parentIdentifier":"(0x00002968, 0x000001df)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000067e2, 0x00001447)","index":0,"name":"Empty","parentIdentifier":"(0x00000bb7, 0x00002c66)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.cpp b/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.cpp index 8d3f14b97ca14b78cb216e898b3a680b6eb8f5d7..1cdc0c298e91a43e48a6843f095744f52fb119f0 100644 --- a/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.cpp +++ b/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.cpp @@ -404,7 +404,7 @@ bool CAlgorithmBrainampFileReader::process() uint64_t nStim = 0; for (const auto& s : m_stimulations) { if (m_startSampleIdx <= s.startIdx && s.startIdx < m_endSampleIdx) { nStim++; } } - op_stimulations->setStimulationCount(nStim); + op_stimulations->resize(nStim); nStim = 0; for (const auto& s : m_stimulations) { @@ -413,9 +413,9 @@ bool CAlgorithmBrainampFileReader::process() uint64_t date = CTime(op_sampling, s.startIdx).time(); uint64_t duration = CTime(op_sampling, s.duration).time(); - op_stimulations->setStimulationIdentifier(nStim, s.id); - op_stimulations->setStimulationDate(nStim, date); - op_stimulations->setStimulationDuration(nStim, duration); + op_stimulations->setId(nStim, s.id); + op_stimulations->setDate(nStim, date); + op_stimulations->setDuration(nStim, duration); nStim++; } } diff --git a/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.h b/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.h index f8713001c8ee55fc4adc8abd8a141140edf7a78d..26b29afa139cfdd18fbcc0fba798e7e0466b0df7 100644 --- a/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.h +++ b/plugins/processing/file-io/src/algorithms/brainamp/ovpCAlgorithmBrainampFileReader.h @@ -46,7 +46,7 @@ protected: Kernel::TParameterHandler<uint64_t> op_endTime; Kernel::TParameterHandler<uint64_t> op_sampling; Kernel::TParameterHandler<CMatrix*> op_signalMatrix; - Kernel::TParameterHandler<IStimulationSet*> op_stimulations; + Kernel::TParameterHandler<CStimulationSet*> op_stimulations; CString m_filename; diff --git a/plugins/processing/file-io/src/box-algorithms/bci2000reader/ovpCBCI2000ReaderHelper.cpp b/plugins/processing/file-io/src/box-algorithms/bci2000reader/ovpCBCI2000ReaderHelper.cpp index 9a9a1b03c09713b53cd4c9dedbf16fdb16d73b65..71d9d670e6a17657c72be3c6881e7b2da27cf3fd 100644 --- a/plugins/processing/file-io/src/box-algorithms/bci2000reader/ovpCBCI2000ReaderHelper.cpp +++ b/plugins/processing/file-io/src/box-algorithms/bci2000reader/ovpCBCI2000ReaderHelper.cpp @@ -3,7 +3,7 @@ #include <sstream> #include <cstdlib> #include <boost/regex.hpp> -#include <boost/detail/endian.hpp> +#include <boost/predef/other/endian.h> #include "ovpCBCI2000ReaderHelper.h" @@ -243,7 +243,7 @@ int CBCI2000ReaderHelper::readSamplesInternal(TTo* samples, uint32_t* states, in int CBCI2000ReaderHelper::readSamples(double* samples, uint32_t* states, const int n) { if (m_dataFormat == OpenViBE::CString("float")) { return readSamplesInternal<float, double>(samples, states, n); } -#if defined(BOOST_LITTLE_ENDIAN) +#if defined(BOOST_ENDIAN_LITTLE_BYTE) if (m_dataFormat == OpenViBE::CString("int")) { return readSamplesInternal<int, double>(samples, states, n); } if (m_dataFormat == OpenViBE::CString("int16_t")) { return readSamplesInternal<int16_t, double>(samples, states, n); } #else diff --git a/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileReader.cpp b/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileReader.cpp index ed5088effb702236d6c5cbaf323d5223ea42b108..29d5e0cf23d772bb072807e734fb1fcdeebfb638 100644 --- a/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileReader.cpp +++ b/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileReader.cpp @@ -14,7 +14,7 @@ uint64_t CBoxAlgorithmBrainampFileReader::getClockFrequency() Kernel::TParameterHandler<uint64_t> op_endTime(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_CurrentEndTime)); Kernel::TParameterHandler<uint64_t> op_sampling(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Sampling)); Kernel::TParameterHandler<CMatrix*> op_signalMatrix(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_SignalMatrix)); - Kernel::TParameterHandler<IStimulationSet*> op_stimulations(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Stimulations)); + Kernel::TParameterHandler<CStimulationSet*> op_stimulations(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Stimulations)); return uint64_t((1LL << 32) / ip_epochDuration); } @@ -43,14 +43,14 @@ bool CBoxAlgorithmBrainampFileReader::initialize() Kernel::TParameterHandler<uint64_t> op_endTime(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_CurrentEndTime)); Kernel::TParameterHandler<uint64_t> op_sampling(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Sampling)); Kernel::TParameterHandler<CMatrix*> op_signalMatrix(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_SignalMatrix)); - Kernel::TParameterHandler<IStimulationSet*> op_stimulations(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Stimulations)); + Kernel::TParameterHandler<CStimulationSet*> op_stimulations(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Stimulations)); // Signal stream encoder parameters Kernel::TParameterHandler<uint64_t> ip_sampling(m_signalEncoder->getInputParameter(OVP_GD_Algorithm_SignalEncoder_InputParameterId_Sampling)); Kernel::TParameterHandler<CMatrix*> ip_signalMatrix(m_signalEncoder->getInputParameter(OVP_GD_Algorithm_SignalEncoder_InputParameterId_Matrix)); // Stimulation stream encoder parameters - Kernel::TParameterHandler<IStimulationSet*> ip_stimulations( + Kernel::TParameterHandler<CStimulationSet*> ip_stimulations( m_stimEncoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); // Connect parameters together @@ -103,7 +103,7 @@ bool CBoxAlgorithmBrainampFileReader::process() Kernel::TParameterHandler<uint64_t> op_endTime(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_CurrentEndTime)); Kernel::TParameterHandler<uint64_t> op_sampling(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Sampling)); Kernel::TParameterHandler<CMatrix*> op_signalMatrix(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_SignalMatrix)); - Kernel::TParameterHandler<IStimulationSet*> op_stimulations(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Stimulations)); + Kernel::TParameterHandler<CStimulationSet*> op_stimulations(m_reader->getOutputParameter(OVP_Algorithm_BrainampFileReader_OutputParameterId_Stimulations)); // Signal stream encoder parameters Kernel::TParameterHandler<IMemoryBuffer*> diff --git a/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.cpp b/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.cpp index c83392bc2061f34204f88f764839ca8bac679ffc..2b01aaab7c22201d36c86435cbbe2dc319bb862e 100644 --- a/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.cpp +++ b/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.cpp @@ -261,11 +261,11 @@ bool CBoxAlgorithmBrainampFileWriter::process() if (m_stimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - for (uint32_t j = 0; j < op_stimSet->getStimulationCount(); j++) + for (uint32_t j = 0; j < op_stimSet->size(); j++) { - const uint64_t id = op_stimSet->getStimulationIdentifier(j); - const uint64_t date = op_stimSet->getStimulationDate(j); - const uint64_t duration = op_stimSet->getStimulationDuration(j); + const uint64_t id = op_stimSet->getId(j); + const uint64_t date = op_stimSet->getDate(j); + const uint64_t duration = op_stimSet->getDuration(j); std::string writtenMarker; bool writeStimulation = false; diff --git a/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.h b/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.h index a01845b6ea75f95eff09aa8129dedd9611964d95..4d212a08dd039d07ff43f4614cdf6d9215817d47 100644 --- a/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.h +++ b/plugins/processing/file-io/src/box-algorithms/brainamp/ovpCBoxAlgorithmBrainampFileWriter.h @@ -31,7 +31,7 @@ protected: Kernel::TParameterHandler<const IMemoryBuffer*> ip_signalBuffer; Kernel::TParameterHandler<const IMemoryBuffer*> ip_stimulationsBuffer; Kernel::TParameterHandler<CMatrix*> op_matrix; - Kernel::TParameterHandler<IStimulationSet*> op_stimSet; + Kernel::TParameterHandler<CStimulationSet*> op_stimSet; Kernel::TParameterHandler<uint64_t> op_sampling; CString m_filePath; diff --git a/plugins/processing/file-io/src/box-algorithms/ovpCBCICompetitionIIIbReader.cpp b/plugins/processing/file-io/src/box-algorithms/ovpCBCICompetitionIIIbReader.cpp index 0befdb7fd6fec4c49c9679fc8048768fa520fc00..faf8ea209835e0883f6e5546b49b9e4c84c64100 100644 --- a/plugins/processing/file-io/src/box-algorithms/ovpCBCICompetitionIIIbReader.cpp +++ b/plugins/processing/file-io/src/box-algorithms/ovpCBCICompetitionIIIbReader.cpp @@ -206,16 +206,16 @@ bool CBCICompetitionIIIbReader::process() if (!events.empty() || m_endOfFile) { - IStimulationSet* stimSet = m_stimEncoder.getInputStimulationSet(); + CStimulationSet* stimSet = m_stimEncoder.getInputStimulationSet(); - stimSet->setStimulationCount(events.size() + ((m_endOfFile) ? 1 : 0)); + stimSet->resize(events.size() + ((m_endOfFile) ? 1 : 0)); for (size_t j = 0; j < events.size(); ++j) { //compute date const uint64_t date = CTime(m_sampling, events[j].second).time(); - stimSet->insertStimulation(j, events[j].first, date, 0); + stimSet->insert(j, events[j].first, date, 0); } //add the ending stim @@ -223,7 +223,7 @@ bool CBCICompetitionIIIbReader::process() { //compute date const uint64_t date = CTime(m_sampling, m_nSentSample).time(); - stimSet->insertStimulation(events.size(), 0x3FF, date, 0); + stimSet->insert(events.size(), 0x3FF, date, 0); } m_stimEncoder.encodeBuffer(); diff --git a/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.cpp b/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.cpp index 5f60f0bcaa0eef3556d274219631640c8db6ff7c..b25dd75b743e60b08d1ac914acca25fd32305376 100755 --- a/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.cpp +++ b/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.cpp @@ -232,28 +232,28 @@ bool CBoxAlgorithmSignalConcatenation::process() } if (m_stimulationDecoders[idx]->isBufferReceived() && !m_eofReached[idx]) { - const IStimulationSet* stimSet = m_stimulationDecoders[idx]->getOutputStimulationSet(); + const CStimulationSet* stimSet = m_stimulationDecoders[idx]->getOutputStimulationSet(); SStimulationChunk val; val.m_StartTime = boxCtx.getInputChunkStartTime(i, j); val.m_EndTime = boxCtx.getInputChunkEndTime(i, j); - if (stimSet->getStimulationCount() > 0) { val.m_StimulationSet = new CStimulationSet(); } + if (stimSet->size() > 0) { val.m_StimulationSet = new CStimulationSet(); } else { val.m_StimulationSet = nullptr; } m_stimulationChunkBuffers[idx]. push_back(val); // we store even if empty to be able to retain the chunking structure of the stimulation input stream - for (size_t stim = 0; stim < stimSet->getStimulationCount(); ++stim) + for (size_t stim = 0; stim < stimSet->size(); ++stim) { - val.m_StimulationSet->appendStimulation(stimSet->getStimulationIdentifier(stim), stimSet->getStimulationDate(stim), - stimSet->getStimulationDuration(stim)); + val.m_StimulationSet->push_back(stimSet->getId(stim), stimSet->getDate(stim), + stimSet->getDuration(stim)); - this->getLogManager() << Kernel::LogLevel_Trace << "Input " << i << ": Discovered stim " << stimSet->getStimulationIdentifier(stim) - << " at date [" << CTime(stimSet->getStimulationDate(stim)) << "] in chunk [" << CTime(val.m_StartTime) + this->getLogManager() << Kernel::LogLevel_Trace << "Input " << i << ": Discovered stim " << stimSet->getId(stim) + << " at date [" << CTime(stimSet->getDate(stim)) << "] in chunk [" << CTime(val.m_StartTime) << ", " << CTime(val.m_EndTime) << "]\n"; - if (stimSet->getStimulationIdentifier(stim) == m_eofStimulations[idx]) + if (stimSet->getId(stim) == m_eofStimulations[idx]) { m_eofReached[idx] = true; m_fileEndTimes[idx] = val.m_EndTime; @@ -306,7 +306,7 @@ bool CBoxAlgorithmSignalConcatenation::process() m_signalEncoder.encodeEnd(); boxCtx.markOutputAsReadyToSend(0, m_lastChunkEndTime, m_lastChunkEndTime); - m_triggerEncoder.getInputStimulationSet()->appendStimulation(OVTK_StimulationId_EndOfFile, this->getPlayerContext().getCurrentTime(), 0); + m_triggerEncoder.getInputStimulationSet()->push_back(OVTK_StimulationId_EndOfFile, this->getPlayerContext().getCurrentTime(), 0); m_triggerEncoder.encodeBuffer(); boxCtx.markOutputAsReadyToSend(2, this->getPlayerContext().getCurrentTime(), this->getPlayerContext().getCurrentTime()); m_finished = true; @@ -332,13 +332,13 @@ bool CBoxAlgorithmSignalConcatenation::concate() { for (auto& stimulationChunkBuffer : m_stimulationChunkBuffers[i]) { - IStimulationSet* stimSet = stimulationChunkBuffer.m_StimulationSet; + CStimulationSet* stimSet = stimulationChunkBuffer.m_StimulationSet; if (stimSet) { - for (size_t k = 0; k < stimSet->getStimulationCount(); ++k) + for (size_t k = 0; k < stimSet->size(); ++k) { - const uint64_t synchronizedDate = stimSet->getStimulationDate(k) + offset; - stimSet->setStimulationDate(k, synchronizedDate); + const uint64_t synchronizedDate = stimSet->getDate(k) + offset; + stimSet->setDate(k, synchronizedDate); //this->getLogManager() << Kernel::LogLevel_Info << "Resynchronizing stim ["<<m_stimulations[i][j].first<<"] from time ["<<m_stimulations[i][j].second<<"] to ["<<synchronizedDate<<"]\n"; } } @@ -394,20 +394,20 @@ bool CBoxAlgorithmSignalConcatenation::concate() for (uint32_t& k = m_state.m_CurrentStimulationIdx; k < stimulusChunkVector.size() && stimulusChunkVector[k].m_EndTime <= signalChunkEnd; ++k) { const SStimulationChunk& stimChunk = stimulusChunkVector[k]; - const IStimulationSet* bufferedStimSet = stimChunk.m_StimulationSet; + const CStimulationSet* bufferedStimSet = stimChunk.m_StimulationSet; - IStimulationSet* stimSet = m_stimulationEncoder.getInputStimulationSet(); + CStimulationSet* stimSet = m_stimulationEncoder.getInputStimulationSet(); stimSet->clear(); if (bufferedStimSet) { - for (size_t s = 0; s < bufferedStimSet->getStimulationCount(); ++s) + for (size_t s = 0; s < bufferedStimSet->size(); ++s) { - stimSet->appendStimulation(bufferedStimSet->getStimulationIdentifier(s), bufferedStimSet->getStimulationDate(s), - bufferedStimSet->getStimulationDuration(s)); + stimSet->push_back(bufferedStimSet->getId(s), bufferedStimSet->getDate(s), + bufferedStimSet->getDuration(s)); - this->getLogManager() << Kernel::LogLevel_Trace << "Adding stimulation " << bufferedStimSet->getStimulationIdentifier(s) - << " at date [" << CTime(stimSet->getStimulationDate(s)) + this->getLogManager() << Kernel::LogLevel_Trace << "Adding stimulation " << bufferedStimSet->getId(s) + << " at date [" << CTime(stimSet->getDate(s)) << "] to chunk [" << CTime(stimChunk.m_StartTime) << ", " << CTime(stimChunk.m_EndTime) << "]\n"; @@ -439,24 +439,24 @@ bool CBoxAlgorithmSignalConcatenation::concate() for (uint32_t& k = m_state.m_CurrentStimulationIdx; k < stimulusChunkVector.size(); ++k) { const SStimulationChunk& stimChunk = stimulusChunkVector[k]; - const IStimulationSet* bufferedStimSet = stimChunk.m_StimulationSet; + const CStimulationSet* bufferedStimSet = stimChunk.m_StimulationSet; if (i == m_signalChunkBuffers.size() - 1) { // last file, let pass - IStimulationSet* stimSet = m_stimulationEncoder.getInputStimulationSet(); + CStimulationSet* stimSet = m_stimulationEncoder.getInputStimulationSet(); stimSet->clear(); if (bufferedStimSet) { - for (size_t s = 0; s < bufferedStimSet->getStimulationCount(); ++s) + for (size_t s = 0; s < bufferedStimSet->size(); ++s) { - stimSet->appendStimulation(bufferedStimSet->getStimulationIdentifier(s), bufferedStimSet->getStimulationDate(s), - bufferedStimSet->getStimulationDuration(s)); + stimSet->push_back(bufferedStimSet->getId(s), bufferedStimSet->getDate(s), + bufferedStimSet->getDuration(s)); - this->getLogManager() << Kernel::LogLevel_Warning << "Stimulation " << bufferedStimSet->getStimulationIdentifier(s) - << " at date [" << CTime(stimSet->getStimulationDate(s)) + this->getLogManager() << Kernel::LogLevel_Warning << "Stimulation " << bufferedStimSet->getId(s) + << " at date [" << CTime(stimSet->getDate(s)) << "] in chunk [" << CTime(stimChunk.m_StartTime) << ", " << CTime(stimChunk.m_EndTime) << "] is after signal ended, but last file, so adding.\n"; @@ -471,12 +471,12 @@ bool CBoxAlgorithmSignalConcatenation::concate() { if (bufferedStimSet) { - for (size_t s = 0; s < bufferedStimSet->getStimulationCount(); ++s) + for (size_t s = 0; s < bufferedStimSet->size(); ++s) { if (!chunkVector.empty()) { this->getLogManager() << Kernel::LogLevel_Warning - << "Stimulation " << bufferedStimSet->getStimulationIdentifier(s) + << "Stimulation " << bufferedStimSet->getId(s) << "'s chunk at [" << CTime(stimChunk.m_StartTime) << ", " << CTime(stimChunk.m_EndTime) << "] is after the last signal chunk end time " << CTime(chunkVector.back().m_EndTime) diff --git a/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.h b/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.h index b552ceb44d6bf19588bf7e841df581156c8fd0ec..6ebbfc91a5f1f0c6cbb9165fdcc228fab28432ea 100644 --- a/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.h +++ b/plugins/processing/file-io/src/box-algorithms/ovpCBoxAlgorithmSignalConcatenation.h @@ -63,7 +63,7 @@ protected: struct SStimulationChunk { - IStimulationSet* m_StimulationSet; + CStimulationSet* m_StimulationSet; uint64_t m_StartTime; uint64_t m_EndTime; }; @@ -79,7 +79,7 @@ protected: std::vector<std::vector<SStimulationChunk>> m_stimulationChunkBuffers; // The stimulations are stored in one stimulation set per file. The chunk are reconstructed. - std::vector<IStimulationSet*> m_stimulationSets; + std::vector<CStimulationSet*> m_stimulationSets; //The decoders, (1 signal/1 stim) per file std::vector<Toolkit::TStimulationDecoder<CBoxAlgorithmSignalConcatenation>*> m_stimulationDecoders; diff --git a/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileReader.cpp b/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileReader.cpp index 2ada1695461de5ded9cda8fac41f3de958f10451..0130520288a0d6857fae9f76bd354ea1e3213343 100644 --- a/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileReader.cpp +++ b/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileReader.cpp @@ -513,14 +513,14 @@ void CGDFFileReader::writeSignalInformation() void CGDFFileReader::writeEvents() { - IStimulationSet* stimSet = m_stimulationEncoder->getInputStimulationSet(); + CStimulationSet* stimSet = m_stimulationEncoder->getInputStimulationSet(); stimSet->clear(); for (size_t i = 0; i < m_events.size(); ++i) { //compute date const uint64_t date = CTime(m_signalDesc.m_Sampling, m_events[i].m_Position).time(); - stimSet->appendStimulation(m_events[i].m_Type, date, 0); + stimSet->push_back(m_events[i].m_Type, date, 0); } m_stimulationEncoder->encodeBuffer(); diff --git a/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileWriter.cpp b/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileWriter.cpp index 46ceb7b82e1ed8b326849db233e90fad6b9e36e3..cc605d5b4712b7aa4340d00ed0df6f5f69639c5d 100644 --- a/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileWriter.cpp +++ b/plugins/processing/file-io/src/box-algorithms/ovpCGDFFileWriter.cpp @@ -418,10 +418,10 @@ bool CGDFFileWriter::process() if (m_stimulationDecoder->isBufferReceived()) { - IStimulationSet* stimulationSet = m_stimulationDecoder->getOutputStimulationSet(); - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_stimulationDecoder->getOutputStimulationSet(); + for (size_t j = 0; j < stimulationSet->size(); ++j) { - setStimulation(stimulationSet->getStimulationIdentifier(j), stimulationSet->getStimulationDate(j)); + setStimulation(stimulationSet->getId(j), stimulationSet->getDate(j)); } } diff --git a/plugins/processing/file-io/test/csv-read-write-test.xml b/plugins/processing/file-io/test/csv-read-write-test.xml index e6f0671d6e58faac1dde956748691abbe6ff5a15..b9f542651cab7e8acd271e635b11230bed320f6e 100644 --- a/plugins/processing/file-io/test/csv-read-write-test.xml +++ b/plugins/processing/file-io/test/csv-read-write-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -44,7 +44,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -94,7 +94,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -144,7 +144,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -194,7 +194,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -244,7 +244,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -368,7 +368,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -439,7 +439,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -510,7 +510,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -581,7 +581,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -652,7 +652,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/file-io/test/gdfreader-test.xml b/plugins/processing/file-io/test/gdfreader-test.xml index e893558c0fd3db435162dd957c2895eafe82d427..5b5198e9627d9806ae0c2dc2cd5f3f07879ad14b 100755 --- a/plugins/processing/file-io/test/gdfreader-test.xml +++ b/plugins/processing/file-io/test/gdfreader-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -473,7 +473,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -544,7 +544,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -615,7 +615,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -686,7 +686,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/file-io/test/ov-read-write-test.xml b/plugins/processing/file-io/test/ov-read-write-test.xml index 7d1763c9579f2c0d5db7793310cb6758c39ca4a2..3b424fcea7266bddb5322ef6b645f9df59c24f0f 100644 --- a/plugins/processing/file-io/test/ov-read-write-test.xml +++ b/plugins/processing/file-io/test/ov-read-write-test.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000202, 0x000037d1)</Identifier> @@ -38,24 +41,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x1eaee00e, 0xdb05d34e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>62</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00c63011)</Value> @@ -107,32 +102,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>560.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00506ff2)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -181,15 +164,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>384.000000</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -199,10 +178,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x011072bc)</Value> @@ -258,15 +233,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>271.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>271</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -276,10 +247,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>149</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0067854b)</Value> @@ -314,24 +281,6 @@ <BoxIdentifier>(0x00006172, 0x00004577)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>183</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>369</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>250</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>353</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002c67, 0x0000333d)</Identifier> @@ -343,24 +292,6 @@ <BoxIdentifier>(0x0000151d, 0x000049b2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>560</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003c24, 0x00006028)</Identifier> @@ -372,24 +303,6 @@ <BoxIdentifier>(0x00000202, 0x000037d1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>183</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>544</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003da7, 0x00003850)</Identifier> @@ -401,24 +314,6 @@ <BoxIdentifier>(0x00006172, 0x00004577)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>183</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>250</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>368</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000064a1, 0x00002aca)</Identifier> @@ -430,24 +325,6 @@ <BoxIdentifier>(0x00006172, 0x00004577)</BoxIdentifier> <BoxInputIndex>2</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>183</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>399</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>250</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>383</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -455,7 +332,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00005e4f, 0x0000778d)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000002a5, 0x00000056)","index":0,"name":"Default tab","parentIdentifier":"(0x00005e4f, 0x0000778d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000006, 0x0000559d)","index":0,"name":"Empty","parentIdentifier":"(0x000002a5, 0x00000056)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00005e4f, 0x0000778d)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000002a5, 0x00000056)","index":0,"name":"Default tab","parentIdentifier":"(0x00005e4f, 0x0000778d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00000006, 0x0000559d)","index":0,"name":"Empty","parentIdentifier":"(0x000002a5, 0x00000056)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/file-io/test/test-gdf-readwrite-1.xml b/plugins/processing/file-io/test/test-gdf-readwrite-1.xml index 44aeef31a9f35f5aaf41386dcaf6e55e95e6c0a0..0ddf161e7df9b9de5fda8bb70a5ba0e74310309a 100644 --- a/plugins/processing/file-io/test/test-gdf-readwrite-1.xml +++ b/plugins/processing/file-io/test/test-gdf-readwrite-1.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -246,7 +246,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -320,58 +320,63 @@ </Attributes> </Box> <Box> - <Identifier>(0x000051d4, 0x00007353)</Identifier> - <Name>Simple DSP</Name> - <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Identifier>(0x00004494, 0x0000476c)</Identifier> + <Name>Threshold Crossing Detector</Name> + <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input - A</Name> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Signal</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> - <Name>Equation</Name> - <DefaultValue>x</DefaultValue> - <Value>sin(2*M_PI*x)</Value> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>0</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_01</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Channel Index</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x21889dc4, 0x1126497e)</Value> - </Attribute> - <Attribute> - <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0052d6f5)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Value>(0xeb97db60, 0x15906899)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -379,20 +384,16 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>1</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> - <Attribute> - <Identifier>(0xfba64161, 0x65304e21)</Identifier> - <Value></Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x00005f81, 0x00000200)</Identifier> + <Identifier>(0x000051d4, 0x00007353)</Identifier> <Name>Simple DSP</Name> <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> <Inputs> @@ -412,18 +413,18 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Equation</Name> <DefaultValue>x</DefaultValue> - <Value>x>0 ? 1 : -1</Value> + <Value>sin(2*M_PI*x)</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>64</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -439,7 +440,7 @@ </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004d47d5)</Value> + <Value>(0x00000000, 0x0052d6f5)</Value> </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> @@ -464,60 +465,54 @@ </Attributes> </Box> <Box> - <Identifier>(0x000060ec, 0x00005ffa)</Identifier> - <Name>Sign Change Detector</Name> - <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> + <Identifier>(0x00005f81, 0x00000200)</Identifier> + <Name>Simple DSP</Name> + <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> - <Name>Signal</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input - A</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Generated stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output</Name> </Output> </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Sign switch to positive stimulation</Name> - <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> - <Value>OVTK_StimulationId_Label_01</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Sign switch to negative stimulation</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_00</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Channel Index</Name> - <DefaultValue>1</DefaultValue> - <Value>1</Value> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Equation</Name> + <DefaultValue>x</DefaultValue> + <Value>x>0 ? 1 : -1</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>448</Value> + <Value>576</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x13bdcd99, 0x9faeff20)</Value> + <Value>(0x21889dc4, 0x1126497e)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004e4978)</Value> + <Value>(0x00000000, 0x004d47d5)</Value> </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> @@ -529,12 +524,16 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> <Value>1</Value> </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> </Attributes> </Box> <Box> @@ -652,17 +651,6 @@ </Box> </Boxes> <Links> - <Link> - <Identifier>(0x0000149c, 0x00004529)</Identifier> - <Source> - <BoxIdentifier>(0x000051d4, 0x00007353)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000060ec, 0x00005ffa)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000026a9, 0x00005797)</Identifier> <Source> @@ -741,9 +729,20 @@ </Target> </Link> <Link> - <Identifier>(0x00005a5c, 0x00001a5e)</Identifier> + <Identifier>(0x00005e2b, 0x00002d12)</Identifier> + <Source> + <BoxIdentifier>(0x00004494, 0x0000476c)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006b47, 0x0000126c)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00007537, 0x000074c3)</Identifier> <Source> - <BoxIdentifier>(0x000060ec, 0x00005ffa)</BoxIdentifier> + <BoxIdentifier>(0x00004494, 0x0000476c)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -752,13 +751,13 @@ </Target> </Link> <Link> - <Identifier>(0x00007b01, 0x00006958)</Identifier> + <Identifier>(0x000078c5, 0x00005b7e)</Identifier> <Source> - <BoxIdentifier>(0x000060ec, 0x00005ffa)</BoxIdentifier> + <BoxIdentifier>(0x000051d4, 0x00007353)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006b47, 0x0000126c)</BoxIdentifier> + <BoxIdentifier>(0x00004494, 0x0000476c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/file-io/test/test-gdf-readwrite-2.xml b/plugins/processing/file-io/test/test-gdf-readwrite-2.xml index 2bc14c4c08bbb66fce76cf08564a5e8c96cef611..d9e031f7eaa752a0c0ba45c2034a76e745dcaa19 100644 --- a/plugins/processing/file-io/test/test-gdf-readwrite-2.xml +++ b/plugins/processing/file-io/test/test-gdf-readwrite-2.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -226,7 +226,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/file-io/test/test-gdf-readwrite-3.xml b/plugins/processing/file-io/test/test-gdf-readwrite-3.xml index f19e7c6cec418be006d45e517110041e1b986dbd..ba561d02235571bb29652a245d89de56f03b1461 100644 --- a/plugins/processing/file-io/test/test-gdf-readwrite-3.xml +++ b/plugins/processing/file-io/test/test-gdf-readwrite-3.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -118,7 +118,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/games/CMakeLists.txt b/plugins/processing/games/CMakeLists.txt index 32162a2c4181695346d97db145897f42f3135ded..840220dbe2e00553bc17b6058d7c33e3cd155d9c 100644 --- a/plugins/processing/games/CMakeLists.txt +++ b/plugins/processing/games/CMakeLists.txt @@ -1,12 +1,15 @@ project(openvibe-plugins-games VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.hpp src/*.h src/*.inl src/*.c) +file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.hpp) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} openvibe openvibe-common openvibe-toolkit + openvibe-module-lsl + Boost::boost + Boost::system ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -21,8 +24,6 @@ add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) include_directories("src") # OpenViBE Third Party -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_System") include("FindThirdPartyLSL") # --------------------------------- diff --git a/plugins/processing/games/box-tutorials/hello-bidirectionnal-game.xml b/plugins/processing/games/box-tutorials/hello-bidirectionnal-game.xml index a28add3049659e4d47013d88e78633fc23dfb438..de2b5274137ad1862aaa874603bdcda2ba1efc7e 100644 --- a/plugins/processing/games/box-tutorials/hello-bidirectionnal-game.xml +++ b/plugins/processing/games/box-tutorials/hello-bidirectionnal-game.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -32,7 +32,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>896</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -74,11 +74,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>512</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024</Value> + <Value>1104</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -113,7 +113,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>5.000000</Value> + <Value>5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -194,7 +194,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>784</Value> + <Value>832</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -323,6 +323,99 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00006ff5, 0x0000154b)</Identifier> + <Name>LSL Communication</Name> + <AlgorithmClassIdentifier>(0xc07934f5, 0x9390e102)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0xdf787b26, 0x1ce17b2f)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 1</Name> + </Input> + <Input> + <Identifier>(0xe1e0f873, 0x9bc2a2ea)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input 2</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <Identifier>(0x1d6398e1, 0x92322846)</Identifier> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Output 1</Name> + </Output> + <Output> + <Identifier>(0x5c32dc1c, 0xbb30dc60)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output 2</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 1 Stream Name</Name> + <DefaultValue>i1ov</DefaultValue> + <Value>ovOutSignal</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 2 Stream Name</Name> + <DefaultValue>i2ov</DefaultValue> + <Value>ovOutMarkers</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 1 Stream Name</Name> + <DefaultValue>o1ov</DefaultValue> + <Value>ovInSignal</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 2 Stream Name</Name> + <DefaultValue>o2ov</DefaultValue> + <Value>ovInMarkers</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>432</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>976</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x8c5c26fc, 0x3ec93181)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000077e6, 0x00007175)</Identifier> <Name>Hello Bidirectionnal Game</Name> @@ -384,14 +477,14 @@ </Target> </Link> <Link> - <Identifier>(0x000016aa, 0x00005cf5)</Identifier> + <Identifier>(0x00000526, 0x0000387e)</Identifier> <Source> - <BoxIdentifier>(0x000077e6, 0x00007175)</BoxIdentifier> + <BoxIdentifier>(0x00001d83, 0x00005bb9)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003316, 0x000057c7)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006ff5, 0x0000154b)</BoxIdentifier> + <BoxInputIdentifier>(0xe1e0f873, 0x9bc2a2ea)</BoxInputIdentifier> </Target> </Link> <Link> @@ -406,13 +499,13 @@ </Target> </Link> <Link> - <Identifier>(0x00003882, 0x00002272)</Identifier> + <Identifier>(0x0000461c, 0x00005589)</Identifier> <Source> <BoxIdentifier>(0x000077e6, 0x00007175)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000006bc, 0x0000724a)</BoxIdentifier> + <BoxIdentifier>(0x00003316, 0x000057c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -427,6 +520,28 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00004edf, 0x00003460)</Identifier> + <Source> + <BoxIdentifier>(0x000077e6, 0x00007175)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000006bc, 0x0000724a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000050e6, 0x0000008d)</Identifier> + <Source> + <BoxIdentifier>(0x0000629e, 0x000034f6)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006ff5, 0x0000154b)</BoxIdentifier> + <BoxInputIdentifier>(0xdf787b26, 0x1ce17b2f)</BoxInputIdentifier> + </Target> + </Link> <Link> <Identifier>(0x00005a84, 0x0000720a)</Identifier> <Source> diff --git a/plugins/processing/games/box-tutorials/hello-sender-game.xml b/plugins/processing/games/box-tutorials/hello-sender-game.xml index a58b132dd2d36fe7003245e7a6ebe2110d7fc7a0..4ce526d7ab01b68ad9aa394c6a9061ed417adf09 100644 --- a/plugins/processing/games/box-tutorials/hello-sender-game.xml +++ b/plugins/processing/games/box-tutorials/hello-sender-game.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -102,6 +102,73 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000064ca, 0x00002c63)</Identifier> + <Name>LSL Communication</Name> + <AlgorithmClassIdentifier>(0xc07934f5, 0x9390e102)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <Identifier>(0x3a415a72, 0xa050ae55)</Identifier> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Output 1</Name> + </Output> + <Output> + <Identifier>(0xf4b3b68a, 0x3af66d12)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output 2</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 1 Stream Name</Name> + <DefaultValue>o1ov</DefaultValue> + <Value>ovSignal</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 2 Stream Name</Name> + <DefaultValue>o2ov</DefaultValue> + <Value>ovMarker</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>624</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x8c5c26fc, 0x3ec93181)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000066c9, 0x00005cd9)</Identifier> <Name>Stimulation listener</Name> @@ -151,24 +218,24 @@ </Boxes> <Links> <Link> - <Identifier>(0x000070d3, 0x000045e2)</Identifier> + <Identifier>(0x00001baa, 0x000004ac)</Identifier> <Source> <BoxIdentifier>(0x00000050, 0x00007f60)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002498, 0x000035c7)</BoxIdentifier> + <BoxIdentifier>(0x000066c9, 0x00005cd9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007ec0, 0x000065a9)</Identifier> + <Identifier>(0x00001bcf, 0x00005262)</Identifier> <Source> <BoxIdentifier>(0x00000050, 0x00007f60)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000066c9, 0x00005cd9)</BoxIdentifier> + <BoxIdentifier>(0x00002498, 0x000035c7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/games/box-tutorials/hello-world-game.xml b/plugins/processing/games/box-tutorials/hello-world-game.xml index fd63e744e97d2f53a4d429549d258eb173892742..3645867066095360c3e6ec0d570342bec70e339f 100644 --- a/plugins/processing/games/box-tutorials/hello-world-game.xml +++ b/plugins/processing/games/box-tutorials/hello-world-game.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -21,7 +21,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>5.000000</Value> + <Value>5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -72,7 +72,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -137,6 +137,73 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00003689, 0x00006a24)</Identifier> + <Name>LSL Communication</Name> + <AlgorithmClassIdentifier>(0xc07934f5, 0x9390e102)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0x33f859fc, 0x3a26df52)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 1</Name> + </Input> + <Input> + <Identifier>(0xa615e079, 0xc7727111)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input 2</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 1 Stream Name</Name> + <DefaultValue>i1ov</DefaultValue> + <Value>ovSignal</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 2 Stream Name</Name> + <DefaultValue>i2ov</DefaultValue> + <Value>ovMarkers</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>448</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>960</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x8c5c26fc, 0x3ec93181)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000629e, 0x000034f6)</Identifier> <Name>Simple DSP</Name> @@ -236,6 +303,28 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00003357, 0x00000259)</Identifier> + <Source> + <BoxIdentifier>(0x0000629e, 0x000034f6)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003689, 0x00006a24)</BoxIdentifier> + <BoxInputIdentifier>(0x33f859fc, 0x3a26df52)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x0000789b, 0x0000125a)</Identifier> + <Source> + <BoxIdentifier>(0x00001d83, 0x00005bb9)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003689, 0x00006a24)</BoxIdentifier> + <BoxInputIdentifier>(0xa615e079, 0xc7727111)</BoxInputIdentifier> + </Target> + </Link> </Links> <Comments> <Comment> diff --git a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloBidirectionnalGame.cpp b/plugins/processing/games/src/boxes/CBoxHelloBidirectionnalGame.cpp similarity index 67% rename from plugins/processing/games/src/boxes/CBoxAlgorithmHelloBidirectionnalGame.cpp rename to plugins/processing/games/src/boxes/CBoxHelloBidirectionnalGame.cpp index e95db458514c14a499d4ed52096744b462357cd7..24de293518878d1749c6e6cc314c4e4bc399d174 100644 --- a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloBidirectionnalGame.cpp +++ b/plugins/processing/games/src/boxes/CBoxHelloBidirectionnalGame.cpp @@ -1,8 +1,32 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxHelloBidirectionnalGame.cpp +/// \brief Class of the box that communicates with Hello Bidirectionnal Game. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 24/02/2021 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #ifdef TARGET_HAS_ThirdPartyLSL -#include "CBoxAlgorithmHelloBidirectionnalGame.hpp" -#include "utils.hpp" +#include "CBoxHelloBidirectionnalGame.hpp" +#include <lsl/Utils.hpp> #include <ctime> #include <iostream> @@ -11,7 +35,7 @@ namespace Plugins { namespace Games { //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloBidirectionnalGame::initialize() +bool CBoxHelloBidirectionnalGame::initialize() { //---------- Initialize Input/Output ---------- m_signalDecoder.initialize(*this, 0); @@ -40,7 +64,7 @@ bool CBoxAlgorithmHelloBidirectionnalGame::initialize() m_signalEncoder.encodeHeader(); // Stimulation Header - m_oStimSet->setStimulationCount(0); // reset stimulation output + m_oStimSet->resize(0); // reset stimulation output m_stimEncoder.encodeHeader(); Kernel::IBoxIO& boxCtx = this->getDynamicBoxContext(); @@ -52,7 +76,7 @@ bool CBoxAlgorithmHelloBidirectionnalGame::initialize() //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloBidirectionnalGame::uninitialize() +bool CBoxHelloBidirectionnalGame::uninitialize() { //---------- Uninitialize Input/Output ---------- m_signalDecoder.uninitialize(); @@ -61,26 +85,22 @@ bool CBoxAlgorithmHelloBidirectionnalGame::uninitialize() m_stimEncoder.uninitialize(); //---------- Delete LSL Stream Inlet/Outlet ---------- - if (m_signalOutlet) - { + if (m_signalOutlet) { delete m_signalOutlet; m_signalOutlet = nullptr; } - if (m_stimOutlet) - { + if (m_stimOutlet) { delete m_stimOutlet; m_stimOutlet = nullptr; } - if (m_signalInlet) - { + if (m_signalInlet) { m_signalInlet->close_stream(); delete m_signalInlet; m_signalInlet = nullptr; } - if (m_stimInlet) - { + if (m_stimInlet) { m_stimInlet->close_stream(); delete m_stimInlet; m_stimInlet = nullptr; @@ -91,7 +111,7 @@ bool CBoxAlgorithmHelloBidirectionnalGame::uninitialize() //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloBidirectionnalGame::processInput(const size_t /*index*/) +bool CBoxHelloBidirectionnalGame::processInput(const size_t /*index*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; @@ -99,7 +119,7 @@ bool CBoxAlgorithmHelloBidirectionnalGame::processInput(const size_t /*index*/) //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloBidirectionnalGame::process() +bool CBoxHelloBidirectionnalGame::process() { // the dynamic box context describes the current state of the box inputs and outputs (i.e. the chunks) Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); @@ -107,48 +127,41 @@ bool CBoxAlgorithmHelloBidirectionnalGame::process() //---------- Emission Part ---------- // Process signals - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) { m_signalDecoder.decode(i); - if (m_signalDecoder.isHeaderReceived() && !m_signalOutlet) - { + if (m_signalDecoder.isHeaderReceived() && !m_signalOutlet) { const size_t samplesPerBlock = m_signalDecoder.getOutputMatrix()->getDimensionSize(1); const size_t frequency = m_signalDecoder.getOutputSamplingRate(); - lsl::stream_info signalInfo = createSignalStreamInfo(m_outSignalName, m_outSignalID, m_signalDecoder.getOutputMatrix(), frequency); + lsl::stream_info signalInfo = LSL::createSignalStreamInfo(m_outSignalName, m_outSignalID, m_signalDecoder.getOutputMatrix(), frequency); // make a new outlet try { m_signalOutlet = new lsl::stream_outlet(signalInfo, int(samplesPerBlock)); } - catch (...) - { + catch (...) { this->getLogManager() << "Unable to create signal outlet\n"; return false; } } - if (m_signalDecoder.isBufferReceived()) - { - sendSignal(m_signalOutlet, m_iMatrix, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); + if (m_signalDecoder.isBufferReceived()) { + LSL::sendSignal(m_signalOutlet, m_iMatrix, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); } //if (m_signalDecoder.isEndReceived()) { } } // Process stimuli -> LSL markers. // Note that stimuli with identifiers not fitting to int will be mangled by a static cast. - for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) { m_stimDecoder.decode(i); - if (m_stimDecoder.isHeaderReceived() && !m_stimOutlet) - { + if (m_stimDecoder.isHeaderReceived() && !m_stimOutlet) { // Open a stimulus stream - lsl::stream_info info = createStimulationStreamInfo(m_outMarkerName, m_outMarkerID); + lsl::stream_info info = LSL::createStimulationStreamInfo(m_outMarkerName, m_outMarkerID); try { m_stimOutlet = new lsl::stream_outlet(info); } - catch (...) - { + catch (...) { this->getLogManager() << "Unable to create marker outlet\n"; return false; } } - if (m_stimDecoder.isBufferReceived()) { sendStimulation(m_stimOutlet, m_iStimSet); } + if (m_stimDecoder.isBufferReceived()) { LSL::sendStimulation(m_stimOutlet, m_iStimSet); } //if (m_stimDecoder.isEndReceived()) { } } @@ -156,13 +169,11 @@ bool CBoxAlgorithmHelloBidirectionnalGame::process() //---------- Reception Part ---------- if (!m_signalInlet) // We don't have a signal inlet { - const lsl::stream_info signalInfo = findStreamInfo(m_inSignalName, "", 0); // timeout of 0 to avoid blocking OpenViBE - if (signalInfo.name() == m_inSignalName) - { + const lsl::stream_info signalInfo = LSL::findStreamInfo(m_inSignalName, "", 0); // timeout of 0 to avoid blocking OpenViBE + if (signalInfo.name() == m_inSignalName) { m_signalInlet = new lsl::stream_inlet(signalInfo); try { m_signalInlet->open_stream(); } - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to open signal stream with name [" << signalInfo.name() << "]\n"; return false; } @@ -174,13 +185,11 @@ bool CBoxAlgorithmHelloBidirectionnalGame::process() double time; // Signal try { time = m_signalInlet->pull_sample(&m_bufferLSL, 1, 0.0); } // 2 element timeout to 0.0 to avoid lag (OpenViBE can't have background task) - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to get signal sample\n"; return false; } - if (std::abs(time) > 0.0) - { + if (std::abs(time) > 0.0) { m_oMatrix->getBuffer()[0] = double(m_bufferLSL); m_signalEncoder.encodeBuffer(); // Buffer encoded boxContext.markOutputAsReadyToSend(0, m_lastMatrixTime, currentTime); // Makes the output available @@ -190,13 +199,11 @@ bool CBoxAlgorithmHelloBidirectionnalGame::process() if (!m_stimInlet) // We haven't a stimulation inlet { - const lsl::stream_info stimInfo = findStreamInfo(m_inMarkerName, "", 0); // timeout of 0 to avoid blocking OpenViBE - if (stimInfo.name() == m_inMarkerName) - { + const lsl::stream_info stimInfo = LSL::findStreamInfo(m_inMarkerName, "", 0); // timeout of 0 to avoid blocking OpenViBE + if (stimInfo.name() == m_inMarkerName) { m_stimInlet = new lsl::stream_inlet(stimInfo); try { m_stimInlet->open_stream(); } - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to open marker stream with name [" << stimInfo.name() << "]\n"; return false; } @@ -207,15 +214,13 @@ bool CBoxAlgorithmHelloBidirectionnalGame::process() { double time; try { time = m_stimInlet->pull_sample(&m_bufferLSL, 1, 0.0); } // 1 element timeout to 0.0 to avoid lag (OpenViBE can't have background task) - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to get stimulation sample\n"; return false; } - if (std::abs(time) > 0.0) - { - m_oStimSet->setStimulationCount(0); // reset stimulation output - m_oStimSet->appendStimulation(uint64_t(m_bufferLSL), currentTime, 0); + if (std::abs(time) > 0.0) { + m_oStimSet->resize(0); // reset stimulation output + m_oStimSet->push_back(uint64_t(m_bufferLSL), currentTime, 0); m_stimEncoder.encodeBuffer(); // Buffer encoded boxContext.markOutputAsReadyToSend(1, m_lastStimTime, currentTime); // Makes the output available m_lastStimTime = currentTime; diff --git a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloBidirectionnalGame.hpp b/plugins/processing/games/src/boxes/CBoxHelloBidirectionnalGame.hpp similarity index 63% rename from plugins/processing/games/src/boxes/CBoxAlgorithmHelloBidirectionnalGame.hpp rename to plugins/processing/games/src/boxes/CBoxHelloBidirectionnalGame.hpp index dfb859266b6e74e03fcee4a745067f70774f1463..9052168543c8817cf71f12491e332af98235f7cd 100644 --- a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloBidirectionnalGame.hpp +++ b/plugins/processing/games/src/boxes/CBoxHelloBidirectionnalGame.hpp @@ -1,11 +1,24 @@ ///------------------------------------------------------------------------------------------------- /// -/// \file CBoxAlgorithmHelloBidirectionnalGame.hpp +/// \file CBoxHelloBidirectionnalGame.hpp /// \brief Class of the box that communicates with Hello Bidirectionnal Game. /// \author Thibaut Monseigne (Inria). /// \version 1.0. /// \date 24/02/2021 -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. /// ///------------------------------------------------------------------------------------------------- @@ -26,8 +39,8 @@ namespace OpenViBE { namespace Plugins { namespace Games { -/// <summary> The class CBoxAlgorithmHelloBidirectionnalGame describes the box that sends value in LSL. </summary> -class CBoxAlgorithmHelloBidirectionnalGame final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +/// <summary> The class CBoxHelloBidirectionnalGame describes the box that sends value in LSL. </summary> +class CBoxHelloBidirectionnalGame final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> { public: void release() override { delete this; } @@ -39,19 +52,19 @@ public: bool process() override; - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Game_Box_Hello_Bidirectionnal) + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_Hello_Bidirectionnal) protected: // Encoder / Decoder - Toolkit::TStimulationDecoder<CBoxAlgorithmHelloBidirectionnalGame> m_stimDecoder; - Toolkit::TSignalDecoder<CBoxAlgorithmHelloBidirectionnalGame> m_signalDecoder; - Toolkit::TStimulationEncoder<CBoxAlgorithmHelloBidirectionnalGame> m_stimEncoder; - Toolkit::TSignalEncoder<CBoxAlgorithmHelloBidirectionnalGame> m_signalEncoder; + Toolkit::TStimulationDecoder<CBoxHelloBidirectionnalGame> m_stimDecoder; + Toolkit::TSignalDecoder<CBoxHelloBidirectionnalGame> m_signalDecoder; + Toolkit::TStimulationEncoder<CBoxHelloBidirectionnalGame> m_stimEncoder; + Toolkit::TSignalEncoder<CBoxHelloBidirectionnalGame> m_signalEncoder; // Input/ Output CMatrix *m_iMatrix = nullptr, *m_oMatrix = nullptr; - IStimulationSet *m_iStimSet = nullptr, *m_oStimSet = nullptr; + CStimulationSet *m_iStimSet = nullptr, *m_oStimSet = nullptr; uint64_t m_lastMatrixTime = 0, m_lastStimTime = 0; // LSL Stream @@ -65,7 +78,7 @@ protected: /// <summary> Descriptor of the box Hello Bidirectionnal Game. </summary> -class CBoxAlgorithmHelloBidirectionnalGameDesc final : virtual public IBoxAlgorithmDesc +class CBoxHelloBidirectionnalGameDesc final : virtual public IBoxAlgorithmDesc { public: @@ -86,8 +99,8 @@ public: CString getVersion() const override { return "0.1"; } CString getStockItemName() const override { return "gtk-connect"; } - CIdentifier getCreatedClass() const override { return Game_Box_Hello_Bidirectionnal; } - IPluginObject* create() override { return new CBoxAlgorithmHelloBidirectionnalGame; } + CIdentifier getCreatedClass() const override { return Box_Hello_Bidirectionnal; } + IPluginObject* create() override { return new CBoxHelloBidirectionnalGame; } bool getBoxPrototype(Kernel::IBoxProto& prototype) const override { @@ -98,7 +111,7 @@ public: return true; } - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Game_Box_Hello_Bidirectionnal_Desc) + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_Hello_Bidirectionnal_Desc) }; } // namespace Games diff --git a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloSenderGame.cpp b/plugins/processing/games/src/boxes/CBoxHelloSenderGame.cpp similarity index 68% rename from plugins/processing/games/src/boxes/CBoxAlgorithmHelloSenderGame.cpp rename to plugins/processing/games/src/boxes/CBoxHelloSenderGame.cpp index 655b7f85c8ec5df8f29eec04a6de4b5985cd98cd..fa7c170339852c336ede86b2b68826f972b54ba4 100644 --- a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloSenderGame.cpp +++ b/plugins/processing/games/src/boxes/CBoxHelloSenderGame.cpp @@ -1,8 +1,32 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxHelloSenderGame.cpp +/// \brief Class of the box that communicate with Hello Sender Game. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 12/03/2020. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #ifdef TARGET_HAS_ThirdPartyLSL -#include "CBoxAlgorithmHelloSenderGame.hpp" -#include "utils.hpp" +#include "CBoxHelloSenderGame.hpp" +#include <lsl/Utils.hpp> #include <ctime> #include <iostream> @@ -11,7 +35,7 @@ namespace Plugins { namespace Games { //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloSenderGame::initialize() +bool CBoxHelloSenderGame::initialize() { m_signalInlet = nullptr; m_stimInlet = nullptr; @@ -22,45 +46,39 @@ bool CBoxAlgorithmHelloSenderGame::initialize() m_oStimSet = m_stimEncoder.getInputStimulationSet(); // Signal Stream - const lsl::stream_info signalInfo = findStreamInfo(m_signalName); - if (signalInfo.name() != m_signalName) - { + const lsl::stream_info signalInfo = LSL::findStreamInfo(m_signalName); + if (signalInfo.name() != m_signalName) { this->getLogManager() << Kernel::LogLevel_Error << "Error getting signal stream info for [" << signalInfo.name() << "]\n"; return false; } m_signalInlet = new lsl::stream_inlet(signalInfo); - if (!m_signalInlet) - { + if (!m_signalInlet) { this->getLogManager() << Kernel::LogLevel_Error << "Error getting signal inlet for [" << signalInfo.name() << "]\n"; return false; } try { m_signalInlet->open_stream(); } - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to open signal stream with name [" << signalInfo.name() << "]\n"; return false; } // Stimulation Stream - const lsl::stream_info stimInfo = findStreamInfo(m_markerName); - if (stimInfo.name() != m_markerName) - { + const lsl::stream_info stimInfo = LSL::findStreamInfo(m_markerName); + if (stimInfo.name() != m_markerName) { this->getLogManager() << Kernel::LogLevel_Error << "Error getting marker stream info for [" << stimInfo.name() << "]\n"; return false; } m_stimInlet = new lsl::stream_inlet(stimInfo); - if (!m_stimInlet) - { + if (!m_stimInlet) { this->getLogManager() << Kernel::LogLevel_Error << "Error getting marker inlet for [" << stimInfo.name() << "]\n"; return false; } try { m_stimInlet->open_stream(); } - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to open marker stream with name [" << stimInfo.name() << "]\n"; return false; } @@ -70,20 +88,18 @@ bool CBoxAlgorithmHelloSenderGame::initialize() //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloSenderGame::uninitialize() +bool CBoxHelloSenderGame::uninitialize() { m_signalEncoder.uninitialize(); m_stimEncoder.uninitialize(); - if (m_signalInlet) - { + if (m_signalInlet) { m_signalInlet->close_stream(); delete m_signalInlet; m_signalInlet = nullptr; } - if (m_stimInlet) - { + if (m_stimInlet) { m_stimInlet->close_stream(); delete m_stimInlet; m_stimInlet = nullptr; @@ -94,7 +110,7 @@ bool CBoxAlgorithmHelloSenderGame::uninitialize() //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloSenderGame::processClock(Kernel::CMessageClock& /*msg*/) +bool CBoxHelloSenderGame::processClock(Kernel::CMessageClock& /*msg*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; @@ -102,15 +118,14 @@ bool CBoxAlgorithmHelloSenderGame::processClock(Kernel::CMessageClock& /*msg*/) //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloSenderGame::process() +bool CBoxHelloSenderGame::process() { // the dynamic box context describes the current state of the box inputs and outputs (i.e. the chunks) Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); const uint64_t currentTime = getPlayerContext().getCurrentTime(); // Header - if (!m_headerSent) - { + if (!m_headerSent) { m_buffer = new float[2]; // Matrix Header @@ -118,7 +133,7 @@ bool CBoxAlgorithmHelloSenderGame::process() m_signalEncoder.encodeHeader(); // Stimulation Header - m_oStimSet->setStimulationCount(0); // reset stimulation output + m_oStimSet->resize(0); // reset stimulation output m_stimEncoder.encodeHeader(); boxContext.markOutputAsReadyToSend(0, m_lastMatrixTime, m_lastMatrixTime); // Makes the output available @@ -131,13 +146,11 @@ bool CBoxAlgorithmHelloSenderGame::process() double time; // Signal try { time = m_signalInlet->pull_sample(m_buffer, 2, 0.0); } // 2 element timeout to 0.0 to avoid lag (OpenViBE can't have background task) - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to get signal sample\n"; return false; } - if (std::abs(time) > 0.0) - { + if (std::abs(time) > 0.0) { double* buffer = m_oMatrix->getBuffer(); buffer[0] = double(m_buffer[0]); buffer[1] = double(m_buffer[1]); @@ -148,15 +161,13 @@ bool CBoxAlgorithmHelloSenderGame::process() // Stimulation try { time = m_stimInlet->pull_sample(m_buffer, 1, 0.0); } // 1 element timeout to 0.0 to avoid lag (OpenViBE can't have background task) - catch (...) - { + catch (...) { this->getLogManager() << Kernel::LogLevel_Error << "Failed to get stimulation sample\n"; return false; } - if (std::abs(time) > 0.0) - { - m_oStimSet->setStimulationCount(0); // reset stimulation output - m_oStimSet->appendStimulation(uint64_t(m_buffer[0]), currentTime, 0); + if (std::abs(time) > 0.0) { + m_oStimSet->clear(); // reset stimulation output + m_oStimSet->push_back(uint64_t(m_buffer[0]), currentTime, 0); m_stimEncoder.encodeBuffer(); // Buffer encoded boxContext.markOutputAsReadyToSend(1, m_lastStimTime, currentTime); // Makes the output available m_lastStimTime = currentTime; diff --git a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloSenderGame.hpp b/plugins/processing/games/src/boxes/CBoxHelloSenderGame.hpp similarity index 63% rename from plugins/processing/games/src/boxes/CBoxAlgorithmHelloSenderGame.hpp rename to plugins/processing/games/src/boxes/CBoxHelloSenderGame.hpp index 603285f2dbf6e6489f2cf392dc602c9c11ccbfb3..004c6c3d50840b1f031ffaa529a40ee7dcb9734d 100644 --- a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloSenderGame.hpp +++ b/plugins/processing/games/src/boxes/CBoxHelloSenderGame.hpp @@ -1,11 +1,24 @@ ///------------------------------------------------------------------------------------------------- /// -/// \file CBoxAlgorithmHelloSenderGame.hpp +/// \file CBoxHelloSenderGame.hpp /// \brief Class of the box that communicate with Hello Sender Game. /// \author Thibaut Monseigne (Inria). /// \version 1.0. /// \date 12/03/2020. -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. /// ///------------------------------------------------------------------------------------------------- @@ -26,8 +39,8 @@ namespace OpenViBE { namespace Plugins { namespace Games { -/// <summary> The class CBoxAlgorithmHelloSenderGame describes the box that send value in LSL. </summary> -class CBoxAlgorithmHelloSenderGame final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +/// <summary> The class CBoxHelloSenderGame describes the box that send value in LSL. </summary> +class CBoxHelloSenderGame final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> { public: void release() override { delete this; } @@ -40,15 +53,15 @@ public: bool process() override; - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Game_Box_Hello_Sender) + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_Hello_Sender) protected: // Decoders - Toolkit::TStimulationEncoder<CBoxAlgorithmHelloSenderGame> m_stimEncoder; - Toolkit::TSignalEncoder<CBoxAlgorithmHelloSenderGame> m_signalEncoder; + Toolkit::TStimulationEncoder<CBoxHelloSenderGame> m_stimEncoder; + Toolkit::TSignalEncoder<CBoxHelloSenderGame> m_signalEncoder; CMatrix* m_oMatrix = nullptr; - IStimulationSet* m_oStimSet = nullptr; + CStimulationSet* m_oStimSet = nullptr; float* m_buffer = nullptr; bool m_headerSent = false; uint64_t m_lastMatrixTime = 0; @@ -60,7 +73,7 @@ protected: /// <summary> Descriptor of the box Hello Sender Game. </summary> -class CBoxAlgorithmHelloSenderGameDesc final : virtual public IBoxAlgorithmDesc +class CBoxHelloSenderGameDesc final : virtual public IBoxAlgorithmDesc { public: @@ -78,8 +91,8 @@ public: CString getVersion() const override { return "0.1"; } CString getStockItemName() const override { return "gtk-connect"; } - CIdentifier getCreatedClass() const override { return Game_Box_Hello_Sender; } - IPluginObject* create() override { return new CBoxAlgorithmHelloSenderGame; } + CIdentifier getCreatedClass() const override { return Box_Hello_Sender; } + IPluginObject* create() override { return new CBoxHelloSenderGame; } bool getBoxPrototype(Kernel::IBoxProto& prototype) const override { @@ -88,7 +101,7 @@ public: return true; } - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Game_Box_Hello_Sender_Desc) + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_Hello_Sender_Desc) }; } // namespace Games diff --git a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloWorldGame.cpp b/plugins/processing/games/src/boxes/CBoxHelloWorldGame.cpp similarity index 56% rename from plugins/processing/games/src/boxes/CBoxAlgorithmHelloWorldGame.cpp rename to plugins/processing/games/src/boxes/CBoxHelloWorldGame.cpp index f3f67d4baafc45cd899d8c9c11a88621c21ccd33..740c73a4d95ad4c8b53649f35f3ac27c8a74d42e 100644 --- a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloWorldGame.cpp +++ b/plugins/processing/games/src/boxes/CBoxHelloWorldGame.cpp @@ -1,8 +1,32 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxHelloWorldGame.cpp +/// \brief Class of the box that communicate with Hello World Game. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 12/03/2020. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #ifdef TARGET_HAS_ThirdPartyLSL -#include "CBoxAlgorithmHelloWorldGame.hpp" -#include "utils.hpp" +#include "CBoxHelloWorldGame.hpp" +#include <lsl/Utils.hpp> #include <ctime> #include <iostream> @@ -11,7 +35,7 @@ namespace Plugins { namespace Games { //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloWorldGame::initialize() +bool CBoxHelloWorldGame::initialize() { m_signalOutlet = nullptr; m_stimOutlet = nullptr; @@ -35,18 +59,16 @@ bool CBoxAlgorithmHelloWorldGame::initialize() //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloWorldGame::uninitialize() +bool CBoxHelloWorldGame::uninitialize() { m_signalDecoder.uninitialize(); m_stimDecoder.uninitialize(); - if (m_signalOutlet) - { + if (m_signalOutlet) { delete m_signalOutlet; m_signalOutlet = nullptr; } - if (m_stimOutlet) - { + if (m_stimOutlet) { delete m_stimOutlet; m_stimOutlet = nullptr; } @@ -56,7 +78,7 @@ bool CBoxAlgorithmHelloWorldGame::uninitialize() //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloWorldGame::processInput(const size_t /*index*/) +bool CBoxHelloWorldGame::processInput(const size_t /*index*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; @@ -64,54 +86,47 @@ bool CBoxAlgorithmHelloWorldGame::processInput(const size_t /*index*/) //-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- -bool CBoxAlgorithmHelloWorldGame::process() +bool CBoxHelloWorldGame::process() { // the dynamic box context describes the current state of the box inputs and outputs (i.e. the chunks) Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); // Process signals - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) { m_signalDecoder.decode(i); - if (m_signalDecoder.isHeaderReceived() && !m_signalOutlet) - { + if (m_signalDecoder.isHeaderReceived() && !m_signalOutlet) { const size_t samplesPerBlock = m_signalDecoder.getOutputMatrix()->getDimensionSize(1); const size_t frequency = m_signalDecoder.getOutputSamplingRate(); - lsl::stream_info signalInfo = createSignalStreamInfo(m_signalName, m_signalID, m_signalDecoder.getOutputMatrix(), frequency); + lsl::stream_info signalInfo = LSL::createSignalStreamInfo(m_signalName, m_signalID, m_signalDecoder.getOutputMatrix(), frequency); // make a new outlet try { m_signalOutlet = new lsl::stream_outlet(signalInfo, int(samplesPerBlock)); } - catch (...) - { + catch (...) { this->getLogManager() << "Unable to create signal outlet\n"; return false; } } - if (m_signalDecoder.isBufferReceived()) - { - sendSignal(m_signalOutlet, m_iMatrix, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); + if (m_signalDecoder.isBufferReceived()) { + LSL::sendSignal(m_signalOutlet, m_iMatrix, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); } //if (m_signalDecoder.isEndReceived()) { } } // Process stimuli -> LSL markers. // Note that stimuli with identifiers not fitting to int will be mangled by a static cast. - for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) { m_stimDecoder.decode(i); - if (m_stimDecoder.isHeaderReceived() && !m_stimOutlet) - { + if (m_stimDecoder.isHeaderReceived() && !m_stimOutlet) { // Open a stimulus stream - lsl::stream_info info = createStimulationStreamInfo(m_markerName, m_markerID); + lsl::stream_info info = LSL::createStimulationStreamInfo(m_markerName, m_markerID); try { m_stimOutlet = new lsl::stream_outlet(info); } - catch (...) - { + catch (...) { this->getLogManager() << "Unable to create marker outlet\n"; return false; } } - if (m_stimDecoder.isBufferReceived()) { sendStimulation(m_stimOutlet, m_iStimSet); } + if (m_stimDecoder.isBufferReceived()) { LSL::sendStimulation(m_stimOutlet, m_iStimSet); } //if (m_stimDecoder.isEndReceived()) { } } return true; diff --git a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloWorldGame.hpp b/plugins/processing/games/src/boxes/CBoxHelloWorldGame.hpp similarity index 61% rename from plugins/processing/games/src/boxes/CBoxAlgorithmHelloWorldGame.hpp rename to plugins/processing/games/src/boxes/CBoxHelloWorldGame.hpp index 054f1f143fefda86d4c5aa327eae635c9ac110c7..29e4f6d7fa56b6c9113e2ae4e45c327ed3645f7a 100644 --- a/plugins/processing/games/src/boxes/CBoxAlgorithmHelloWorldGame.hpp +++ b/plugins/processing/games/src/boxes/CBoxHelloWorldGame.hpp @@ -1,11 +1,24 @@ ///------------------------------------------------------------------------------------------------- /// -/// \file CBoxAlgorithmHelloWorldGame.hpp +/// \file CBoxHelloWorldGame.hpp /// \brief Class of the box that communicate with Hello World Game. /// \author Thibaut Monseigne (Inria). /// \version 1.0. /// \date 12/03/2020. -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. /// ///------------------------------------------------------------------------------------------------- @@ -26,8 +39,8 @@ namespace OpenViBE { namespace Plugins { namespace Games { -/// <summary> The class CBoxAlgorithmHelloWorldGame describes the box that send value in LSL. </summary> -class CBoxAlgorithmHelloWorldGame final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +/// <summary> The class CBoxHelloWorldGame describes the box that send value in LSL. </summary> +class CBoxHelloWorldGame final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> { public: void release() override { delete this; } @@ -39,15 +52,15 @@ public: bool process() override; - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Game_Box_Hello_World) + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_Hello_World) protected: // Decoders - Toolkit::TStimulationDecoder<CBoxAlgorithmHelloWorldGame> m_stimDecoder; - Toolkit::TSignalDecoder<CBoxAlgorithmHelloWorldGame> m_signalDecoder; + Toolkit::TStimulationDecoder<CBoxHelloWorldGame> m_stimDecoder; + Toolkit::TSignalDecoder<CBoxHelloWorldGame> m_signalDecoder; CMatrix* m_iMatrix = nullptr; - IStimulationSet* m_iStimSet = nullptr; + CStimulationSet* m_iStimSet = nullptr; lsl::stream_outlet *m_signalOutlet = nullptr, *m_stimOutlet = nullptr; const std::string m_signalName = "ovSignal", m_markerName = "ovMarkers"; @@ -56,7 +69,7 @@ protected: /// <summary> Descriptor of the box Hello World Game. </summary> -class CBoxAlgorithmHelloWorldGameDesc final : virtual public IBoxAlgorithmDesc +class CBoxHelloWorldGameDesc final : virtual public IBoxAlgorithmDesc { public: @@ -74,8 +87,8 @@ public: CString getVersion() const override { return "0.1"; } CString getStockItemName() const override { return "gtk-connect"; } - CIdentifier getCreatedClass() const override { return Game_Box_Hello_World; } - IPluginObject* create() override { return new CBoxAlgorithmHelloWorldGame; } + CIdentifier getCreatedClass() const override { return Box_Hello_World; } + IPluginObject* create() override { return new CBoxHelloWorldGame; } bool getBoxPrototype(Kernel::IBoxProto& prototype) const override { @@ -84,7 +97,7 @@ public: return true; } - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Game_Box_Hello_World_Desc) + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_Hello_World_Desc) }; } // namespace Games diff --git a/plugins/processing/games/src/defines.hpp b/plugins/processing/games/src/defines.hpp index c2d6f0f277bf8195a2e084645b20c300a722eb34..447d579869bdc29a5a73e1460c4423167e12789d 100644 --- a/plugins/processing/games/src/defines.hpp +++ b/plugins/processing/games/src/defines.hpp @@ -5,7 +5,20 @@ /// \author Thibaut Monseigne (Inria). /// \version 1.0. /// \date 12/03/2020. -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. /// ///------------------------------------------------------------------------------------------------- @@ -13,9 +26,9 @@ // Boxes //--------------------------------------------------------------------------------------------------- -#define Game_Box_Hello_World OpenViBE::CIdentifier(0x46705bc3, 0x3058a939) -#define Game_Box_Hello_World_Desc OpenViBE::CIdentifier(0x3f921b93, 0xadb2b2ec) -#define Game_Box_Hello_Sender OpenViBE::CIdentifier(0x4cbf4237, 0x24f54a7c) -#define Game_Box_Hello_Sender_Desc OpenViBE::CIdentifier(0x5730a8f1, 0x96a608cc) -#define Game_Box_Hello_Bidirectionnal OpenViBE::CIdentifier(0x47616d65, 0x42696469) -#define Game_Box_Hello_Bidirectionnal_Desc OpenViBE::CIdentifier(0x47616d65, 0x42696464) +#define Box_Hello_World OpenViBE::CIdentifier(0x46705bc3, 0x3058a939) +#define Box_Hello_World_Desc OpenViBE::CIdentifier(0x3f921b93, 0xadb2b2ec) +#define Box_Hello_Sender OpenViBE::CIdentifier(0x4cbf4237, 0x24f54a7c) +#define Box_Hello_Sender_Desc OpenViBE::CIdentifier(0x5730a8f1, 0x96a608cc) +#define Box_Hello_Bidirectionnal OpenViBE::CIdentifier(0x47616d65, 0x42696469) +#define Box_Hello_Bidirectionnal_Desc OpenViBE::CIdentifier(0x47616d65, 0x42696464) diff --git a/plugins/processing/games/src/main.cpp b/plugins/processing/games/src/main.cpp index 9fabd09922823b8936a90e63fc9684e2d876794d..cb3ff7bae0b086840ccf5e3daf2847254c926d7b 100644 --- a/plugins/processing/games/src/main.cpp +++ b/plugins/processing/games/src/main.cpp @@ -1,10 +1,33 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file main.cpp +/// \brief main file for box plugin. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 12/03/2020. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #include <openvibe/ov_all.h> -//#include "defines.hpp" // Boxes Includes -#include "boxes/CBoxAlgorithmHelloWorldGame.hpp" -#include "boxes/CBoxAlgorithmHelloSenderGame.hpp" -#include "boxes/CBoxAlgorithmHelloBidirectionnalGame.hpp" +#include "boxes/CBoxHelloWorldGame.hpp" +#include "boxes/CBoxHelloSenderGame.hpp" +#include "boxes/CBoxHelloBidirectionnalGame.hpp" namespace OpenViBE { namespace Plugins { @@ -13,9 +36,9 @@ namespace Games { OVP_Declare_Begin() #ifdef TARGET_HAS_ThirdPartyLSL // Register boxes - OVP_Declare_New(CBoxAlgorithmHelloWorldGameDesc) - OVP_Declare_New(CBoxAlgorithmHelloSenderGameDesc) - OVP_Declare_New(CBoxAlgorithmHelloBidirectionnalGameDesc) + OVP_Declare_New(CBoxHelloWorldGameDesc) + OVP_Declare_New(CBoxHelloSenderGameDesc) + OVP_Declare_New(CBoxHelloBidirectionnalGameDesc) #endif // TARGET_HAS_ThirdPartyLSL OVP_Declare_End() diff --git a/plugins/processing/matlab/box-tutorials/matlab/tuto1-signal-filter.xml b/plugins/processing/matlab/box-tutorials/matlab/tuto1-signal-filter.xml index 0cac8ec946596f433f978a3c931915ea70a57c02..fd090f248a99ea9c4c75e1115c354ff3a00db8d2 100644 --- a/plugins/processing/matlab/box-tutorials/matlab/tuto1-signal-filter.xml +++ b/plugins/processing/matlab/box-tutorials/matlab/tuto1-signal-filter.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -92,11 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -198,11 +198,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -320,11 +320,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -370,11 +370,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -426,11 +426,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/matlab/box-tutorials/matlab/tuto2-FFT-filter.xml b/plugins/processing/matlab/box-tutorials/matlab/tuto2-FFT-filter.xml index 666a47299bfd2a9b9b7800ded1b15663e8a84be3..f461a7b9d2d6777c0e0af9835c5a88fbc5b788ab 100644 --- a/plugins/processing/matlab/box-tutorials/matlab/tuto2-FFT-filter.xml +++ b/plugins/processing/matlab/box-tutorials/matlab/tuto2-FFT-filter.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -92,11 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -163,7 +163,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -398,11 +398,11 @@ </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -520,11 +520,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>464</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/matlab/box-tutorials/matlab/tuto3-sinus-generator.xml b/plugins/processing/matlab/box-tutorials/matlab/tuto3-sinus-generator.xml index e89afe7993102fa4cc85332381b0fe8b2e5d4f95..bac67b93d9573b46ad111733b11f5982e1b93324 100644 --- a/plugins/processing/matlab/box-tutorials/matlab/tuto3-sinus-generator.xml +++ b/plugins/processing/matlab/box-tutorials/matlab/tuto3-sinus-generator.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> diff --git a/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp b/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp index de2e8a416d0a961691c17a7fc243b722f25bd417..6136bf162426e6ac5138faab5607721d492b62ac 100644 --- a/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp +++ b/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp @@ -507,12 +507,12 @@ bool CBoxAlgorithmMatlabScripting::process() if (type == OV_TypeId_Stimulations) { - IStimulationSet* stimSet = static_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmMatlabScripting>*>(m_decoders[i])->getOutputStimulationSet(); + CStimulationSet* stimSet = static_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmMatlabScripting>*>(m_decoders[i])->getOutputStimulationSet(); const uint64_t start = boxContext.getInputChunkStartTime(i, j); const uint64_t end = boxContext.getInputChunkEndTime(i, j); - if (stimSet->getStimulationCount() > 0) + if (stimSet->size() > 0) { - this->getLogManager() << Kernel::LogLevel_Trace << "Inserting stimulation set with size " << stimSet->getStimulationCount() << "\n"; + this->getLogManager() << Kernel::LogLevel_Trace << "Inserting stimulation set with size " << stimSet->size() << "\n"; } if (!checkFailureRoutine(m_helper->addStimulationsInputBuffer(i, stimSet, start, end), "Error calling [OV_addInputBuffer (Stimulations)]\n")) { return false; } @@ -632,7 +632,7 @@ bool CBoxAlgorithmMatlabScripting::process() } else if (typeID == OV_TypeId_Stimulations) { - IStimulationSet* stimSet = static_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmMatlabScripting>*>(m_encoders[i])->getInputStimulationSet(); + CStimulationSet* stimSet = static_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmMatlabScripting>*>(m_encoders[i])->getInputStimulationSet(); if (!checkFailureRoutine(m_helper->getStimulationsOutputHeader(i, stimSet), "Error calling [OV_getStimulationsOutputHeader]. Did you correctly set the output header in the matlab structure ?\n") ) { return false; } @@ -664,7 +664,7 @@ bool CBoxAlgorithmMatlabScripting::process() if (typeID == OV_TypeId_Stimulations) { - IStimulationSet* stimSet = static_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmMatlabScripting>*>(m_encoders[i])->getInputStimulationSet(); + CStimulationSet* stimSet = static_cast<Toolkit::TStimulationEncoder<CBoxAlgorithmMatlabScripting>*>(m_encoders[i])->getInputStimulationSet(); stimSet->clear(); if (!checkFailureRoutine(m_helper->popStimulationsOutputBuffer(i, stimSet, start, end), "Error calling [OV_popOutputBuffer] for Stimulation stream.\n")) { return false; } diff --git a/plugins/processing/matlab/src/ovpCMatlabHelper.cpp b/plugins/processing/matlab/src/ovpCMatlabHelper.cpp index 9fe1adec2a65f889420990cf4bd20babaea3c2ba..a84783531da1cff3d08a9ef15a4d185b17cf71dd 100755 --- a/plugins/processing/matlab/src/ovpCMatlabHelper.cpp +++ b/plugins/processing/matlab/src/ovpCMatlabHelper.cpp @@ -257,17 +257,17 @@ bool CMatlabHelper::addStreamedMatrixInputBuffer(const size_t index, CMatrix* ma return engEvalString(m_matlabEngine, cmd.c_str()) == 0; } -bool CMatlabHelper::addStimulationsInputBuffer(const size_t index, IStimulationSet* stimSet, const uint64_t startTime, const uint64_t endTime) const +bool CMatlabHelper::addStimulationsInputBuffer(const size_t index, CStimulationSet* stimSet, const uint64_t startTime, const uint64_t endTime) const { - if (stimSet->getStimulationCount() == 0 && engEvalString(m_matlabEngine, "OV_MATRIX_TMP = 0") != 0) { return false; } + if (stimSet->size() == 0 && engEvalString(m_matlabEngine, "OV_MATRIX_TMP = 0") != 0) { return false; } // we create a 3xN matrix for N stims (access is easier in that order) - mxArray* matrix = ::mxCreateDoubleMatrix(3, size_t(stimSet->getStimulationCount()), mxREAL); + mxArray* matrix = ::mxCreateDoubleMatrix(3, size_t(stimSet->size()), mxREAL); - for (size_t i = 0; i < stimSet->getStimulationCount(); ++i) + for (size_t i = 0; i < stimSet->size(); ++i) { - ::mxGetPr(matrix)[i * 3] = double(stimSet->getStimulationIdentifier(i)); - ::mxGetPr(matrix)[i * 3 + 1] = CTime(stimSet->getStimulationDate(i)).toSeconds(); - ::mxGetPr(matrix)[i * 3 + 2] = CTime(stimSet->getStimulationDuration(i)).toSeconds(); + ::mxGetPr(matrix)[i * 3] = double(stimSet->getId(i)); + ::mxGetPr(matrix)[i * 3 + 1] = CTime(stimSet->getDate(i)).toSeconds(); + ::mxGetPr(matrix)[i * 3 + 2] = CTime(stimSet->getDuration(i)).toSeconds(); } engPutVariable(m_matlabEngine, "OV_MATRIX_TMP", matrix); @@ -423,7 +423,7 @@ bool CMatlabHelper::getSpectrumOutputHeader(const size_t index, CMatrix* matrix, return true; } -bool CMatlabHelper::getStimulationsOutputHeader(size_t /*index*/, IStimulationSet* /*stimulationSet*/) +bool CMatlabHelper::getStimulationsOutputHeader(size_t /*index*/, CStimulationSet* /*stimulationSet*/) { // Nothing to do, the stimulation header is empty. return true; @@ -456,7 +456,7 @@ bool CMatlabHelper::popStreamedMatrixOutputBuffer(const size_t index, CMatrix* m return true; } -bool CMatlabHelper::popStimulationsOutputBuffer(const size_t index, IStimulationSet* stimSet, uint64_t& startTime, uint64_t& endTime) const +bool CMatlabHelper::popStimulationsOutputBuffer(const size_t index, CStimulationSet* stimSet, uint64_t& startTime, uint64_t& endTime) const { const std::string buf = std::string("[") + m_boxInstanceVariableName.toASCIIString() + ", OV_START_TIME, OV_END_TIME, OV_LINEAR_MATRIX_SIZE, OV_LINEAR_DATA] = OV_popOutputBuffer(" @@ -478,7 +478,7 @@ bool CMatlabHelper::popStimulationsOutputBuffer(const size_t index, IStimulation const uint64_t id = castFromMArray(data, i + 0); const uint64_t date = convertFromMArray(data, i + 1); const uint64_t duration = convertFromMArray(data, i + 2); - stimSet->appendStimulation(id, date, duration); + stimSet->push_back(id, date, duration); } mxDestroyArray(data); diff --git a/plugins/processing/matlab/src/ovpCMatlabHelper.h b/plugins/processing/matlab/src/ovpCMatlabHelper.h index e3df961b75322b4008c405e4d1c19c12e16cbdd6..d3d7c04e5db8271ea18166a15591ee8bd3356399 100755 --- a/plugins/processing/matlab/src/ovpCMatlabHelper.h +++ b/plugins/processing/matlab/src/ovpCMatlabHelper.h @@ -14,9 +14,9 @@ namespace Matlab { class CMatlabHelper { public: - CMatlabHelper(Kernel::ILogManager& /*logManager*/, Kernel::IErrorManager& /*errorManager*/) { } + CMatlabHelper(Kernel::ILogManager& /*logManager*/, Kernel::CErrorManager& /*errorManager*/) { } - bool setManagers(Kernel::ILogManager* logManager, Kernel::IErrorManager* errorManager) + bool setManagers(Kernel::ILogManager* logManager, Kernel::CErrorManager* errorManager) { m_logManager = logManager; m_errorManager = errorManager; @@ -32,18 +32,18 @@ public: // The input buffers for streamed matrix and its children streams are the same. bool addStreamedMatrixInputBuffer(size_t index, CMatrix* matrix, uint64_t startTime, uint64_t endTime) const; - bool addStimulationsInputBuffer(size_t index, IStimulationSet* stimSet, uint64_t startTime, uint64_t endTime) const; + bool addStimulationsInputBuffer(size_t index, CStimulationSet* stimSet, uint64_t startTime, uint64_t endTime) const; bool getStreamedMatrixOutputHeader(size_t index, CMatrix* matrix) const; bool getFeatureVectorOutputHeader(size_t index, CMatrix* matrix) const; bool getSignalOutputHeader(size_t index, CMatrix* matrix, uint64_t& frequency) const; bool getChannelLocalisationOutputHeader(size_t index, CMatrix* matrix, bool& dynamic) const; bool getSpectrumOutputHeader(size_t index, CMatrix* matrix, CMatrix* frequencyAbscissa, uint64_t& frequency) const; - static bool getStimulationsOutputHeader(size_t index, IStimulationSet* stimSet); + static bool getStimulationsOutputHeader(size_t index, CStimulationSet* stimSet); // The output buffers for streamed matrix and its children streams are the same. bool popStreamedMatrixOutputBuffer(size_t index, CMatrix* matrix, uint64_t& startTime, uint64_t& endTime) const; - bool popStimulationsOutputBuffer(size_t index, IStimulationSet* stimSet, uint64_t& startTime, uint64_t& endTime) const; + bool popStimulationsOutputBuffer(size_t index, CStimulationSet* stimSet, uint64_t& startTime, uint64_t& endTime) const; void setMatlabEngine(Engine* engine) { m_matlabEngine = engine; } void setBoxInstanceVariableName(const CString& name) { m_boxInstanceVariableName = name; } @@ -56,14 +56,14 @@ public: Kernel::ILogManager& getLogManager() const { return *m_logManager; } - Kernel::IErrorManager& getErrorManager() const { return *m_errorManager; } + Kernel::CErrorManager& getErrorManager() const { return *m_errorManager; } private: Engine* m_matlabEngine = nullptr; // Need to be very careful that these pointers are still valid when the Helper will try to use them Kernel::ILogManager* m_logManager = nullptr; - Kernel::IErrorManager* m_errorManager = nullptr; + Kernel::CErrorManager* m_errorManager = nullptr; CString m_boxInstanceVariableName; //must be unique }; diff --git a/plugins/processing/network-io/CMakeLists.txt b/plugins/processing/network-io/CMakeLists.txt index a3d84e4406807345740ec8c6be455aea3ab235b5..f7e06973053982540abd724295de628743b3faa2 100644 --- a/plugins/processing/network-io/CMakeLists.txt +++ b/plugins/processing/network-io/CMakeLists.txt @@ -1,6 +1,6 @@ project(openvibe-plugins-network-io VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl) +file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.hpp) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} @@ -8,9 +8,13 @@ target_link_libraries(${PROJECT_NAME} openvibe-common openvibe-toolkit openvibe-module-system - openvibe-module-labstreamlayer + openvibe-module-lsl + Boost::boost + Boost::system ) +target_include_directories(${PROJECT_NAME} PRIVATE src) + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} @@ -25,8 +29,6 @@ if(WIN32) add_definitions(-D_WIN32_WINNT=0x0501) # for boost::asio endif(WIN32) -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_System") include("FindThirdPartyLSL") #so that boost won't need to link against DateTime when using the interprocess communication library @@ -55,3 +57,6 @@ install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${DIST_BINDIR} LIBRARY DESTINATION ${DIST_LIBDIR} ARCHIVE DESTINATION ${DIST_LIBDIR}) + + +install(DIRECTORY box-tutorials/ DESTINATION ${DIST_DATADIR}/openvibe/scenarios/box-tutorials) \ No newline at end of file diff --git a/plugins/processing/network-io/box-tutorials/lsl-communication.xml b/plugins/processing/network-io/box-tutorials/lsl-communication.xml new file mode 100644 index 0000000000000000000000000000000000000000..07051e028d9ea0e86628fcd658e7d6ff4d9f8a6f --- /dev/null +++ b/plugins/processing/network-io/box-tutorials/lsl-communication.xml @@ -0,0 +1,778 @@ +<OpenViBE-Scenario> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> + <Boxes> + <Box> + <Identifier>(0x00000ca9, 0x0000038a)</Identifier> + <Name>Stim Beffore</Name> + <AlgorithmClassIdentifier>(0x65731e1d, 0x47de5276)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulation stream 1</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0xa88b3667, 0x0871638c)</TypeIdentifier> + <Name>Log level to use</Name> + <DefaultValue>Information</DefaultValue> + <Value>Information</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xf451ad91, 0x14c75f86)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00000ca9, 0x0000038b)</Identifier> + <Name>Stim After</Name> + <AlgorithmClassIdentifier>(0x65731e1d, 0x47de5276)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulation stream 1</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0xa88b3667, 0x0871638c)</TypeIdentifier> + <Name>Log level to use</Name> + <DefaultValue>Information</DefaultValue> + <Value>Information</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>880</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xf451ad91, 0x14c75f86)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00000faa, 0x000078c1)</Identifier> + <Name>Receive LSL</Name> + <AlgorithmClassIdentifier>(0xc07934f5, 0x9390e102)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <Identifier>(0x0f2d15a7, 0xfc6bc928)</Identifier> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Output 1</Name> + </Output> + <Output> + <Identifier>(0x4f525e4f, 0x005d8e0b)</Identifier> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Output 2</Name> + </Output> + <Output> + <Identifier>(0xb21c93b1, 0x487398e4)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output 3</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 1 Stream Name</Name> + <DefaultValue>o1ov</DefaultValue> + <Value>i1ov</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 2 Stream Name</Name> + <DefaultValue>o2ov</DefaultValue> + <Value>i2ov</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Output 3 Stream Name</Name> + <DefaultValue>o3ov</DefaultValue> + <Value>i3ov</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>784</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x8c5c26fc, 0x3ec93181)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001751, 0x00007a7b)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001817, 0x000063e3)</Identifier> + <Name>Send LSL</Name> + <AlgorithmClassIdentifier>(0xc07934f5, 0x9390e102)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <Identifier>(0xa0d1e3fa, 0x2d0f0faa)</Identifier> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input 1</Name> + </Input> + <Input> + <Identifier>(0xa3eb482a, 0x21932521)</Identifier> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input 2</Name> + </Input> + <Input> + <Identifier>(0x4d4aebf8, 0xc6e90aa5)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input 3</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 1 Stream Name</Name> + <DefaultValue>i1ov</DefaultValue> + <Value>i1ov</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 2 Stream Name</Name> + <DefaultValue>i2ov</DefaultValue> + <Value>i2ov</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Input 3 Stream Name</Name> + <DefaultValue>i3ov</DefaultValue> + <Value>i3ov</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x8c5c26fc, 0x3ec93181)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00001d83, 0x00005bb9)</Identifier> + <Name>Clock stimulator</Name> + <AlgorithmClassIdentifier>(0x4f756d3f, 0x29ff0b96)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Interstimulation interval (in sec)</Name> + <DefaultValue>1.0</DefaultValue> + <Value>2</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x27b3ee3c, 0xc50527e6)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003552, 0x000054ad)</Identifier> + <Name>Time signal</Name> + <AlgorithmClassIdentifier>(0x28a5e7ff, 0x530095de)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Generated signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Sampling frequency</Name> + <DefaultValue>512</DefaultValue> + <Value>256</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Generated epoch sample count</Name> + <DefaultValue>32</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>128</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000629e, 0x000034f6)</Identifier> + <Name>Simple DSP</Name> + <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input - A</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Equation</Name> + <DefaultValue>x</DefaultValue> + <Value>sin(x)</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>480</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x21889dc4, 0x1126497e)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00007713, 0x0000493c)</Identifier> + <Name>Output 1</Name> + <AlgorithmClassIdentifier>(0x54f0796d, 0x3ede2cc0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Matrix</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier> + <Name>Color gradient</Name> + <DefaultValue>0:2,36,58; 50:100,100,100; 100:83,17,20</DefaultValue> + <Value>0:2,36,58; 50:100,100,100; 100:83,17,20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Steps</Name> + <DefaultValue>100</DefaultValue> + <Value>100</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Symetric min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Real time min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x4ff49bdb, 0x9dcf6788)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00007713, 0x0000493d)</Identifier> + <Name>Output 2</Name> + <AlgorithmClassIdentifier>(0x54f0796d, 0x3ede2cc0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Matrix</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier> + <Name>Color gradient</Name> + <DefaultValue>0:2,36,58; 50:100,100,100; 100:83,17,20</DefaultValue> + <Value>0:2,36,58; 50:100,100,100; 100:83,17,20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Steps</Name> + <DefaultValue>100</DefaultValue> + <Value>100</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Symetric min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Real time min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>784</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x4ff49bdb, 0x9dcf6788)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00007713, 0x0000493f)</Identifier> + <Name>Before</Name> + <AlgorithmClassIdentifier>(0x54f0796d, 0x3ede2cc0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Matrix</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier> + <Name>Color gradient</Name> + <DefaultValue>0:2,36,58; 50:100,100,100; 100:83,17,20</DefaultValue> + <Value>0:2,36,58; 50:100,100,100; 100:83,17,20</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Steps</Name> + <DefaultValue>100</DefaultValue> + <Value>100</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Symetric min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Real time min/max</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>320</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x4ff49bdb, 0x9dcf6788)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + </Boxes> + <Links> + <Link> + <Identifier>(0x000003dc, 0x000048bc)</Identifier> + <Source> + <BoxIdentifier>(0x00003552, 0x000054ad)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000629e, 0x000034f6)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000008f7, 0x00000fb2)</Identifier> + <Source> + <BoxIdentifier>(0x00001751, 0x00007a7b)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001817, 0x000063e3)</BoxIdentifier> + <BoxInputIdentifier>(0xa3eb482a, 0x21932521)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x00000aae, 0x0000668b)</Identifier> + <Source> + <BoxIdentifier>(0x00001d83, 0x00005bb9)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000ca9, 0x0000038a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00001c9a, 0x00005376)</Identifier> + <Source> + <BoxIdentifier>(0x00001751, 0x00007a7b)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001817, 0x000063e3)</BoxIdentifier> + <BoxInputIdentifier>(0xa0d1e3fa, 0x2d0f0faa)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x00004c3b, 0x0000343d)</Identifier> + <Source> + <BoxIdentifier>(0x00000faa, 0x000078c1)</BoxIdentifier> + <BoxOutputIdentifier>(0x0f2d15a7, 0xfc6bc928)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x00007713, 0x0000493c)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004dd5, 0x00006bc4)</Identifier> + <Source> + <BoxIdentifier>(0x00000faa, 0x000078c1)</BoxIdentifier> + <BoxOutputIdentifier>(0xb21c93b1, 0x487398e4)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x00000ca9, 0x0000038b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000061aa, 0x00003171)</Identifier> + <Source> + <BoxIdentifier>(0x0000629e, 0x000034f6)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001751, 0x00007a7b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000071fd, 0x000055d3)</Identifier> + <Source> + <BoxIdentifier>(0x00000faa, 0x000078c1)</BoxIdentifier> + <BoxOutputIdentifier>(0x4f525e4f, 0x005d8e0b)</BoxOutputIdentifier> + </Source> + <Target> + <BoxIdentifier>(0x00007713, 0x0000493d)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000075bd, 0x000050dd)</Identifier> + <Source> + <BoxIdentifier>(0x00001d83, 0x00005bb9)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00001817, 0x000063e3)</BoxIdentifier> + <BoxInputIdentifier>(0x4d4aebf8, 0xc6e90aa5)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x000076d1, 0x0000682a)</Identifier> + <Source> + <BoxIdentifier>(0x00001751, 0x00007a7b)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00007713, 0x0000493f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + </Links> + <Comments></Comments> + <Metadata> + <Entry> + <Identifier>(0x00002706, 0x00005cda)</Identifier> + <Type>(0x3bcce5d2, 0x43f2d968)</Type> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00003f21, 0x0000304a)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":475},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000169f, 0x00001aa2)","index":0,"name":"Default tab","parentIdentifier":"(0x00003f21, 0x0000304a)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":261,"identifier":"(0x00000361, 0x00001122)","index":0,"maxDividerPosition":455,"name":"Horizontal split","parentIdentifier":"(0x0000169f, 0x00001aa2)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":118,"identifier":"(0x00002c08, 0x00005f7c)","index":0,"maxDividerPosition":245,"name":"Horizontal split","parentIdentifier":"(0x00000361, 0x00001122)","type":5},{"boxIdentifier":"(0x00007713, 0x0000493d)","childCount":0,"identifier":"(0x00004382, 0x0000559c)","index":1,"parentIdentifier":"(0x00000361, 0x00001122)","type":3},{"boxIdentifier":"(0x00007713, 0x0000493f)","childCount":0,"identifier":"(0x000059c7, 0x00002bca)","index":0,"parentIdentifier":"(0x00002c08, 0x00005f7c)","type":3},{"boxIdentifier":"(0x00007713, 0x0000493c)","childCount":0,"identifier":"(0x0000025b, 0x000008e4)","index":1,"parentIdentifier":"(0x00002c08, 0x00005f7c)","type":3}]</Data> + </Entry> + </Metadata> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/network-io/doc/Doc_BoxAlgorithm_LSLCommunication.dox-part b/plugins/processing/network-io/doc/Doc_BoxAlgorithm_LSLCommunication.dox-part new file mode 100644 index 0000000000000000000000000000000000000000..986cc0d8f963758a7a90136b1575066e0d33b83d --- /dev/null +++ b/plugins/processing/network-io/doc/Doc_BoxAlgorithm_LSLCommunication.dox-part @@ -0,0 +1,42 @@ +/** + * \page BoxAlgorithm_LSLCommunication LSL Communication +__________________________________________________________________ + +Detailed description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_LSLCommunication_Description| +This box forwards/receives the signals and stimulations of corresponding LabStreamingLayer (LSL) streams. + +The user can configure the names of the LSL streams. Each stream must have a unique name and each stream that sends will get a randomized source ID (64bit hex). + +The stimulations and signals output by the box are timestamped with LSL clock by default. If you would like them to be +timestamped with local OpenViBE time, you can add the following line to the configuration file "openvibe.conf": + +\b LSL_UseOVTimestamps \b = \b True + + * |OVP_DocEnd_BoxAlgorithm_LSLCommunication_Description| + +__________________________________________________________________ + +Examples description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_LSLCommunication_Examples| +Easiest way to test the box is to use the Acquisition Server (AS) LabStreamingLayer (LSL) driver to read from the box. First, send signal to the box. Then connect to it using AS. Start AS playback. In another Designer tab, use the Network Acquisition box to read the data back from the Acquisition Server. +You can see the example in box tutorial (lsl-communication.xml) who send and receive his own signal. + * |OVP_DocEnd_BoxAlgorithm_LSLCommunication_Examples| +__________________________________________________________________ + +Miscellaneous description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_LSLCommunication_Miscellaneous| +The box creates each LSL stream at the beginning of the playback, after it has received its corresponding OpenViBE stream header information. Hence, if either signal or stimulus socket +of the box is not connected or does not receive a header, the box will not create the corresponding LSL stream. + +Stream formats: The signal stream is continuous float. The streamed matrix stream is noncontinuous float. The marker stream is noncontinuous int, and each 64bit OpenViBE stimulation is truncated to an int marker. + +This box should be compatible with the conventions used by OpenViBE Acquisition Server LabStreamingLayer (LSL) Driver, as well as its' LSL Output plugin. + * |OVP_DocEnd_BoxAlgorithm_LSLCommunication_Miscellaneous| + */ diff --git a/plugins/processing/network-io/src/box-algorithms/CBoxLSLCommunication.cpp b/plugins/processing/network-io/src/box-algorithms/CBoxLSLCommunication.cpp new file mode 100644 index 0000000000000000000000000000000000000000..614d760b03c7227727db0dcd120fa23fdaee08f7 --- /dev/null +++ b/plugins/processing/network-io/src/box-algorithms/CBoxLSLCommunication.cpp @@ -0,0 +1,294 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxLSLCommunication.cpp +/// \brief Class of the generic box that communicates with LSL. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 24/02/2021 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#ifdef TARGET_HAS_ThirdPartyLSL + +#include "CBoxLSLCommunication.hpp" + +#include <lsl/Utils.hpp> +#include <ctime> +#include <iostream> +#include <unordered_set> + +namespace OpenViBE { +namespace Plugins { +namespace NetworkIO { + +//-------------------------------------------------------------------------------- +bool CBoxLSLCommunication::initialize() +{ + const Kernel::IBox& boxCtx = getStaticBoxContext(); + m_nInput = boxCtx.getInputCount(); + m_nOutput = boxCtx.getOutputCount(); + + //---------- Check Input/Output ---------- + m_firstStimInput = -1; + m_firstStimOutput = -1; + CIdentifier type; + for (size_t i = 0; i < boxCtx.getInputCount(); ++i) { + boxCtx.getInputType(i, type); + if (m_firstStimInput == -1 && type == OV_TypeId_Stimulations) { m_firstStimInput = i; } + OV_ERROR_UNLESS_KRF(!(m_firstStimInput != -1 && type != OV_TypeId_Stimulations), + "You must put All stimulations streams at the end of the Input list.", Kernel::ErrorType::BadInput); + } + for (size_t i = 0; i < boxCtx.getOutputCount(); ++i) { + boxCtx.getOutputType(i, type); + if (m_firstStimOutput == -1 && type == OV_TypeId_Stimulations) { m_firstStimOutput = i; } + OV_ERROR_UNLESS_KRF(!(m_firstStimOutput != -1 && type != OV_TypeId_Stimulations), + "You must put All stimulations streams at the end of the Output list.", Kernel::ErrorType::BadOutput); + } + + //---------- Initialize Input/Output ---------- + m_decoders.resize(m_firstStimInput == -1 ? m_nInput : m_firstStimInput); + m_stimDecoders.resize(m_nInput - m_decoders.size()); + m_encoders.resize(m_firstStimOutput == -1 ? m_nOutput : m_firstStimOutput); + m_stimEncoders.resize(m_nOutput - m_encoders.size()); + for (size_t i = 0; i < m_nInput; ++i) { + boxCtx.getInputType(i, type); + if (type == OV_TypeId_Stimulations) { m_stimDecoders[i - m_firstStimInput].initialize(*this, i); } + else { + if (type == OV_TypeId_Signal) { m_decoders[i] = new Toolkit::TSignalDecoder<CBoxLSLCommunication>(*this, i); } + else if (type == OV_TypeId_StreamedMatrix) { m_decoders[i] = new Toolkit::TStreamedMatrixDecoder<CBoxLSLCommunication>(*this, i); } + else if (type == OV_TypeId_Spectrum) { m_decoders[i] = new Toolkit::TSpectrumDecoder<CBoxLSLCommunication>(*this, i); } + else if (type == OV_TypeId_FeatureVector) { m_decoders[i] = new Toolkit::TFeatureVectorDecoder<CBoxLSLCommunication>(*this, i); } + } + } + + for (size_t i = 0; i < m_nOutput; ++i) { + boxCtx.getOutputType(i, type); + if (type == OV_TypeId_Stimulations) { m_stimEncoders[i - m_firstStimOutput].initialize(*this, i); } + else if (type == OV_TypeId_StreamedMatrix) { m_encoders[i].initialize(*this, i); } + } + + //---------- Initialize Pointers ---------- + m_iMatrix.reserve(m_decoders.size()); + m_oMatrix.reserve(m_encoders.size()); + m_iStimSet.reserve(m_stimDecoders.size()); + m_oStimSet.reserve(m_stimEncoders.size()); + for (auto& decoder : m_decoders) { m_iMatrix.push_back(decoder.getOutputMatrix()); } + for (auto& encoder : m_encoders) { m_oMatrix.push_back(encoder.getInputMatrix()); } + for (auto& decoder : m_stimDecoders) { m_iStimSet.push_back(decoder.getOutputStimulationSet()); } + for (auto& encoder : m_stimEncoders) { m_oStimSet.push_back(encoder.getInputStimulationSet()); } + + + //---------- Initialize LSL Stream (OV to Unity) ---------- + m_outlets.resize(m_nInput); + m_inlets.resize(m_nOutput); + m_buffers.resize(m_nOutput); + + //---------- Names, Ids and times ---------- + m_names.reserve(boxCtx.getSettingCount()); + std::unordered_set<std::string> tmp; // Force Unique elements but elements are pushed in random place + for (size_t i = 0; i < boxCtx.getSettingCount(); ++i) { + const std::string name = CString(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), i)).toASCIIString(); + const auto good = tmp.insert(name); + if (good.second) { m_names.push_back(name); } + else { OV_ERROR_KRF(("All stream names must be different : \"" + name + "\" is already used.").c_str(), Kernel::ErrorType::BadSetting); } + } + + tmp.clear(); + while (tmp.size() < m_nInput) { tmp.insert(CIdentifier::random().str()); } + m_ids.assign(tmp.begin(), tmp.end()); // Only for Emissions streams + + m_lastOutputTimes = std::vector<uint64_t>(m_nOutput, 0); // Only for received streams and OV continuous times + + //---------- Logs ---------- + std::stringstream msg; + msg << "LSL Communication box with " + << m_nInput << " inputs (" << (m_firstStimInput == -1 ? 0 : m_nInput - m_firstStimInput) << " stimulations) and " + << m_nOutput << " outputs (" << (m_firstStimOutput == -1 ? 0 : m_nOutput - m_firstStimOutput) << " stimulations).\n"; + for (size_t i = 0; i < m_names.size(); ++i) { + if (i < m_nInput) { msg << "\tStream for input " << (i + 1) << " : " << m_names[i] << " (id : " << m_ids[i] << ")\n"; } + else { msg << "\tStream for output " << (i + 1 - m_nInput) << " : " << m_names[i] << "\n"; } + } + this->getLogManager() << Kernel::LogLevel_Trace << msg.str(); + return true; +} +//-------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------- +bool CBoxLSLCommunication::uninitialize() +{ + //---------- Uninitialize Input/Output ---------- + for (auto& decoder : m_decoders) { decoder.uninitialize(); } + for (auto& encoder : m_encoders) { encoder.uninitialize(); } + for (auto& decoder : m_stimDecoders) { decoder.uninitialize(); } + for (auto& encoder : m_stimEncoders) { encoder.uninitialize(); } + + //---------- Delete LSL Stream Inlet/Outlet ---------- + for (auto& outlet : m_outlets) { delete outlet; } + for (auto& inlet : m_inlets) { delete inlet; } + + //---------- Clear Vector ---------- + m_decoders.clear(); + m_encoders.clear(); + m_stimDecoders.clear(); + m_stimEncoders.clear(); + + m_iMatrix.clear(); + m_oMatrix.clear(); + m_iStimSet.clear(); + m_oStimSet.clear(); + + m_outlets.clear(); + m_inlets.clear(); + + m_names.clear(); + m_ids.clear(); + m_lastOutputTimes.clear(); + m_buffers.clear(); + + return true; +} +//-------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------- +bool CBoxLSLCommunication::processClock(Kernel::CMessageClock& /*msg*/) +{ + if (m_nOutput != 0) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); } + return true; +} +//-------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------- +bool CBoxLSLCommunication::processInput(const size_t /*index*/) +{ + getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); + return true; +} +//-------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------- +bool CBoxLSLCommunication::process() +{ + Kernel::IBoxIO& boxCtx = this->getDynamicBoxContext(); + const uint64_t currentTime = getPlayerContext().getCurrentTime(); + + //---------- Emission Part ---------- + for (size_t i = 0; i < m_nInput; ++i) { + const size_t idx = i < m_firstStimInput ? i : i - m_firstStimInput; + for (size_t c = 0; c < boxCtx.getInputChunkCount(i); ++c) { + if (i < m_firstStimInput) { + m_decoders[idx].decode(c); + if (m_decoders[idx].isHeaderReceived() && !m_outlets[i]) { + const size_t nChannel = m_iMatrix[idx]->getDimensionSize(0); + CIdentifier type; + getStaticBoxContext().getInputType(idx, type); + size_t frequency = size_t(lsl::IRREGULAR_RATE); + if (type == OV_TypeId_Signal) { frequency = m_decoders[idx].getOutputSamplingRate(); } + + lsl::stream_info signalInfo = LSL::createSignalStreamInfo(m_names[i], m_ids[i], m_iMatrix[idx], frequency); + // make a new outlet + try { m_outlets[i] = new lsl::stream_outlet(signalInfo, int(nChannel)); } + catch (...) { + this->getLogManager() << Kernel::LogLevel_Error << "Unable to create signal outlet\n"; + return false; + } + this->getLogManager() << Kernel::LogLevel_Trace << "Created stream [" << m_names[i] << "]"; + } + if (m_decoders[idx].isBufferReceived() && m_outlets[i]) { + LSL::sendSignal(m_outlets[i], m_iMatrix[idx], boxCtx.getInputChunkStartTime(i, c), boxCtx.getInputChunkEndTime(i, c)); + } + if (m_decoders[idx].isEndReceived()) {} + } + else { + m_stimDecoders[idx].decode(c); + if (m_stimDecoders[idx].isHeaderReceived() && !m_outlets[i]) { + // Open a stimulus stream + lsl::stream_info info = LSL::createStimulationStreamInfo(m_names[i], m_ids[i]); + + try { m_outlets[i] = new lsl::stream_outlet(info); } + catch (...) { + this->getLogManager() << Kernel::LogLevel_Error << "Unable to create marker outlet\n"; + return false; + } + } + if (m_stimDecoders[idx].isBufferReceived() && m_outlets[i]) { LSL::sendStimulation(m_outlets[i], m_iStimSet[idx]); } + if (m_stimDecoders[idx].isEndReceived()) { } + } + } + } + + //---------- Reception Part ---------- + for (size_t i = 0; i < m_nOutput; ++i) { + if (!m_inlets[i]) { + const std::string& name = m_names[i + m_nInput]; + const lsl::stream_info info = LSL::findStreamInfo(name, "", 0); // timeout of 0 to avoid blocking OpenViBE + if (info.name() == name) { + m_inlets[i] = new lsl::stream_inlet(info); + try { m_inlets[i]->open_stream(); } + catch (...) { + this->getLogManager() << Kernel::LogLevel_Error << "Failed to open stream with name [" << name << "]\n"; + return false; + } + this->getLogManager() << Kernel::LogLevel_Trace << "We have open stream [" << name << "]\n"; + + if (i < m_firstStimOutput) { // Header for matrix streams encoded + // Resize matrix. Only 1D Matrix can be received with LSL by default. For more dimensions, specific code must written. + // You must stack samples and when you have enough fill your 2D matrix. + // But you must know before the size of the second dimension or have a square matrix. + const size_t nChannel = info.channel_count(); + m_buffers[i].resize(nChannel); + m_oMatrix[i]->resize(nChannel, 1); + m_encoders[i].encodeHeader(); + } + else { // Header for stimulation streams encoded + m_buffers[i].resize(1); + m_oStimSet[i - m_firstStimOutput]->clear(); // reset stimulation output + m_stimEncoders[i - m_firstStimOutput].encodeHeader(); + } + boxCtx.markOutputAsReadyToSend(i, m_lastOutputTimes[i], m_lastOutputTimes[i]); // Makes the output available + } + } + else { + double time; + try { time = m_inlets[i]->pull_sample(m_buffers[i], 0.0); } // Timeout to 0.0 to avoid lag (OpenViBE can't have background task) + catch (...) { + this->getLogManager() << Kernel::LogLevel_Error << "Failed to get sample.\n"; + return false; + } + if (std::abs(time) > 0.0) { + if (i < m_firstStimOutput) { // Buffer for matrix streams encoded + m_oMatrix[i]->setBuffer(m_buffers[i]); + m_encoders[i].encodeBuffer(); + } + else { // Buffer for stimulation streams encoded + m_oStimSet[i - m_firstStimOutput]->clear(); // Reset stimulation output + m_oStimSet[i - m_firstStimOutput]->push_back(uint64_t(m_buffers[i][0]), currentTime, 0); + m_stimEncoders[i - m_firstStimOutput].encodeBuffer(); + } + boxCtx.markOutputAsReadyToSend(i, m_lastOutputTimes[i], currentTime); // Makes the output available + m_lastOutputTimes[i] = currentTime; + } + } + } + return true; +} +//-------------------------------------------------------------------------------- + +} // namespace NetworkIO +} // namespace Plugins +} // namespace OpenViBE + +#endif // TARGET_HAS_ThirdPartyLSL diff --git a/plugins/processing/network-io/src/box-algorithms/CBoxLSLCommunication.hpp b/plugins/processing/network-io/src/box-algorithms/CBoxLSLCommunication.hpp new file mode 100644 index 0000000000000000000000000000000000000000..982808b5ce23b62ca853368c2e3bafe1c98e5f12 --- /dev/null +++ b/plugins/processing/network-io/src/box-algorithms/CBoxLSLCommunication.hpp @@ -0,0 +1,234 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxLSLCommunication.hpp +/// \brief Class of the generic box that communicates with LSL. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 24/02/2021 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +#ifdef TARGET_HAS_ThirdPartyLSL + +#include "defines.hpp" +#include <openvibe/ov_all.h> +#include <toolkit/ovtk_all.h> + +#include <lsl_cpp.h> + +#include <ctime> +#include <iostream> + +namespace OpenViBE { +namespace Plugins { +namespace NetworkIO { + +//-------------------------------------------------------------------------------- +/// <summary> The class CBoxLSLCommunication describes the box that sends value in LSL. </summary> +class CBoxLSLCommunication final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +{ +public: + void release() override { delete this; } + + uint64_t getClockFrequency() override { return 64LL << 32; } + bool initialize() override; + bool uninitialize() override; + + bool processClock(Kernel::CMessageClock& msg) override; + bool processInput(const size_t index) override; + bool process() override; + + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_LSLCommunication) + +protected: + + // Encoder / Decoder + std::vector<Toolkit::TGenericDecoder<CBoxLSLCommunication>> m_decoders; + std::vector<Toolkit::TStreamedMatrixEncoder<CBoxLSLCommunication>> m_encoders; + std::vector<Toolkit::TStimulationDecoder<CBoxLSLCommunication>> m_stimDecoders; + std::vector<Toolkit::TStimulationEncoder<CBoxLSLCommunication>> m_stimEncoders; + + std::vector<CMatrix*> m_iMatrix, m_oMatrix; + std::vector<CStimulationSet*> m_iStimSet, m_oStimSet; + + + std::vector<lsl::stream_outlet*> m_outlets; + std::vector<lsl::stream_inlet*> m_inlets; + + std::vector<std::string> m_names, m_ids; + std::vector<uint64_t> m_lastOutputTimes; + std::vector<std::vector<float>> m_buffers; + + size_t m_nInput = -1, m_nOutput = -1, m_firstStimInput = -1, m_firstStimOutput = -1; +}; + +//-------------------------------------------------------------------------------- +/// <summary> Listener of the box LSL Communication. </summary> +class CBoxLSLCommunicationListener final : public Toolkit::TBoxListener<IBoxListener> +{ + //-------------------------------------------------------------------------------- + void check(Kernel::IBox& box, const bool input) const + { + checkName(box, input); + checkType(box, input); + } + + //-------------------------------------------------------------------------------- + void checkName(Kernel::IBox& box, const bool input) const + { + // Input/Output + if (input) { for (size_t i = 0; i < box.getInputCount(); ++i) { box.setInputName(i, ("Input " + std::to_string(i + 1)).c_str()); } } + else { for (size_t i = 0; i < box.getOutputCount(); ++i) { box.setOutputName(i, ("Output " + std::to_string(i + 1)).c_str()); } } + // Settings + for (size_t i = 0; i < box.getInputCount(); ++i) { box.setSettingName(i, getLabel(true, i).c_str()); } + for (size_t i = 0; i < box.getOutputCount(); ++i) { box.setSettingName(i + box.getInputCount(), getLabel(false, i).c_str()); } + } + + //-------------------------------------------------------------------------------- + void checkType(Kernel::IBox& box, const bool input) const + { + CIdentifier type; + if (input) { + bool firstStimFound = false; + for (size_t i = 0; i < box.getInputCount(); ++i) { + box.getInputType(i, type); + if (!firstStimFound && type == OV_TypeId_Stimulations) { firstStimFound = true; } + else if (firstStimFound && type != OV_TypeId_Stimulations) { + getLogManager() << Kernel::LogLevel_Error << "You must put All stimulations streams at the end of the Input list.\n"; + } + } + } + else { + bool firstStimFound = false; + for (size_t i = 0; i < box.getOutputCount(); ++i) { + box.getOutputType(i, type); + if (!firstStimFound && type == OV_TypeId_Stimulations) { firstStimFound = true; } + else if (firstStimFound && type != OV_TypeId_Stimulations) { + getLogManager() << Kernel::LogLevel_Error << "You must put All stimulations streams at the end of the Output list.\n"; + } + } + } + } + + //-------------------------------------------------------------------------------- + std::string getLabel(const bool input, const size_t i) const { return (input ? "Input " : "Output ") + std::to_string(i + 1) + " Stream Name"; } + std::string getStreamName(const bool input, const size_t i) const { return (input ? "i" : "o") + std::to_string(i + 1) + "ov"; } + +public: + + //-------------------------------------------------------------------------------- + bool onInputAdded(Kernel::IBox& box, const size_t index) override + { + box.setInputName(index, ("Input " + std::to_string(index + 1)).c_str()); + box.setInputType(index, OV_TypeId_Signal); + box.addSetting(("Input " + std::to_string(index + 1) + " Stream Name").c_str(), OV_TypeId_String, getStreamName(true, index).c_str(), index); + return true; + } + + //-------------------------------------------------------------------------------- + bool onInputRemoved(Kernel::IBox& box, const size_t index) override + { + box.removeSetting(index); + check(box, true); + return true; + } + + + //-------------------------------------------------------------------------------- + bool onOutputAdded(Kernel::IBox& box, const size_t index) override + { + box.setOutputName(index, ("Output " + std::to_string(index + 1)).c_str()); + box.setOutputType(index, OV_TypeId_StreamedMatrix); + box.addSetting(("Output " + std::to_string(index + 1) + " Stream Name").c_str(), OV_TypeId_String, getStreamName(false, index).c_str()); + return true; + } + + //-------------------------------------------------------------------------------- + bool onOutputRemoved(Kernel::IBox& box, const size_t index) override + { + box.removeSetting(index + box.getInputCount()); + check(box, false); + return true; + } + + //-------------------------------------------------------------------------------- + bool onInputTypeChanged(Kernel::IBox& box, const size_t index) override + { + check(box, true); + return true; + } + + //-------------------------------------------------------------------------------- + bool onOutputTypeChanged(Kernel::IBox& box, const size_t index) override + { + check(box, false); + return true; + } + + + _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) +}; + +//-------------------------------------------------------------------------------- +/// <summary> Descriptor of the box Hello Bidirectionnal Game. </summary> +class CBoxLSLCommunicationDesc final : virtual public IBoxAlgorithmDesc +{ +public: + void release() override { } + + CString getName() const override { return "LSL Communication"; } + CString getAuthorName() const override { return "Thibaut Monseigne"; } + CString getAuthorCompanyName() const override { return "Inria"; } + CString getShortDescription() const override { return "General box to send/receive LSL Stream."; } + CString getDetailedDescription() const override { return "General box to send/receive LSL Stream."; } + CString getCategory() const override { return "Acquisition and network IO"; } + CString getVersion() const override { return "1.0"; } + CString getStockItemName() const override { return "gtk-connect"; } + + CIdentifier getCreatedClass() const override { return Box_LSLCommunication; } + IPluginObject* create() override { return new CBoxLSLCommunication; } + + IBoxListener* createBoxListener() const override { return new CBoxLSLCommunicationListener; } + void releaseBoxListener(IBoxListener* listener) const override { delete listener; } + + bool getBoxPrototype(Kernel::IBoxProto& prototype) const override + { + prototype.addFlag(Kernel::BoxFlag_CanModifyInput); + prototype.addFlag(Kernel::BoxFlag_CanAddInput); + prototype.addFlag(Kernel::BoxFlag_CanModifyOutput); + prototype.addFlag(Kernel::BoxFlag_CanAddOutput); + + prototype.addInputSupport(OV_TypeId_Signal); + prototype.addInputSupport(OV_TypeId_StreamedMatrix); + prototype.addInputSupport(OV_TypeId_Stimulations); + + prototype.addOutputSupport(OV_TypeId_StreamedMatrix); + prototype.addOutputSupport(OV_TypeId_Stimulations); + + return true; + } + + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_LSLCommunication_Desc) +}; + +} // namespace NetworkIO +} // namespace Plugins +} // namespace OpenViBE + +#endif // TARGET_HAS_ThirdPartyLSL diff --git a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.cpp b/plugins/processing/network-io/src/box-algorithms/CBoxLSLExport.cpp similarity index 56% rename from plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.cpp rename to plugins/processing/network-io/src/box-algorithms/CBoxLSLExport.cpp index 1e17fe0f2efa270c5c9869154c9618ee54d3aad4..ad65f9d616f2277798a62494468f9de43215b693 100644 --- a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.cpp +++ b/plugins/processing/network-io/src/box-algorithms/CBoxLSLExport.cpp @@ -1,22 +1,44 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxLSLExport.cpp +/// \brief Class of the box that export stream with LSL. +/// \author Jussi T. Lindgren (Inria). +/// \version 1.0. +/// \date 30/01/2015 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #ifdef TARGET_HAS_ThirdPartyLSL -/* - * Notes: This code should be kept compatible with changes to LSL Input Driver and Output Plugin in OpenViBE Acquisition Server. - * - */ -#include "ovpCBoxAlgorithmLSLExport.h" +// Notes: This code should be kept compatible with changes to LSL Input Driver and Output Plugin in OpenViBE Acquisition Server. +#include "CBoxLSLExport.hpp" #include <ctime> #include <iostream> +#include <lsl/Utils.hpp> #include <system/ovCTime.h> -#include <labstreamlayer/Utils.hpp> namespace OpenViBE { namespace Plugins { namespace NetworkIO { -bool CBoxAlgorithmLSLExport::initialize() +//-------------------------------------------------------------------------------- +bool CBoxLSLExport::initialize() { m_signalOutlet = nullptr; m_stimulusOutlet = nullptr; @@ -24,14 +46,14 @@ bool CBoxAlgorithmLSLExport::initialize() m_signalDecoder.initialize(*this, 0); m_stimDecoder.initialize(*this, 1); - m_signalName = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0); - m_markerName = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1); + m_signalName = CString(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0)).toASCIIString(); + m_markerName = CString(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1)).toASCIIString(); // These are supposed to be unique, so we don't have them in the box config - m_signalID = CIdentifier::random().toString(); - m_markerID = CIdentifier::random().toString(); + m_signalID = CIdentifier::random().str(); + m_markerID = CIdentifier::random().str(); - while (m_markerID == m_signalID) { m_markerID = CIdentifier::random().toString(); } // very unlikely + while (m_markerID == m_signalID) { m_markerID = CIdentifier::random().str(); } // very unlikely this->getLogManager() << Kernel::LogLevel_Trace << "Will create streams [" << m_signalName << ", id " << m_signalID << "] and [" << m_markerName << ", id " << m_markerID << "]\n"; @@ -39,20 +61,19 @@ bool CBoxAlgorithmLSLExport::initialize() m_useOVTimestamps = this->getConfigurationManager().expandAsBoolean("${LSL_UseOVTimestamps}", m_useOVTimestamps); return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmLSLExport::uninitialize() +//-------------------------------------------------------------------------------- +bool CBoxLSLExport::uninitialize() { m_signalDecoder.uninitialize(); m_stimDecoder.uninitialize(); - if (m_signalOutlet) - { + if (m_signalOutlet) { delete m_signalOutlet; m_signalOutlet = nullptr; } - if (m_stimulusOutlet) - { + if (m_stimulusOutlet) { delete m_stimulusOutlet; m_stimulusOutlet = nullptr; } @@ -61,26 +82,26 @@ bool CBoxAlgorithmLSLExport::uninitialize() return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmLSLExport::processInput(const size_t /*index*/) +//-------------------------------------------------------------------------------- +bool CBoxLSLExport::processInput(const size_t /*index*/) { // ready to process ! getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmLSLExport::process() +//-------------------------------------------------------------------------------- +bool CBoxLSLExport::process() { // the dynamic box context describes the current state of the box inputs and outputs (i.e. the chunks) Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); // Process signals - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { - if (m_startTime == CTime(0)) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) { + if (m_startTime == CTime(0)) { // This should be the ov time when acquisition client tagged the first chunk with [0, t], t=bufferSize/samplingRate. // As the true run time is not know here, we have to do with a slightly delayed estimate. (The delay is the duration // it took from stamping the first chunk to this point in the code) @@ -88,8 +109,7 @@ bool CBoxAlgorithmLSLExport::process() } m_signalDecoder.decode(i); - if (m_signalDecoder.isHeaderReceived() && !m_signalOutlet) - { + if (m_signalDecoder.isHeaderReceived() && !m_signalOutlet) { const size_t nChannel = m_signalDecoder.getOutputMatrix()->getDimensionSize(0); const size_t samplesPerBlock = m_signalDecoder.getOutputMatrix()->getDimensionSize(1); const size_t frequency = m_signalDecoder.getOutputSamplingRate(); @@ -97,13 +117,12 @@ bool CBoxAlgorithmLSLExport::process() m_buffer.resize(nChannel); // Open a signal stream - lsl::stream_info signalInfo(m_signalName.toASCIIString(), "signal", int(nChannel), int(frequency), lsl::cf_float32, m_signalID.toASCIIString()); + lsl::stream_info signalInfo(m_signalName, "signal", int(nChannel), int(frequency), lsl::cf_float32, m_signalID); lsl::xml_element channels = signalInfo.desc().append_child("channels"); //m_signalDecoder.getOutputMatrix()->getDimensionLabel(0, 1); - for (size_t c = 0; c < nChannel; ++c) - { + for (size_t c = 0; c < nChannel; ++c) { const char* name = m_signalDecoder.getOutputMatrix()->getDimensionLabel(0, c); channels.append_child("channel").append_child_value("label", name).append_child_value("unit", "unknown").append_child_value("type", "signal"); } @@ -114,17 +133,14 @@ bool CBoxAlgorithmLSLExport::process() #endif // make a new outlet - try { m_signalOutlet = new lsl::stream_outlet(signalInfo, samplesPerBlock); } - catch (...) - { + try { m_signalOutlet = new lsl::stream_outlet(signalInfo, int(samplesPerBlock)); } + catch (...) { this->getLogManager() << "Unable to create signal outlet\n"; return false; } } - if (m_signalDecoder.isBufferReceived() && m_signalOutlet) - { - if (m_signalOutlet->have_consumers()) - { + if (m_signalDecoder.isBufferReceived() && m_signalOutlet) { + if (m_signalOutlet->have_consumers()) { const CMatrix* matrix = m_signalDecoder.getOutputMatrix(); const size_t nChannel = matrix->getDimensionSize(0); const size_t samplesPerBlock = matrix->getDimensionSize(1); @@ -133,48 +149,39 @@ bool CBoxAlgorithmLSLExport::process() const CTime chunkStartTime(boxContext.getInputChunkStartTime(0, i)); const CTime chunkEndTime(boxContext.getInputChunkEndTime(0, i)); - if (samplesPerBlock == 0) - { + if (samplesPerBlock == 0) { this->getLogManager() << Kernel::LogLevel_Error << "Unable to process signal with 0 samples per buffer \n"; return false; } // note: the step computed below should be exactly the same as could be obtained from the sampling rate // n.b. this would work more "lsl-like" if the timestamps were the real acquisition timestamps - if (m_useOVTimestamps) - { + if (m_useOVTimestamps) { const double sampleStepInSec = (chunkEndTime - chunkStartTime).toSeconds() / static_cast<double>(samplesPerBlock); const double chunkStartInSec = chunkStartTime.toSeconds(); - for (size_t sample = 0; sample < samplesPerBlock; ++sample) - { - for (size_t channel = 0; channel < nChannel; ++channel) - { + for (size_t sample = 0; sample < samplesPerBlock; ++sample) { + for (size_t channel = 0; channel < nChannel; ++channel) { m_buffer[channel] = static_cast<float>(iBuffer[channel * samplesPerBlock + sample]); } m_signalOutlet->push_sample(m_buffer, chunkStartInSec + sampleStepInSec * static_cast<double>(sample)); } } - else - { + else { const uint64_t sampleStep = (chunkEndTime - chunkStartTime).time() / uint64_t(samplesPerBlock); - for (size_t sample = 0; sample < samplesPerBlock; ++sample) - { - for (size_t channel = 0; channel < nChannel; ++channel) - { + for (size_t sample = 0; sample < samplesPerBlock; ++sample) { + for (size_t channel = 0; channel < nChannel; ++channel) { m_buffer[channel] = static_cast<float>(iBuffer[channel * samplesPerBlock + sample]); } - const double lslTime = OpenViBE::LabStreamLayer::getLSLRelativeTime(m_startTime + chunkStartTime + CTime(sample * sampleStep)); + const double lslTime = LSL::getLSLRelativeTime(m_startTime + chunkStartTime + CTime(sample * sampleStep)); m_signalOutlet->push_sample(m_buffer, lslTime); } } } } - if (m_signalDecoder.isEndReceived()) - { - if (m_signalOutlet) - { + if (m_signalDecoder.isEndReceived()) { + if (m_signalOutlet) { delete m_signalOutlet; m_signalOutlet = nullptr; } @@ -183,50 +190,41 @@ bool CBoxAlgorithmLSLExport::process() // Process stimuli -> LSL markers. // Note that stimuli with identifiers not fitting to int will be mangled by a static cast. - for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) - { - if (m_startTime == CTime(0)) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) { + if (m_startTime == CTime(0)) { // Initialisation done here too as the box may only receive stimulations m_startTime = System::Time::zgetTime(); } m_stimDecoder.decode(i); - if (m_stimDecoder.isHeaderReceived() && !m_stimulusOutlet) - { + if (m_stimDecoder.isHeaderReceived() && !m_stimulusOutlet) { // Open a stimulus stream - lsl::stream_info info(m_markerName.toASCIIString(), "Markers", 1, lsl::IRREGULAR_RATE, lsl::cf_int32, m_markerID.toASCIIString()); + lsl::stream_info info(m_markerName, "Markers", 1, lsl::IRREGULAR_RATE, lsl::cf_int32, m_markerID); info.desc().append_child("channels").append_child("channel").append_child_value("label", "Stimulations").append_child_value("type", "marker"); try { m_stimulusOutlet = new lsl::stream_outlet(info); } - catch (...) - { + catch (...) { this->getLogManager() << "Unable to create marker outlet\n"; return false; } } - if (m_stimDecoder.isBufferReceived() && m_stimulusOutlet) - { + if (m_stimDecoder.isBufferReceived() && m_stimulusOutlet) { // Output stimuli - if (m_stimulusOutlet->have_consumers()) - { - const IStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); + if (m_stimulusOutlet->have_consumers()) { + const CStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); - for (size_t s = 0; s < stimSet->getStimulationCount(); ++s) - { - const int code = int(stimSet->getStimulationIdentifier(s)); - const double date = m_useOVTimestamps ? CTime(stimSet->getStimulationDate(s)).toSeconds() - : OpenViBE::LabStreamLayer::getLSLRelativeTime(m_startTime + CTime(stimSet->getStimulationDate(s))); + for (size_t s = 0; s < stimSet->size(); ++s) { + const int code = int(stimSet->getId(s)); + const double date = m_useOVTimestamps ? CTime(stimSet->getDate(s)).toSeconds() + : LSL::getLSLRelativeTime(m_startTime + CTime(stimSet->getDate(s))); m_stimulusOutlet->push_sample(&code, date); } } } - if (m_stimDecoder.isEndReceived()) - { - if (m_stimulusOutlet) - { + if (m_stimDecoder.isEndReceived()) { + if (m_stimulusOutlet) { delete m_stimulusOutlet; m_stimulusOutlet = nullptr; } @@ -234,6 +232,7 @@ bool CBoxAlgorithmLSLExport::process() } return true; } +//-------------------------------------------------------------------------------- #endif } // namespace NetworkIO diff --git a/plugins/processing/network-io/src/box-algorithms/CBoxLSLExport.hpp b/plugins/processing/network-io/src/box-algorithms/CBoxLSLExport.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4cfd5ec8d8bc80e0d0a59666e882f705efb8cf78 --- /dev/null +++ b/plugins/processing/network-io/src/box-algorithms/CBoxLSLExport.hpp @@ -0,0 +1,113 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxLSLExport.hpp +/// \brief Class of the box that export stream with LSL. +/// \author Jussi T. Lindgren (Inria). +/// \version 1.0. +/// \date 30/01/2015 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +#ifdef TARGET_HAS_ThirdPartyLSL + +#include "defines.hpp" +#include <openvibe/ov_all.h> +#include <toolkit/ovtk_all.h> + +#include <lsl_cpp.h> + +#include <ctime> +#include <iostream> + +namespace OpenViBE { +namespace Plugins { +namespace NetworkIO { + +//-------------------------------------------------------------------------------- +/// <summary> The class CBoxLSLExport describes the box LSL Export. </summary> +class CBoxLSLExport final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +{ +public: + void release() override { delete this; } + + bool initialize() override; + bool uninitialize() override; + + bool processInput(const size_t index) override; + bool process() override; + + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_LSLExport) + +protected: + + // Decoders + Toolkit::TStimulationDecoder<CBoxLSLExport> m_stimDecoder; + Toolkit::TSignalDecoder<CBoxLSLExport> m_signalDecoder; + + lsl::stream_outlet* m_signalOutlet = nullptr; + lsl::stream_outlet* m_stimulusOutlet = nullptr; + + std::vector<float> m_buffer; + + std::string m_signalName, m_signalID; + std::string m_markerName, m_markerID; + + bool m_useOVTimestamps = false; + CTime m_startTime = CTime(0); +}; + +//-------------------------------------------------------------------------------- +/// <summary> Descriptor of the box LSL Export. </summary> +class CBoxLSLExportDesc final : virtual public IBoxAlgorithmDesc +{ +public: + + void release() override { } + + CString getName() const override { return "LSL Export"; } + CString getAuthorName() const override { return "Jussi T. Lindgren"; } + CString getAuthorCompanyName() const override { return "Inria"; } + CString getShortDescription() const override { return "Send input stream out via LabStreamingLayer (LSL)"; } + CString getDetailedDescription() const override { return ""; } + CString getCategory() const override { return "Acquisition and network IO"; } + CString getVersion() const override { return "0.1"; } + CString getStockItemName() const override { return "gtk-connect"; } + + CIdentifier getCreatedClass() const override { return Box_LSLExport; } + IPluginObject* create() override { return new CBoxLSLExport; } + + bool getBoxPrototype(Kernel::IBoxProto& prototype) const override + { + prototype.addInput("Input signal", OV_TypeId_Signal); + prototype.addInput("Input stimulations", OV_TypeId_Stimulations); + + prototype.addSetting("Signal stream", OV_TypeId_String, "openvibeSignal"); + prototype.addSetting("Marker stream", OV_TypeId_String, "openvibeMarkers"); + + return true; + } + + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_LSLExportDesc) +}; +} // namespace NetworkIO +} // namespace Plugins +} // namespace OpenViBE + + +#endif // TARGET_HAS_Boost diff --git a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.cpp b/plugins/processing/network-io/src/box-algorithms/CBoxSharedMemoryWriter.cpp similarity index 70% rename from plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.cpp rename to plugins/processing/network-io/src/box-algorithms/CBoxSharedMemoryWriter.cpp index c11b6f124c21ee22212800d3917a1e8ec852c232..d5811220eddfc6e33fcfc79e729db3e4f8be9577 100644 --- a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.cpp +++ b/plugins/processing/network-io/src/box-algorithms/CBoxSharedMemoryWriter.cpp @@ -1,4 +1,28 @@ -#include "ovpCBoxAlgorithmSharedMemoryWriter.h" +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxSharedMemoryWriter.cpp +/// \brief Class of the box SharedMemoryWriter. +/// \author Dieter Devlaminck (Inria). +/// \version 1.0. +/// \date 17/01/2013 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#include "CBoxSharedMemoryWriter.hpp" #include <iostream> #include <sstream> @@ -8,11 +32,10 @@ namespace OpenViBE { namespace Plugins { namespace FileReadingAndWriting { -//struct timeval currentLTime; - #define time2ms(x, y) ((x) * 1000 + (y) / 1000.0) + 0.5 -bool CBoxAlgorithmSharedMemoryWriter::initialize() +//-------------------------------------------------------------------------------- +bool CBoxSharedMemoryWriter::initialize() { //remove and create shared memory m_sharedMemoryName = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0); // can be local variable @@ -20,7 +43,7 @@ bool CBoxAlgorithmSharedMemoryWriter::initialize() m_sharedMemoryArray = boost::interprocess::managed_shared_memory(boost::interprocess::create_only, m_sharedMemoryName.toASCIIString(), 655360); //remove and create mutex - m_mutexName = m_sharedMemoryName + CString("_Mutex"); + m_mutexName = m_sharedMemoryName + "_Mutex"; boost::interprocess::named_mutex::remove(m_mutexName.toASCIIString()); m_mutex = new boost::interprocess::named_mutex(boost::interprocess::open_or_create, m_mutexName.toASCIIString()); @@ -31,16 +54,14 @@ bool CBoxAlgorithmSharedMemoryWriter::initialize() //fill meta info vector and create shared vector variable for the appropriate types const Kernel::IBox& boxContext = this->getStaticBoxContext(); - for (size_t i = 0; i < boxContext.getInputCount(); ++i) - { + for (size_t i = 0; i < boxContext.getInputCount(); ++i) { CIdentifier typeID; std::ostringstream convert; // stream used for the conversion convert << i; boxContext.getInputType(i, typeID); - if (typeID == OVTK_TypeId_StreamedMatrix) - { - m_decoders.push_back(new Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmSharedMemoryWriter>()); + if (typeID == OVTK_TypeId_StreamedMatrix) { + m_decoders.push_back(new Toolkit::TStreamedMatrixDecoder<CBoxSharedMemoryWriter>()); ShmString name("Matrix", instString); name += ShmString(convert.str().c_str(), instString); metaInfoVector->insert(std::make_pair(name, typeID)); @@ -50,9 +71,8 @@ bool CBoxAlgorithmSharedMemoryWriter::initialize() this->getLogManager() << Kernel::LogLevel_Info << "Constructed variable in shared memory of type matrix with name " << name.c_str() << "\n"; } - else if (typeID == OVTK_TypeId_Stimulations) - { - m_decoders.push_back(new Toolkit::TStimulationDecoder<CBoxAlgorithmSharedMemoryWriter>()); + else if (typeID == OVTK_TypeId_Stimulations) { + m_decoders.push_back(new Toolkit::TStimulationDecoder<CBoxSharedMemoryWriter>()); ShmString name("Stimuli", instString); name += ShmString(convert.str().c_str(), instString); metaInfoVector->insert(std::make_pair(name, typeID)); @@ -70,23 +90,22 @@ bool CBoxAlgorithmSharedMemoryWriter::initialize() return true; } +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmSharedMemoryWriter::uninitialize() +//-------------------------------------------------------------------------------- +bool CBoxSharedMemoryWriter::uninitialize() { m_sharedMemoryArray.destroy<MyVectorMetaInfo>("MetaInfo"); const Kernel::IBox& boxContext = this->getStaticBoxContext(); - for (int i = int(boxContext.getInputCount() - 1); i >= 0; i--) - { + for (int i = int(boxContext.getInputCount() - 1); i >= 0; i--) { CIdentifier typeID; boxContext.getInputType(i, typeID); const std::string idxStr = std::to_string(i); - if (typeID == OVTK_TypeId_StreamedMatrix) - { + if (typeID == OVTK_TypeId_StreamedMatrix) { this->getLogManager() << Kernel::LogLevel_Debug << "Uninitialize shared memory variable associated with input " << i << "\n"; - for (size_t j = 0; j < m_streamedMatrices.back()->size(); ++j) - { + for (size_t j = 0; j < m_streamedMatrices.back()->size(); ++j) { m_sharedMemoryArray.deallocate(m_streamedMatrices.back()->at(j)->data.get()); m_sharedMemoryArray.deallocate(m_streamedMatrices.back()->at(j).get()); } @@ -96,8 +115,7 @@ bool CBoxAlgorithmSharedMemoryWriter::uninitialize() //TODO: pop_back()? } - else if (typeID == OVTK_TypeId_Stimulations) - { + else if (typeID == OVTK_TypeId_Stimulations) { m_stimSets.back()->clear(); m_sharedMemoryArray.destroy<MyVectorStimulation>(("Stimuli" + idxStr).c_str()); } @@ -106,8 +124,7 @@ bool CBoxAlgorithmSharedMemoryWriter::uninitialize() boost::interprocess::shared_memory_object::remove(m_sharedMemoryName.toASCIIString()); boost::interprocess::named_mutex::remove(m_mutexName.toASCIIString()); delete m_mutex; - for (size_t i = 0; i < boxContext.getInputCount(); ++i) - { + for (size_t i = 0; i < boxContext.getInputCount(); ++i) { m_decoders[i]->uninitialize(); delete m_decoders[i]; } @@ -115,14 +132,18 @@ bool CBoxAlgorithmSharedMemoryWriter::uninitialize() return true; } +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmSharedMemoryWriter::processInput(const size_t /*index*/) +//-------------------------------------------------------------------------------- +bool CBoxSharedMemoryWriter::processInput(const size_t /*index*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; } +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmSharedMemoryWriter::process() +//-------------------------------------------------------------------------------- +bool CBoxSharedMemoryWriter::process() { Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); const Kernel::IBox& staticBoxContext = this->getStaticBoxContext(); @@ -130,32 +151,25 @@ bool CBoxAlgorithmSharedMemoryWriter::process() size_t iStimulusCounter = 0; size_t iMatrixCounter = 0; - for (size_t i = 0; i < staticBoxContext.getInputCount(); ++i) - { + for (size_t i = 0; i < staticBoxContext.getInputCount(); ++i) { CIdentifier typeID; staticBoxContext.getInputType(i, typeID); - if (typeID == OVTK_TypeId_Stimulations) - { - for (size_t j = 0; j < boxContext.getInputChunkCount(i); ++j) - { + if (typeID == OVTK_TypeId_Stimulations) { + for (size_t j = 0; j < boxContext.getInputChunkCount(i); ++j) { //m_oAlgo0_StimulationDecoder.decode(j,i, false); m_decoders[i]->decode(j, false); //CStimulationSet stimSet; - IStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationDecoder<CBoxAlgorithmSharedMemoryWriter>*>(m_decoders[i])-> + CStimulationSet* stimSet = dynamic_cast<Toolkit::TStimulationDecoder<CBoxSharedMemoryWriter>*>(m_decoders[i])-> getOutputStimulationSet(); //Toolkit::StimulationSet::copy(l_oStimSet, *m_oAlgo0_StimulationDecoder.getOutputStimulationSet()); if (m_decoders[i]->isHeaderReceived()) { boxContext.markInputAsDeprecated(i, j); } - if (m_decoders[i]->isBufferReceived()) - { - if (stimSet->getStimulationCount() > 0) - { + if (m_decoders[i]->isBufferReceived()) { + if (stimSet->size() > 0) { boost::interprocess::scoped_lock<boost::interprocess::named_mutex> lock(*m_mutex, boost::interprocess::try_to_lock); - if (lock) - { - for (size_t k = 0; k < stimSet->getStimulationCount(); ++k) - { + if (lock) { + for (size_t k = 0; k < stimSet->size(); ++k) { // @fixme m_stimSets defined as 32bit will only work correctly with stimuli that fit in 32bits (OV stimulations can be 64bit) - m_stimSets[iStimulusCounter]->push_back(size_t(stimSet->getStimulationIdentifier(k))); + m_stimSets[iStimulusCounter]->push_back(size_t(stimSet->getId(k))); this->getLogManager() << Kernel::LogLevel_Info << "Added stimulus with id " << m_stimSets[iStimulusCounter]->back() << " to shared memory variable\n"; } @@ -169,18 +183,14 @@ bool CBoxAlgorithmSharedMemoryWriter::process() } iStimulusCounter++; } - else if (typeID == OVTK_TypeId_StreamedMatrix) - { - for (size_t j = 0; j < boxContext.getInputChunkCount(i); ++j) - { + else if (typeID == OVTK_TypeId_StreamedMatrix) { + for (size_t j = 0; j < boxContext.getInputChunkCount(i); ++j) { m_decoders[i]->decode(j, false); - CMatrix* matrix = dynamic_cast<Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmSharedMemoryWriter>*>(m_decoders[i])->getOutputMatrix(); + CMatrix* matrix = dynamic_cast<Toolkit::TStreamedMatrixDecoder<CBoxSharedMemoryWriter>*>(m_decoders[i])->getOutputMatrix(); if (m_decoders[i]->isHeaderReceived()) { boxContext.markInputAsDeprecated(i, j); } - if (m_decoders[i]->isBufferReceived()) - { + if (m_decoders[i]->isBufferReceived()) { boost::interprocess::scoped_lock<boost::interprocess::named_mutex> lock(*m_mutex, boost::interprocess::try_to_lock); - if (lock) - { + if (lock) { boost::interprocess::offset_ptr<SMatrix> shmMatrix = static_cast<SMatrix*>(m_sharedMemoryArray.allocate(sizeof(SMatrix))); //if we receive a vector (second dimension to 0) we force to one otherwise no memory will be allocated @@ -208,6 +218,7 @@ bool CBoxAlgorithmSharedMemoryWriter::process() return true; } +//-------------------------------------------------------------------------------- } // namespace FileReadingAndWriting } // namespace Plugins diff --git a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.h b/plugins/processing/network-io/src/box-algorithms/CBoxSharedMemoryWriter.hpp similarity index 53% rename from plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.h rename to plugins/processing/network-io/src/box-algorithms/CBoxSharedMemoryWriter.hpp index bdd87a72d3043a1803072310bcdbbbf9b07541db..ef143d94f67e40360e989a19307b5f2581596d2c 100644 --- a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.h +++ b/plugins/processing/network-io/src/box-algorithms/CBoxSharedMemoryWriter.hpp @@ -1,7 +1,31 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxSharedMemoryWriter.hpp +/// \brief Class of the box SharedMemoryWriter. +/// \author Dieter Devlaminck (Inria). +/// \version 1.0. +/// \date 17/01/2013 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #pragma once //You may have to change this path to match your folder organisation -#include "../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> @@ -21,18 +45,10 @@ namespace OpenViBE { namespace Plugins { namespace FileReadingAndWriting { -/** - * \class CBoxAlgorithmSharedMemoryWriter - * \author Dieter Devlaminck (INRIA) - * \date Thu Jan 17 13:34:58 2013 - * \brief The class CBoxAlgorithmSharedMemoryWriter describes the box SharedMemoryWriter. - * - */ struct SMatrix { - size_t rowDim; - size_t colDim; + size_t rowDim, colDim; boost::interprocess::offset_ptr<double> data; }; @@ -50,27 +66,23 @@ ShmemAllocatorMatrix; typedef boost::interprocess::vector<size_t, ShmemAllocatorStimulation> MyVectorStimulation; typedef boost::interprocess::vector<boost::interprocess::offset_ptr<SMatrix>, ShmemAllocatorMatrix> MyVectorStreamedMatrix; -class CBoxAlgorithmSharedMemoryWriter final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +//-------------------------------------------------------------------------------- +/// <summary> The class CBoxSharedMemoryWriter describes the box SharedMemoryWriter. </summary> +class CBoxSharedMemoryWriter final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> { public: - void release() override { delete this; } bool initialize() override; bool uninitialize() override; bool processInput(const size_t index) override; - bool process() override; - // As we do with any class in openvibe, we use the macro below - // to associate this box to an unique identifier. - // The inheritance information is also made available, - // as we provide the superclass Toolkit::TBoxAlgorithm < IBoxAlgorithm > - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_SharedMemoryWriter) + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_SharedMemoryWriter) protected: - std::vector<Toolkit::TDecoder<CBoxAlgorithmSharedMemoryWriter>*> m_decoders; + std::vector<Toolkit::TDecoder<CBoxSharedMemoryWriter>*> m_decoders; CString m_sharedMemoryName; boost::interprocess::managed_shared_memory m_sharedMemoryArray; @@ -83,12 +95,11 @@ private: }; -// The box listener can be used to call specific callbacks whenever the box structure changes : input added, name changed, etc. -// Please uncomment below the callbacks you want to use. -class CBoxAlgorithmSharedMemoryWriterListener final : public Toolkit::TBoxListener<IBoxListener> +//-------------------------------------------------------------------------------- +/// <summary> Listener of the box SharedMemoryWriter. </summary> +class CBoxSharedMemoryWriterListener final : public Toolkit::TBoxListener<IBoxListener> { public: - bool onInputAdded(Kernel::IBox& /*box*/, const size_t /*index*/) override { return true; } bool onInputRemoved(Kernel::IBox& /*box*/, const size_t /*index*/) override { return true; } bool onInputTypeChanged(Kernel::IBox& /*box*/, const size_t /*index*/) override { return true; } @@ -96,54 +107,43 @@ public: _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) }; - -/** - * \class CBoxAlgorithmSharedMemoryWriterDesc - * \author Dieter Devlaminck (INRIA) - * \date Thu Jan 17 13:34:58 2013 - * \brief Descriptor of the box SharedMemoryWriter. - * - */ -class CBoxAlgorithmSharedMemoryWriterDesc final : virtual public IBoxAlgorithmDesc +//-------------------------------------------------------------------------------- +/// <summary> Descriptor of the box SharedMemoryWriter. </summary> +class CBoxSharedMemoryWriterDesc final : virtual public IBoxAlgorithmDesc { public: - void release() override { } - CString getName() const override { return CString("SharedMemoryWriter"); } - CString getAuthorName() const override { return CString("Dieter Devlaminck"); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - CString getShortDescription() const override { return CString("Stream input to shared memory"); } + CString getName() const override { return "SharedMemoryWriter"; } + CString getAuthorName() const override { return "Dieter Devlaminck"; } + CString getAuthorCompanyName() const override { return "INRIA"; } + CString getShortDescription() const override { return "Stream input to shared memory"; } CString getDetailedDescription() const override { - return CString( - "The box writes input to shared memory so that it can be read by another process. Stimuli and streamed matrices are supported, and transformed into a format that can be written into shared memory. Based on the input types, a metainfo variable will be created in shared memory that will specify which variables have which type. This way the client can know what it will be reading."); + return + "The box writes input to shared memory so that it can be read by another process. Stimuli and streamed matrices are supported, and transformed into a format that can be written into shared memory. Based on the input types, a metainfo variable will be created in shared memory that will specify which variables have which type. This way the client can know what it will be reading."; } - CString getCategory() const override { return CString("File reading and writing"); } - CString getVersion() const override { return CString("1.0"); } - CString getStockItemName() const override { return CString(""); } + CString getCategory() const override { return "File reading and writing"; } + CString getVersion() const override { return "1.0"; } + CString getStockItemName() const override { return ""; } - CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_SharedMemoryWriter; } - IPluginObject* create() override { return new CBoxAlgorithmSharedMemoryWriter; } + CIdentifier getCreatedClass() const override { return Box_SharedMemoryWriter; } + IPluginObject* create() override { return new CBoxSharedMemoryWriter; } - IBoxListener* createBoxListener() const override { return new CBoxAlgorithmSharedMemoryWriterListener; } + IBoxListener* createBoxListener() const override { return new CBoxSharedMemoryWriterListener; } void releaseBoxListener(IBoxListener* listener) const override { delete listener; } bool getBoxPrototype(Kernel::IBoxProto& prototype) const override { prototype.addInput("prediction1",OV_TypeId_StreamedMatrix); - //prototype.addInput("prediction2",OV_TypeId_Stimulations); + prototype.addSetting("SharedMemoryName", OV_TypeId_String, "SharedMemory_P300Stimulator"); prototype.addFlag(Kernel::BoxFlag_CanModifyInput); prototype.addFlag(Kernel::BoxFlag_CanAddInput); - //prototype.addFlag(Kernel::BoxFlag_CanRemoveInput); - - prototype.addSetting("SharedMemoryName",OV_TypeId_String, "SharedMemory_P300Stimulator"); - prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); prototype.addInputSupport(OV_TypeId_StreamedMatrix); @@ -152,7 +152,7 @@ public: return true; } - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_SharedMemoryWriterDesc) + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_SharedMemoryWriterDesc) }; } // namespace FileReadingAndWriting } // namespace Plugins diff --git a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmTCPWriter.cpp b/plugins/processing/network-io/src/box-algorithms/CBoxTCPWriter.cpp similarity index 61% rename from plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmTCPWriter.cpp rename to plugins/processing/network-io/src/box-algorithms/CBoxTCPWriter.cpp index d92453693280dc932a5cf85b32b9b67dbcbac04f..2770f2703eb815c2b187d8a0fa9617b93505101e 100644 --- a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmTCPWriter.cpp +++ b/plugins/processing/network-io/src/box-algorithms/CBoxTCPWriter.cpp @@ -1,13 +1,34 @@ -#ifdef TARGET_HAS_Boost - -#include "ovpCBoxAlgorithmTCPWriter.h" +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxTCPWriter.cpp +/// \brief Class of the box TCP Writer. +/// \author Jussi T. Lindgren (Inria). +/// \version 1.0. +/// \date 11/09/2013 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#include "CBoxTCPWriter.hpp" #include <ctime> -#include <iostream> -#include <boost/bind.hpp> +#include <boost/bind/bind.hpp> #include <boost/enable_shared_from_this.hpp> #include <boost/asio.hpp> -#include <boost/detail/endian.hpp> +#include <boost/predef/other/endian.h> namespace OpenViBE { namespace Plugins { @@ -15,35 +36,34 @@ namespace NetworkIO { using boost::asio::ip::tcp; -void CBoxAlgorithmTCPWriter::startAccept() +//-------------------------------------------------------------------------------- +void CBoxTCPWriter::startAccept() { - tcp::socket* socket = new tcp::socket(m_acceptor->get_io_service()); + tcp::socket* socket = new tcp::socket(m_ioContext); - // Since startAccept will only be called inside ioService.poll(), there is no need to access control m_sockets + // Since startAccept will only be called inside ioContext.poll(), there is no need to access control m_sockets m_sockets.push_back(socket); this->getLogManager() << Kernel::LogLevel_Debug << "We are now using " << m_sockets.size() << " socket(s)\n"; - m_acceptor->async_accept(*socket, boost::bind(&CBoxAlgorithmTCPWriter::handleAccept, this, boost::asio::placeholders::error, socket)); + m_acceptor->async_accept(*socket, boost::bind(&CBoxTCPWriter::handleAccept, this, boost::asio::placeholders::error, socket)); } +//-------------------------------------------------------------------------------- -void CBoxAlgorithmTCPWriter::handleAccept(const boost::system::error_code& ec, tcp::socket* pSocket) +//-------------------------------------------------------------------------------- +void CBoxTCPWriter::handleAccept(const boost::system::error_code& ec, tcp::socket* pSocket) { - if (!m_acceptor->is_open()) - { + if (!m_acceptor->is_open()) { this->getLogManager() << Kernel::LogLevel_Debug << "handleAccept() was called with acceptor already closed\n"; return; } - if (!ec) - { + if (!ec) { this->getLogManager() << Kernel::LogLevel_Debug << "Handling a new incoming connection\n"; // Send the known configuration to the client - if (m_activeDecoder != &m_stimulationDecoder || m_outputStyle == TCPWRITER_RAW) - { - try - { + if (m_activeDecoder != &m_stimulationDecoder || m_outputStyle == TCPWRITER_RAW) { + try { write(*pSocket, boost::asio::buffer(static_cast<void*>(&m_rawVersion), sizeof(uint32_t))); write(*pSocket, boost::asio::buffer(static_cast<void*>(&m_endianness), sizeof(uint32_t))); write(*pSocket, boost::asio::buffer(static_cast<void*>(&m_frequency), sizeof(uint32_t))); @@ -53,22 +73,22 @@ void CBoxAlgorithmTCPWriter::handleAccept(const boost::system::error_code& ec, t write(*pSocket, boost::asio::buffer(static_cast<void*>(&m_reserved1), sizeof(uint32_t))); write(*pSocket, boost::asio::buffer(static_cast<void*>(&m_reserved2), sizeof(uint32_t))); } - catch (boost::system::system_error& error) - { + catch (boost::system::system_error& error) { this->getLogManager() << Kernel::LogLevel_Warning << "Issue '" << error.code().message() << "' with writing header to client\n"; } } } - else - { + else { // @fixme should the socket be closed in this case? this->getLogManager() << Kernel::LogLevel_Warning << "Issue '" << ec.message() << "' with accepting a connection.\n"; } // Already schedule the accepting of the next connection startAccept(); } +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmTCPWriter::initialize() +//-------------------------------------------------------------------------------- +bool CBoxTCPWriter::initialize() { const Kernel::IBox& boxContext = this->getStaticBoxContext(); @@ -82,11 +102,11 @@ bool CBoxAlgorithmTCPWriter::initialize() m_outputStyle = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1); m_rawVersion = htonl(1); // TCP Writer output format version -#if defined(BOOST_LITTLE_ENDIAN) +#if defined(BOOST_ENDIAN_LITTLE_BYTE) m_endianness = htonl(1); -#elif defined(BOOST_BIG_ENDIAN) +#elif defined(BOOST_ENDIAN_BIG_BYTE) m_endianness = htonl(2); -#elif defined(BOOST_PDP_ENDIAN) +#elif defined(BOOST_ENDIAN_LITTLE_WORD) m_endianness = htonl(3); #else m_endianness = htonl(0); @@ -102,18 +122,16 @@ bool CBoxAlgorithmTCPWriter::initialize() this->getLogManager() << Kernel::LogLevel_Trace << "Setting up an acceptor at port " << port << "\n"; - try - { + try { #ifdef TARGET_OS_Windows // On Windows, unless we deny reuse_addr, it seems several different servers can bind to socket. This is not what we want. - m_acceptor = new tcp::acceptor(m_ioService, tcp::endpoint(tcp::v4(), uint32_t(port)), false); + m_acceptor = new tcp::acceptor(m_ioContext, tcp::endpoint(tcp::v4(), uint32_t(port)), false); #else // On Linux, unless we allow reuse_addr, disconnection may set the socket to TIME_WAIT state and prevent opening it again until that state expires - m_acceptor = new tcp::acceptor(m_ioService, tcp::endpoint(tcp::v4(), uint32_t(port)), true); + m_acceptor = new tcp::acceptor(m_ioContext, tcp::endpoint(tcp::v4(), uint32_t(port)), true); #endif } - catch (boost::system::system_error& error) - { + catch (boost::system::system_error& error) { this->getLogManager() << Kernel::LogLevel_Warning << "Got error '" << error.code().message() << "' allocating acceptor to port " << port << "\n"; m_activeDecoder->uninitialize(); m_activeDecoder = nullptr; @@ -124,37 +142,33 @@ bool CBoxAlgorithmTCPWriter::initialize() const boost::asio::socket_base::linger option(true, 0); m_acceptor->set_option(option); startAccept(); - m_ioService.poll(); + m_ioContext.poll(); return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmTCPWriter::uninitialize() +//-------------------------------------------------------------------------------- +bool CBoxTCPWriter::uninitialize() { - if (m_activeDecoder) - { + if (m_activeDecoder) { m_activeDecoder->uninitialize(); m_activeDecoder = nullptr; } - for (tcp::socket* sock : m_sockets) - { - if (sock->is_open()) - { - try - { + for (tcp::socket* sock : m_sockets) { + if (sock->is_open()) { + try { sock->shutdown(boost::asio::socket_base::shutdown_both); sock->close(); } - catch (boost::system::system_error& error) - { + catch (boost::system::system_error& error) { // Just report... this->getLogManager() << Kernel::LogLevel_Warning << "Error in uninitialize() socket shutdown/close: '" << error.code().message() << "'\n"; } } } - m_ioService.poll(); - m_ioService.stop(); + m_ioContext.poll(); + m_ioContext.stop(); for (tcp::socket* sock : m_sockets) { delete sock; } m_sockets.clear(); @@ -164,53 +178,48 @@ bool CBoxAlgorithmTCPWriter::uninitialize() return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmTCPWriter::processInput(const size_t /*index*/) +//-------------------------------------------------------------------------------- +bool CBoxTCPWriter::processInput(const size_t /*index*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmTCPWriter::sendToClients(const void* buffer, const size_t size) +//-------------------------------------------------------------------------------- +bool CBoxTCPWriter::sendToClients(const void* buffer, const size_t size) { - if (size == 0 || buffer == nullptr) - { + if (size == 0 || buffer == nullptr) { // Nothing to send, shouldn't happen this->getLogManager() << Kernel::LogLevel_Warning << "Asked to send an empty buffer to clients (shouldn't happen)\n"; return false; } auto it = m_sockets.begin(); - while (it != m_sockets.end()) - { + while (it != m_sockets.end()) { tcp::socket* tmpSock = (*it); bool hadError = false; - if (tmpSock->is_open()) - { + if (tmpSock->is_open()) { try { write(*tmpSock, boost::asio::buffer(buffer, size)); } - catch (boost::system::system_error& error) - { + catch (boost::system::system_error& error) { this->getLogManager() << Kernel::LogLevel_Warning << "Got error '" << error.code().message() << "' while trying to write to socket\n"; hadError = true; } } - if (hadError) - { + if (hadError) { // Close the socket this->getLogManager() << Kernel::LogLevel_Debug << "Closing the socket\n"; - try - { + try { tmpSock->shutdown(boost::asio::socket_base::shutdown_both); tmpSock->close(); } - catch (boost::system::system_error& error) - { + catch (boost::system::system_error& error) { // Just report... this->getLogManager() << Kernel::LogLevel_Warning << "Error while socket shutdown/close: '" << error.code().message() << "'\n"; } - m_ioService.poll(); + m_ioContext.poll(); delete tmpSock; it = m_sockets.erase(it); } @@ -218,29 +227,27 @@ bool CBoxAlgorithmTCPWriter::sendToClients(const void* buffer, const size_t size } return true; } +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmTCPWriter::process() +//-------------------------------------------------------------------------------- +bool CBoxTCPWriter::process() { // the dynamic box context describes the current state of the box inputs and outputs (i.e. the chunks) Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); // Process the asio loop once (e.g. see if there's new connections) - m_ioService.poll(); + m_ioContext.poll(); - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) { m_activeDecoder->decode(i); - if (m_activeDecoder->isHeaderReceived()) - { + if (m_activeDecoder->isHeaderReceived()) { // Matrix part - if (m_activeDecoder == &m_matrixDecoder || m_activeDecoder == &m_signalDecoder) - { + if (m_activeDecoder == &m_matrixDecoder || m_activeDecoder == &m_signalDecoder) { // Casting to base class, ok - Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmTCPWriter>* decoder = (Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmTCPWriter>*)(m_activeDecoder); + Toolkit::TStreamedMatrixDecoder<CBoxTCPWriter>* decoder = (Toolkit::TStreamedMatrixDecoder<CBoxTCPWriter>*)(m_activeDecoder); const size_t nDim = decoder->getOutputMatrix()->getDimensionCount(); - switch (nDim) - { + switch (nDim) { case 0: this->getLogManager() << Kernel::LogLevel_Error << "Nothing to send, zero size matrix stream received\n"; return false; @@ -259,8 +266,7 @@ bool CBoxAlgorithmTCPWriter::process() } // Conformance checking for all matrix based streams - if (m_nChannels == 0 || m_nSamplesPerChunk == 0) - { + if (m_nChannels == 0 || m_nSamplesPerChunk == 0) { this->getLogManager() << Kernel::LogLevel_Error << "For matrix-like inputs, both input dimensions must be larger than 0\n"; return false; } @@ -271,48 +277,43 @@ bool CBoxAlgorithmTCPWriter::process() //if (m_activeDecoder == &m_stimDecoder) { } // Stimulus, do nothing } - if (m_activeDecoder->isBufferReceived()) - { - if (m_activeDecoder == &m_matrixDecoder) - { + if (m_activeDecoder->isBufferReceived()) { + if (m_activeDecoder == &m_matrixDecoder) { const CMatrix* matrix = m_matrixDecoder.getOutputMatrix(); sendToClients((void*)matrix->getBuffer(), matrix->getBufferElementCount() * sizeof(double)); } - else if (m_activeDecoder == &m_signalDecoder) - { + else if (m_activeDecoder == &m_signalDecoder) { const CMatrix* matrix = m_signalDecoder.getOutputMatrix(); sendToClients((void*)matrix->getBuffer(), matrix->getBufferElementCount() * sizeof(double)); } else // stimulus { - const IStimulationSet* stimSet = m_stimulationDecoder.getOutputStimulationSet(); - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) - { - const uint64_t id = stimSet->getStimulationIdentifier(j); - // uint64_t date = stimSet->getStimulationDate(j); + const CStimulationSet* stimSet = m_stimulationDecoder.getOutputStimulationSet(); + for (size_t j = 0; j < stimSet->size(); ++j) { + const uint64_t id = stimSet->getId(j); + // uint64_t date = stimSet->getDate(j); this->getLogManager() << Kernel::LogLevel_Trace << "Sending out " << id << "\n"; - switch (m_outputStyle) - { + switch (m_outputStyle) { case TCPWRITER_RAW: sendToClients((void*)&id, sizeof(id)); break; case TCPWRITER_HEX: { - CString tmp = CIdentifier(id).toString() + CString("\r\n"); - const char* ptr = tmp.toASCIIString(); + std::string tmp = CIdentifier(id).str() + "\r\n"; + const char* ptr = tmp.c_str(); sendToClients((void*)ptr, strlen(ptr)); } break; case TCPWRITER_STRING: { - CString tmp = this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, id); - if (tmp == CString("")) { tmp = CString("Unregistered_stimulus ") + CIdentifier(id).toString(); } - tmp = tmp + CString("\r\n"); + std::string tmp = this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, id).toASCIIString(); + if (tmp.empty()) { tmp = "Unregistered_stimulus " + CIdentifier(id).str(); } + tmp += "\r\n"; - const char* ptr = tmp.toASCIIString(); + const char* ptr = tmp.c_str(); sendToClients((void*)ptr, strlen(ptr)); } break; @@ -328,8 +329,8 @@ bool CBoxAlgorithmTCPWriter::process() return true; } +//-------------------------------------------------------------------------------- -#endif // TARGET_HAS_Boost } // namespace NetworkIO } // namespace Plugins } // namespace OpenViBE diff --git a/plugins/processing/network-io/src/box-algorithms/CBoxTCPWriter.hpp b/plugins/processing/network-io/src/box-algorithms/CBoxTCPWriter.hpp new file mode 100644 index 0000000000000000000000000000000000000000..566d5dda703e31b374d2943ef70ea4e1795bf4d8 --- /dev/null +++ b/plugins/processing/network-io/src/box-algorithms/CBoxTCPWriter.hpp @@ -0,0 +1,161 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxTCPWriter.hpp +/// \brief Class of the box TCP Writer. +/// \author Jussi T. Lindgren (Inria). +/// \version 1.0. +/// \date 11/09/2013 +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +#include "defines.hpp" + +#include <openvibe/ov_all.h> +#include <toolkit/ovtk_all.h> + +#include <ctime> +#include <boost/asio.hpp> + +enum { TCPWRITER_RAW, TCPWRITER_HEX, TCPWRITER_STRING }; // stimulation output types + +namespace OpenViBE { +namespace Plugins { +namespace NetworkIO { + +//-------------------------------------------------------------------------------- +/// <summary> The class CBoxTCPWriter describes the box TCP Writer. </summary> +class CBoxTCPWriter final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +{ +public: + void release() override { delete this; } + + bool initialize() override; + bool uninitialize() override; + + bool processInput(const size_t index) override; + bool process() override; + + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_TCPWriter) + +protected: + + bool sendToClients(const void* buffer, size_t size); + + // Stream decoder + Toolkit::TStimulationDecoder<CBoxTCPWriter> m_stimulationDecoder; + Toolkit::TStreamedMatrixDecoder<CBoxTCPWriter> m_matrixDecoder; + Toolkit::TSignalDecoder<CBoxTCPWriter> m_signalDecoder; + Toolkit::TDecoder<CBoxTCPWriter>* m_activeDecoder = nullptr; + + boost::asio::io_context m_ioContext; + boost::asio::ip::tcp::acceptor* m_acceptor = nullptr; + std::vector<boost::asio::ip::tcp::socket*> m_sockets; + + uint64_t m_outputStyle = 0; + + CIdentifier m_inputType = CIdentifier::undefined(); + + // Data written as global output header, 8*4 = 32 bytes. Padding allows dumb readers to step with double (==8 bytes). + size_t m_rawVersion = 0; // in network byte order, version of the raw stream + size_t m_endianness = 0; // in network byte order, 0==unknown, 1==little, 2==big, 3==pdp + size_t m_frequency = 0; // this and the rest are in host byte order + size_t m_nChannels = 0; + size_t m_nSamplesPerChunk = 0; + size_t m_reserved0 = 0; + size_t m_reserved1 = 0; + size_t m_reserved2 = 0; + + void startAccept(); + void handleAccept(const boost::system::error_code& ec, boost::asio::ip::tcp::socket* pSocket); +}; + +//-------------------------------------------------------------------------------- +/// <summary> Listener of the box TCP Writer. </summary> +class CBoxTCPWriterListener final : public Toolkit::TBoxListener<IBoxListener> +{ +public: + CBoxTCPWriterListener(): m_lastType(CIdentifier::undefined()) { } + + bool onInputTypeChanged(Kernel::IBox& box, const size_t index) override + { + CIdentifier newType = CIdentifier::undefined(); + box.getInputType(index, newType); + // Set the right enumeration according to the type if we actualy change it + // TODO find a way to init m_lastType with the right value + if (m_lastType != newType) { + if (newType != OV_TypeId_Stimulations) { box.setSettingType(1, TypeID_TCPWriter_RawOutputStyle); } + else { box.setSettingType(1, TypeID_TCPWriter_OutputStyle); } + box.setSettingValue(1, "Raw"); + m_lastType = newType; + } + return true; + } + +private: + CIdentifier m_lastType = CIdentifier::undefined(); + + _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) +}; + +//-------------------------------------------------------------------------------- +/// <summary> Descriptor of the box TCP Writer. </summary> +class CBoxTCPWriterDesc final : virtual public IBoxAlgorithmDesc +{ +public: + + void release() override { } + + CString getName() const override { return "TCP Writer"; } + CString getAuthorName() const override { return "Jussi T. Lindgren"; } + CString getAuthorCompanyName() const override { return "Inria"; } + CString getShortDescription() const override { return "Send input stream out via a TCP socket"; } + CString getDetailedDescription() const override { return "\n"; } + CString getCategory() const override { return "Acquisition and network IO"; } + CString getVersion() const override { return "0.2"; } + CString getStockItemName() const override { return "gtk-connect"; } + + CIdentifier getCreatedClass() const override { return Box_TCPWriter; } + IPluginObject* create() override { return new CBoxTCPWriter; } + + IBoxListener* createBoxListener() const override { return new CBoxTCPWriterListener; } + void releaseBoxListener(IBoxListener* listener) const override { delete listener; } + + bool getBoxPrototype(Kernel::IBoxProto& prototype) const override + { + prototype.addInput("Input 1",OV_TypeId_StreamedMatrix); + + prototype.addSetting("Port",OV_TypeId_Integer, "5678"); + prototype.addSetting("Output format", TypeID_TCPWriter_RawOutputStyle, "Raw"); + + prototype.addFlag(Kernel::BoxFlag_CanModifyInput); + + prototype.addInputSupport(OV_TypeId_StreamedMatrix); + prototype.addInputSupport(OV_TypeId_Signal); + prototype.addInputSupport(OV_TypeId_Stimulations); + + prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); + + return true; + } + + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_TCPWriterDesc) +}; +} // namespace NetworkIO +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.h b/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.h deleted file mode 100644 index 881c8486e0b463bd0177f0643d4cda2e132e0ea8..0000000000000000000000000000000000000000 --- a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.h +++ /dev/null @@ -1,111 +0,0 @@ -#pragma once - -#ifdef TARGET_HAS_ThirdPartyLSL - -#include "../ovp_defines.h" -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -#include <lsl_cpp.h> - -#include <ctime> -#include <iostream> - -namespace OpenViBE { -namespace Plugins { -namespace NetworkIO { -/** - * \class CBoxAlgorithmLSLExport - * \author Jussi T. Lindgren (Inria) - * \date Fri Jan 30 09:55:22 2015 - * \brief The class CBoxAlgorithmLSLExport describes the box LSL Export. - * - */ -class CBoxAlgorithmLSLExport final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> -{ -public: - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - - bool processInput(const size_t index) override; - - bool process() override; - - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_LSLExport) - -protected: - - // Decoders - Toolkit::TStimulationDecoder<CBoxAlgorithmLSLExport> m_stimDecoder; - Toolkit::TSignalDecoder<CBoxAlgorithmLSLExport> m_signalDecoder; - - lsl::stream_outlet* m_signalOutlet = nullptr; - lsl::stream_outlet* m_stimulusOutlet = nullptr; - - std::vector<float> m_buffer; - - CString m_signalName; - CString m_signalID; - CString m_markerName; - CString m_markerID; - - bool m_useOVTimestamps = false; - CTime m_startTime = CTime(0); -}; - -class CBoxAlgorithmLSLExportListener final : public Toolkit::TBoxListener<IBoxListener> -{ -public: - - _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) -}; - -/** - * \class CBoxAlgorithmLSLExportDesc - * \author Jussi T. Lindgren (Inria) - * \date Fri Jan 30 09:55:22 2015 - * \brief Descriptor of the box LSL Export. - * - */ -class CBoxAlgorithmLSLExportDesc final : virtual public IBoxAlgorithmDesc -{ -public: - - void release() override { } - - CString getName() const override { return CString("LSL Export"); } - CString getAuthorName() const override { return CString("Jussi T. Lindgren"); } - CString getAuthorCompanyName() const override { return CString("Inria"); } - CString getShortDescription() const override { return CString("Send input stream out via LabStreamingLayer (LSL)"); } - CString getDetailedDescription() const override { return CString("\n"); } - CString getCategory() const override { return CString("Acquisition and network IO"); } - CString getVersion() const override { return CString("0.1"); } - CString getStockItemName() const override { return CString("gtk-connect"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_LSLExport; } - IPluginObject* create() override { return new CBoxAlgorithmLSLExport; } - - IBoxListener* createBoxListener() const override { return new CBoxAlgorithmLSLExportListener; } - void releaseBoxListener(IBoxListener* listener) const override { delete listener; } - - bool getBoxPrototype(Kernel::IBoxProto& prototype) const override - { - prototype.addInput("Input signal", OV_TypeId_Signal); - prototype.addInput("Input stimulations", OV_TypeId_Stimulations); - - prototype.addSetting("Signal stream", OV_TypeId_String, "openvibeSignal"); - prototype.addSetting("Marker stream", OV_TypeId_String, "openvibeMarkers"); - - return true; - } - - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_LSLExportDesc) -}; -} // namespace NetworkIO -} // namespace Plugins -} // namespace OpenViBE - - -#endif // TARGET_HAS_Boost diff --git a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmTCPWriter.h b/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmTCPWriter.h deleted file mode 100644 index 2e33ac67fcd2f1066d0e3ce0ce9cb82426bbf81b..0000000000000000000000000000000000000000 --- a/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmTCPWriter.h +++ /dev/null @@ -1,162 +0,0 @@ -#pragma once - -#ifdef TARGET_HAS_Boost - -#include "../ovp_defines.h" - -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -#include <ctime> -#include <boost/asio.hpp> - -enum { TCPWRITER_RAW, TCPWRITER_HEX, TCPWRITER_STRING }; // stimulation output types - -namespace OpenViBE { -namespace Plugins { -namespace NetworkIO { -/** - * \class CBoxAlgorithmTCPWriter - * \author Jussi T. Lindgren (Inria) - * \date Wed Sep 11 12:55:22 2013 - * \brief The class CBoxAlgorithmTCPWriter describes the box TCP Writer. - * - */ -class CBoxAlgorithmTCPWriter final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> -{ -public: - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - - //Here is the different process callbacks possible - // - On clock ticks : - //virtual bool processClock(Kernel::CMessageClock& msg); - // - On new input received (the most common behaviour for signal processing) : - bool processInput(const size_t index) override; - - // If you want to use processClock, you must provide the clock frequency. - //virtual uint64_t getClockFrequency(); - - bool process() override; - - // As we do with any class in openvibe, we use the macro below - // to associate this box to an unique identifier. - // The inheritance information is also made available, - // as we provide the superclass Toolkit::TBoxAlgorithm < IBoxAlgorithm > - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_TCPWriter) - -protected: - - bool sendToClients(const void* buffer, size_t size); - - // Stream decoder - Toolkit::TStimulationDecoder<CBoxAlgorithmTCPWriter> m_stimulationDecoder; - Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmTCPWriter> m_matrixDecoder; - Toolkit::TSignalDecoder<CBoxAlgorithmTCPWriter> m_signalDecoder; - Toolkit::TDecoder<CBoxAlgorithmTCPWriter>* m_activeDecoder = nullptr; - - boost::asio::io_service m_ioService; - boost::asio::ip::tcp::acceptor* m_acceptor = nullptr; - std::vector<boost::asio::ip::tcp::socket*> m_sockets; - - uint64_t m_outputStyle = 0; - - CIdentifier m_inputType = CIdentifier::undefined(); - - // Data written as global output header, 8*4 = 32 bytes. Padding allows dumb readers to step with double (==8 bytes). - size_t m_rawVersion = 0; // in network byte order, version of the raw stream - size_t m_endianness = 0; // in network byte order, 0==unknown, 1==little, 2==big, 3==pdp - size_t m_frequency = 0; // this and the rest are in host byte order - size_t m_nChannels = 0; - size_t m_nSamplesPerChunk = 0; - size_t m_reserved0 = 0; - size_t m_reserved1 = 0; - size_t m_reserved2 = 0; - - void startAccept(); - void handleAccept(const boost::system::error_code& ec, boost::asio::ip::tcp::socket* pSocket); -}; - -class CBoxAlgorithmTCPWriterListener final : public Toolkit::TBoxListener<IBoxListener> -{ -public: - CBoxAlgorithmTCPWriterListener(): m_lastType(CIdentifier::undefined()) { } - - bool onInputTypeChanged(Kernel::IBox& box, const size_t index) override - { - CIdentifier newType = CIdentifier::undefined(); - box.getInputType(index, newType); - // Set the right enumeration according to the type if we actualy change it - // TODO find a way to init m_lastType with the right value - if (m_lastType != newType) - { - if (newType != OV_TypeId_Stimulations) { box.setSettingType(1, OVP_TypeID_TCPWriter_RawOutputStyle); } - else { box.setSettingType(1, OVP_TypeID_TCPWriter_OutputStyle); } - box.setSettingValue(1, "Raw"); - m_lastType = newType; - } - return true; - } - -private: - CIdentifier m_lastType = CIdentifier::undefined(); - - _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) -}; - -/** - * \class CBoxAlgorithmTCPWriterDesc - * \author Jussi T. Lindgren (Inria) - * \date Wed Sep 11 12:55:22 2013 - * \brief Descriptor of the box TCP Writer. - * - */ -class CBoxAlgorithmTCPWriterDesc final : virtual public IBoxAlgorithmDesc -{ -public: - - void release() override { } - - CString getName() const override { return CString("TCP Writer"); } - CString getAuthorName() const override { return CString("Jussi T. Lindgren"); } - CString getAuthorCompanyName() const override { return CString("Inria"); } - CString getShortDescription() const override { return CString("Send input stream out via a TCP socket"); } - CString getDetailedDescription() const override { return CString("\n"); } - CString getCategory() const override { return CString("Acquisition and network IO"); } - CString getVersion() const override { return CString("0.2"); } - CString getStockItemName() const override { return CString("gtk-connect"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_TCPWriter; } - IPluginObject* create() override { return new CBoxAlgorithmTCPWriter; } - - IBoxListener* createBoxListener() const override { return new CBoxAlgorithmTCPWriterListener; } - void releaseBoxListener(IBoxListener* listener) const override { delete listener; } - - bool getBoxPrototype(Kernel::IBoxProto& prototype) const override - { - prototype.addInput("Input 1",OV_TypeId_StreamedMatrix); - - prototype.addSetting("Port",OV_TypeId_Integer, "5678"); - prototype.addSetting("Output format", OVP_TypeID_TCPWriter_RawOutputStyle, "Raw"); - - prototype.addFlag(Kernel::BoxFlag_CanModifyInput); - - prototype.addInputSupport(OV_TypeId_StreamedMatrix); - prototype.addInputSupport(OV_TypeId_Signal); - prototype.addInputSupport(OV_TypeId_Stimulations); - - prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); - - return true; - } - - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_TCPWriterDesc) -}; -} // namespace NetworkIO -} // namespace Plugins -} // namespace OpenViBE - - -#endif // TARGET_HAS_Boost diff --git a/plugins/processing/network-io/src/defines.hpp b/plugins/processing/network-io/src/defines.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4dea934f2cf43a6e8601d838a30727948c0ec235 --- /dev/null +++ b/plugins/processing/network-io/src/defines.hpp @@ -0,0 +1,49 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file defines.hpp +/// \brief Defines list for Setting, Shortcut Macro and const. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 22/11/2021. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +// Boxes +//--------------------------------------------------------------------------------------------------- +#define Box_LSLCommunication OpenViBE::CIdentifier(0xc07934f5, 0x9390e102) +#define Box_LSLCommunication_Desc OpenViBE::CIdentifier(0xc07934f5, 0x9390e100) +#define Box_LSLExport OpenViBE::CIdentifier(0x6F3467FF, 0x52794DA6) +#define Box_LSLExportDesc OpenViBE::CIdentifier(0x40C03C3F, 0x034A19C2) +#define Box_SharedMemoryWriter OpenViBE::CIdentifier(0xACC272DD, 0xC1BDC1B1) +#define Box_SharedMemoryWriterDesc OpenViBE::CIdentifier(0xACC727DD, 0xCACDC1B1) +#define Box_TCPWriter OpenViBE::CIdentifier(0x02F24947, 0x17FA0477) +#define Box_TCPWriterDesc OpenViBE::CIdentifier(0x3C32489D, 0x46F565D3) + +//--------------------------------------------------------------------------------------------------- +#define TypeID_TCPWriter_OutputStyle OpenViBE::CIdentifier(0x6D7E53DD, 0x6A0A4753) +#define TypeID_TCPWriter_RawOutputStyle OpenViBE::CIdentifier(0x77D3E238, 0xB954EC48) + +// Global defines +//--------------------------------------------------------------------------------------------------- +#ifdef TARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines +#include "ovp_global_defines.h" +#endif // TARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines + + +#define OV_AttributeId_Box_FlagIsUnstable OpenViBE::CIdentifier(0x666FFFFF, 0x666FFFFF) diff --git a/plugins/processing/network-io/src/main.cpp b/plugins/processing/network-io/src/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d1015fd09197a52ac22e01b7a1c424809c5c2a18 --- /dev/null +++ b/plugins/processing/network-io/src/main.cpp @@ -0,0 +1,58 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file main.cpp +/// \brief main file for box plugin. +/// \author Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 12/03/2020. +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#include "defines.hpp" + +#include "box-algorithms/CBoxTCPWriter.hpp" +#include "box-algorithms/CBoxSharedMemoryWriter.hpp" +#include "box-algorithms/CBoxLSLExport.hpp" +#include "box-algorithms/CBoxLSLCommunication.hpp" + +namespace OpenViBE { +namespace Plugins { + +OVP_Declare_Begin() +#ifdef TARGET_HAS_ThirdPartyLSL + OVP_Declare_New(NetworkIO::CBoxLSLExportDesc) + OVP_Declare_New(NetworkIO::CBoxLSLCommunicationDesc) +#endif + + OVP_Declare_New(FileReadingAndWriting::CBoxSharedMemoryWriterDesc) + OVP_Declare_New(NetworkIO::CBoxTCPWriterDesc) + + context.getTypeManager().registerEnumerationEntry(OV_TypeId_BoxAlgorithmFlag, OV_AttributeId_Box_FlagIsUnstable.toString(), + OV_AttributeId_Box_FlagIsUnstable.id()); + + context.getTypeManager().registerEnumerationType(TypeID_TCPWriter_OutputStyle, "Stimulus output"); + context.getTypeManager().registerEnumerationEntry(TypeID_TCPWriter_OutputStyle, "Raw", TCPWRITER_RAW); + context.getTypeManager().registerEnumerationEntry(TypeID_TCPWriter_OutputStyle, "Hex", TCPWRITER_HEX); + context.getTypeManager().registerEnumerationEntry(TypeID_TCPWriter_OutputStyle, "String", TCPWRITER_STRING); + + context.getTypeManager().registerEnumerationType(TypeID_TCPWriter_RawOutputStyle, "Raw output"); + context.getTypeManager().registerEnumerationEntry(TypeID_TCPWriter_RawOutputStyle, "Raw", TCPWRITER_RAW); + +OVP_Declare_End() + +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/network-io/src/ovp_defines.h b/plugins/processing/network-io/src/ovp_defines.h deleted file mode 100755 index 3c188ded8f800b0c3984547b8171e9b3d8bad868..0000000000000000000000000000000000000000 --- a/plugins/processing/network-io/src/ovp_defines.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -// Boxes -//--------------------------------------------------------------------------------------------------- -#define OVP_ClassId_BoxAlgorithm_SharedMemoryWriter OpenViBE::CIdentifier(0xACC272DD, 0xC1BDC1B1) -#define OVP_ClassId_BoxAlgorithm_SharedMemoryWriterDesc OpenViBE::CIdentifier(0xACC727DD, 0xCACDC1B1) -#define OVP_ClassId_BoxAlgorithm_LSLExport OpenViBE::CIdentifier(0x6F3467FF, 0x52794DA6) -#define OVP_ClassId_BoxAlgorithm_LSLExportDesc OpenViBE::CIdentifier(0x40C03C3F, 0x034A19C2) -#define OVP_ClassId_BoxAlgorithm_TCPWriter OpenViBE::CIdentifier(0x02F24947, 0x17FA0477) -#define OVP_ClassId_BoxAlgorithm_TCPWriterDesc OpenViBE::CIdentifier(0x3C32489D, 0x46F565D3) -#define OVP_TypeID_TCPWriter_OutputStyle OpenViBE::CIdentifier(0x6D7E53DD, 0x6A0A4753) -#define OVP_TypeID_TCPWriter_RawOutputStyle OpenViBE::CIdentifier(0x77D3E238, 0xB954EC48) - - -// Global defines -//--------------------------------------------------------------------------------------------------- -#ifdef TARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines -#include "ovp_global_defines.h" -#endif // TARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines - - -#define OV_AttributeId_Box_FlagIsUnstable OpenViBE::CIdentifier(0x666FFFFF, 0x666FFFFF) diff --git a/plugins/processing/network-io/src/ovp_main.cpp b/plugins/processing/network-io/src/ovp_main.cpp deleted file mode 100755 index 775868c42be33436051ce211a957c212fea5c6ed..0000000000000000000000000000000000000000 --- a/plugins/processing/network-io/src/ovp_main.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include "ovp_defines.h" - -#include "box-algorithms/ovpCBoxAlgorithmLSLExport.h" -#include "box-algorithms/ovpCBoxAlgorithmTCPWriter.h" -#include "box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.h" - -namespace OpenViBE { -namespace Plugins { - -OVP_Declare_Begin() -#ifdef TARGET_HAS_ThirdPartyLSL - OVP_Declare_New(NetworkIO::CBoxAlgorithmLSLExportDesc); -#endif - -#ifdef TARGET_HAS_Boost - OVP_Declare_New(FileReadingAndWriting::CBoxAlgorithmSharedMemoryWriterDesc); - OVP_Declare_New(NetworkIO::CBoxAlgorithmTCPWriterDesc); - - context.getTypeManager().registerEnumerationEntry(OV_TypeId_BoxAlgorithmFlag, OV_AttributeId_Box_FlagIsUnstable.toString(), - OV_AttributeId_Box_FlagIsUnstable.id()); - - context.getTypeManager().registerEnumerationType(OVP_TypeID_TCPWriter_OutputStyle, "Stimulus output"); - context.getTypeManager().registerEnumerationEntry(OVP_TypeID_TCPWriter_OutputStyle, "Raw", TCPWRITER_RAW); - context.getTypeManager().registerEnumerationEntry(OVP_TypeID_TCPWriter_OutputStyle, "Hex", TCPWRITER_HEX); - context.getTypeManager().registerEnumerationEntry(OVP_TypeID_TCPWriter_OutputStyle, "String", TCPWRITER_STRING); - - context.getTypeManager().registerEnumerationType(OVP_TypeID_TCPWriter_RawOutputStyle, "Raw output"); - context.getTypeManager().registerEnumerationEntry(OVP_TypeID_TCPWriter_RawOutputStyle, "Raw", TCPWRITER_RAW); -#endif - -OVP_Declare_End() - -} // namespace Plugins -} // namespace OpenViBE diff --git a/plugins/processing/riemannian/CMakeLists.txt b/plugins/processing/riemannian/CMakeLists.txt index 7d9f98de4a2fcdaf39b53896daea8e912d0d21f2..ab69f3600e9531e37addce0a04ca70346e22ac95 100644 --- a/plugins/processing/riemannian/CMakeLists.txt +++ b/plugins/processing/riemannian/CMakeLists.txt @@ -4,10 +4,13 @@ file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.hpp src/*.h src/*.inl src/*.c) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} - openvibe - openvibe-common - openvibe-toolkit - openvibe-module-xml + openvibe + openvibe-common + openvibe-toolkit + openvibe-module-xml + openvibe-module-eigen + Boost::boost + Eigen3::Eigen ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -23,10 +26,6 @@ include_directories("src") # OpenViBE Module include("FindModuleGeometry") -# OpenViBE Third Party -include("FindThirdPartyEigen") -include("FindThirdPartyBoost") - # --------------------------------- # Target macros # Defines target operating system, architecture and compiler diff --git a/plugins/processing/riemannian/bci-examples/0.1-Riemann-Classic-NOISE-Compute-Reference.xml b/plugins/processing/riemannian/bci-examples/0.1-Riemann-Classic-NOISE-Compute-Reference.xml index 44f8dbfb3ac2bd26cfd522da21011e2d5ea87706..6fd51def3adbf2bb1c4887bcf5948fa8f08f9d11 100644 --- a/plugins/processing/riemannian/bci-examples/0.1-Riemann-Classic-NOISE-Compute-Reference.xml +++ b/plugins/processing/riemannian/bci-examples/0.1-Riemann-Classic-NOISE-Compute-Reference.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x005e47b5, 0x7accff5e)</Identifier> @@ -553,7 +553,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> diff --git a/plugins/processing/riemannian/bci-examples/0.2-Riemann-Classic-NOISE-Training.xml b/plugins/processing/riemannian/bci-examples/0.2-Riemann-Classic-NOISE-Training.xml index e063c8236940a4c80c159993380f716c0ba5bb56..566731dd7c367785c32aa3f5d92a2b7eb5ab429e 100644 --- a/plugins/processing/riemannian/bci-examples/0.2-Riemann-Classic-NOISE-Training.xml +++ b/plugins/processing/riemannian/bci-examples/0.2-Riemann-Classic-NOISE-Training.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x004d2731, 0x8fa767ea)</Identifier> @@ -701,7 +701,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> diff --git a/plugins/processing/riemannian/bci-examples/0.3-Riemann-Classic-NOISE-Testing.xml b/plugins/processing/riemannian/bci-examples/0.3-Riemann-Classic-NOISE-Testing.xml index 85645a190e49f70691c57f9a45c1c3372f49d24e..a239627d8395d6ec47cedefd8f3c167729143e9e 100644 --- a/plugins/processing/riemannian/bci-examples/0.3-Riemann-Classic-NOISE-Testing.xml +++ b/plugins/processing/riemannian/bci-examples/0.3-Riemann-Classic-NOISE-Testing.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x0053bd63, 0x529db7d2)</Identifier> diff --git a/plugins/processing/riemannian/bci-examples/1.1-Riemann-Classic-SAMPLE-Compute-Reference.xml b/plugins/processing/riemannian/bci-examples/1.1-Riemann-Classic-SAMPLE-Compute-Reference.xml index f8545cd2a5a95940e29a1ed485ade7f3fcdf8e88..99abc1a2fb15cd3215d63f322515dc541a3797cd 100644 --- a/plugins/processing/riemannian/bci-examples/1.1-Riemann-Classic-SAMPLE-Compute-Reference.xml +++ b/plugins/processing/riemannian/bci-examples/1.1-Riemann-Classic-SAMPLE-Compute-Reference.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x0037d53c, 0x136be68a)</Identifier> @@ -42,6 +42,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>960</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000241d, 0x0000786a)</Identifier> <Name>LWF</Name> @@ -297,14 +374,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -326,7 +403,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -578,14 +655,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -607,7 +684,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -755,14 +832,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -789,85 +866,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>960</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -889,14 +887,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -947,6 +945,17 @@ <BoxInputIdentifier>(0x007f5e0c, 0x69fb23f2)</BoxInputIdentifier> </Target> </Link> + <Link> + <Identifier>(0x00000832, 0x000062ac)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00002363, 0x00000391)</Identifier> <Source> @@ -959,13 +968,13 @@ </Target> </Link> <Link> - <Identifier>(0x000028dc, 0x00001228)</Identifier> + <Identifier>(0x00002c1a, 0x00003987)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1090,17 +1099,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x4dec0a97, 0x70c962ab)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x63796305, 0x4f357282)</Identifier> <Source> diff --git a/plugins/processing/riemannian/bci-examples/1.2-Riemann-Classic-SAMPLE-Training.xml b/plugins/processing/riemannian/bci-examples/1.2-Riemann-Classic-SAMPLE-Training.xml index b6c644c2adb82d4191895b51c46e6869df4be48a..2c334590ac60fe7ad84bec2ff68ed7128ce91b6d 100644 --- a/plugins/processing/riemannian/bci-examples/1.2-Riemann-Classic-SAMPLE-Training.xml +++ b/plugins/processing/riemannian/bci-examples/1.2-Riemann-Classic-SAMPLE-Training.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x0028f139, 0x9f535b8a)</Identifier> @@ -56,6 +56,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000241d, 0x0000786b)</Identifier> <Name>LWF</Name> @@ -414,7 +491,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -694,14 +771,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -723,7 +800,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -975,14 +1052,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1004,7 +1081,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -1152,14 +1229,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1186,85 +1263,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -1286,14 +1284,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1333,6 +1331,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x000021ff, 0x00006e10)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00002363, 0x00000391)</Identifier> <Source> @@ -1455,24 +1464,24 @@ </Target> </Link> <Link> - <Identifier>(0x000074b0, 0x00000a55)</Identifier> + <Identifier>(0x00007495, 0x00004f9d)</Identifier> <Source> - <BoxIdentifier>(0x0000241d, 0x0000786b)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000044b9, 0x00003dab)</BoxIdentifier> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00007af8, 0x00000c53)</Identifier> + <Identifier>(0x000074b0, 0x00000a55)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxIdentifier>(0x0000241d, 0x0000786b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x000044b9, 0x00003dab)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1542,17 +1551,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x4dec0a97, 0x70c962ab)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x63796305, 0x4f357282)</Identifier> <Source> diff --git a/plugins/processing/riemannian/bci-examples/1.3-Riemann-Classic-SAMPLE-Testing.xml b/plugins/processing/riemannian/bci-examples/1.3-Riemann-Classic-SAMPLE-Testing.xml index 436dbdd998a8a70f8145a7196e68c019aaf69864..48fc907eff36488f1ebac03d05a05fd9a39179cf 100644 --- a/plugins/processing/riemannian/bci-examples/1.3-Riemann-Classic-SAMPLE-Testing.xml +++ b/plugins/processing/riemannian/bci-examples/1.3-Riemann-Classic-SAMPLE-Testing.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x001f9ac9, 0x8d7740bc)</Identifier> @@ -56,6 +56,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>848</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00000d0c, 0x00002cdb)</Identifier> <Name>Confusion Matrix</Name> @@ -921,85 +998,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>848</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -1021,14 +1019,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1156,6 +1154,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00004a57, 0x00003b16)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x000051de, 0x00002a6d)</Identifier> <Source> @@ -1179,9 +1188,9 @@ </Target> </Link> <Link> - <Identifier>(0x000057f7, 0x00002085)</Identifier> + <Identifier>(0x000061e1, 0x00004390)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -1200,17 +1209,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00006cdb, 0x00004d41)</Identifier> - <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00006fd9, 0x00007876)</Identifier> <Source> diff --git a/plugins/processing/riemannian/bci-examples/2.1-Matrix-Classifier-Training.xml b/plugins/processing/riemannian/bci-examples/2.1-Matrix-Classifier-Training.xml index 238f3c2b055fbcbe71561d100a41505ae184d3b3..f7e01545370287a6b2697c3f18d9a1cb72dda6c9 100644 --- a/plugins/processing/riemannian/bci-examples/2.1-Matrix-Classifier-Training.xml +++ b/plugins/processing/riemannian/bci-examples/2.1-Matrix-Classifier-Training.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x0028f139, 0x9f535b8a)</Identifier> @@ -56,6 +56,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>368</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000241d, 0x0000786b)</Identifier> <Name>LWF</Name> @@ -518,14 +595,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -547,7 +624,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -799,14 +876,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -828,7 +905,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -976,14 +1053,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1010,85 +1087,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -1110,14 +1108,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1157,6 +1155,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00000e04, 0x000061d5)</Identifier> + <Source> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x0000126c, 0x000015c1)</Identifier> <Source> @@ -1212,6 +1221,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00004e65, 0x000011b2)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00004eb1, 0x000045d0)</Identifier> <Source> @@ -1278,17 +1298,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00007af8, 0x00000c53)</Identifier> - <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x0fb9552e, 0x72e04408)</Identifier> <Source> @@ -1344,17 +1353,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x4dec0a97, 0x70c962ab)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x63796305, 0x4f357282)</Identifier> <Source> diff --git a/plugins/processing/riemannian/bci-examples/2.2-Matrix-Classifier-Testing.xml b/plugins/processing/riemannian/bci-examples/2.2-Matrix-Classifier-Testing.xml index 6b21cd7a9cff6497a141a4689700f73c3743c5b3..29db3d8ac7e09e8f0459accb6c38f9e6e6c3e6c3 100644 --- a/plugins/processing/riemannian/bci-examples/2.2-Matrix-Classifier-Testing.xml +++ b/plugins/processing/riemannian/bci-examples/2.2-Matrix-Classifier-Testing.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x001f9ac9, 0x8d7740bc)</Identifier> @@ -56,6 +56,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>880</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00000d0c, 0x00002cdb)</Identifier> <Name>Confusion Matrix</Name> @@ -808,85 +885,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -908,14 +906,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -988,6 +986,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x0000407d, 0x00001e99)</Identifier> + <Source> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x0000426f, 0x00006d4b)</Identifier> <Source> @@ -1011,24 +1020,24 @@ </Target> </Link> <Link> - <Identifier>(0x000051de, 0x00002a6d)</Identifier> + <Identifier>(0x00004844, 0x000070af)</Identifier> <Source> - <BoxIdentifier>(0x1396fde6, 0x1c64974a)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5045ebd9, 0x67325c0b)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000057f7, 0x00002085)</Identifier> + <Identifier>(0x000051de, 0x00002a6d)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x1396fde6, 0x1c64974a)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x71322e63, 0x41ba161a)</BoxIdentifier> + <BoxIdentifier>(0x5045ebd9, 0x67325c0b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1054,17 +1063,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00006cdb, 0x00004d41)</Identifier> - <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00006fd9, 0x00007876)</Identifier> <Source> diff --git a/plugins/processing/riemannian/box-tutorials/1.1-Covariance-Matrix-Calculator.xml b/plugins/processing/riemannian/box-tutorials/1.1-Covariance-Matrix-Calculator.xml index c6fa35757e11907880a7be45b6efb565d6e3c6c4..1ad2cbea0e0b92bf0165a400dedb78f217edf77c 100644 --- a/plugins/processing/riemannian/box-tutorials/1.1-Covariance-Matrix-Calculator.xml +++ b/plugins/processing/riemannian/box-tutorials/1.1-Covariance-Matrix-Calculator.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x0034d231, 0x6b35b305)</Identifier> @@ -21,6 +21,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>464</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000014f9, 0x00004b50)</Identifier> <Name>Sample</Name> @@ -646,7 +723,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1316,85 +1393,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> @@ -1419,17 +1417,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00000bfd, 0x00000a7c)</Identifier> - <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00000e21, 0x00005332)</Identifier> <Source> @@ -1485,6 +1472,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x000022fb, 0x00002134)</Identifier> + <Source> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x000023e3, 0x00002242)</Identifier> <Source> @@ -1530,24 +1528,24 @@ </Target> </Link> <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> + <Identifier>(0x000043f4, 0x0000072e)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x11a6038b, 0x7157c283)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000586a, 0x00001f44)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a772)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000043f4, 0x0000072e)</Identifier> + <Identifier>(0x000054bd, 0x00001264)</Identifier> <Source> - <BoxIdentifier>(0x11a6038b, 0x7157c283)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2b88852d, 0x43d7a772)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1584,17 +1582,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00007a0d, 0x00002c8a)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000014f9, 0x00004b50)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x00007c17, 0x0000284b)</Identifier> <Source> diff --git a/plugins/processing/riemannian/box-tutorials/1.2-Covariance-Matrix-Mean-Calculator.xml b/plugins/processing/riemannian/box-tutorials/1.2-Covariance-Matrix-Mean-Calculator.xml index 18e645a36963cbc1f605a73d82640cca1b95e6e3..a3c140015176d0d4572f2c4a235a987bc3405b0d 100644 --- a/plugins/processing/riemannian/box-tutorials/1.2-Covariance-Matrix-Mean-Calculator.xml +++ b/plugins/processing/riemannian/box-tutorials/1.2-Covariance-Matrix-Mean-Calculator.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00690d25, 0xf1dcae5d)</Identifier> @@ -77,6 +77,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000013ef, 0x00004894)</Identifier> <Name>Timeout</Name> @@ -422,7 +499,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -773,85 +850,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> @@ -866,13 +864,13 @@ </Target> </Link> <Link> - <Identifier>(0x00000bfd, 0x00000a7d)</Identifier> + <Identifier>(0x00000860, 0x00003d95)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x0000586a, 0x00001f45)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -921,24 +919,24 @@ </Target> </Link> <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> + <Identifier>(0x000043f4, 0x0000072f)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x11a6038b, 0x7157c284)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000586a, 0x00001f45)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000043f4, 0x0000072f)</Identifier> + <Identifier>(0x00006d80, 0x000065b7)</Identifier> <Source> - <BoxIdentifier>(0x11a6038b, 0x7157c284)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> + <BoxIdentifier>(0x000014f9, 0x00004b51)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -965,13 +963,13 @@ </Target> </Link> <Link> - <Identifier>(0x00007a0d, 0x00002c8a)</Identifier> + <Identifier>(0x00007d35, 0x00000767)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000014f9, 0x00004b51)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/riemannian/box-tutorials/1.3-Covariance-To-Feature.xml b/plugins/processing/riemannian/box-tutorials/1.3-Covariance-To-Feature.xml index 66b2fbdc4edadcd5011f111c57785311cef917bf..d9bf7804d5ffbf529bb37e9d4ce4b6779ff3302e 100644 --- a/plugins/processing/riemannian/box-tutorials/1.3-Covariance-To-Feature.xml +++ b/plugins/processing/riemannian/box-tutorials/1.3-Covariance-To-Feature.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00046253, 0x68a99815)</Identifier> @@ -28,6 +28,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>752</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000014f9, 0x00004b50)</Identifier> <Name>Sample</Name> @@ -369,7 +446,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -407,6 +484,61 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x00007584, 0x00000204)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>304</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1088</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000078f6, 0x00007919)</Identifier> <Name>LWF</Name> @@ -783,183 +915,104 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b67)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000bfd, 0x00000a7d)</Identifier> + <Identifier>(0x00002551, 0x0000620d)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000016d9, 0x0000416b)</Identifier> + <Identifier>(0x00003938, 0x0000693a)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x000044b9, 0x00003dab)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000014f9, 0x00004b50)</BoxIdentifier> + <BoxIdentifier>(0x000078f6, 0x0000791b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002551, 0x0000620d)</Identifier> + <Identifier>(0x000041de, 0x000008d6)</Identifier> <Source> - <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> + <BoxIdentifier>(0x0000241d, 0x0000786b)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxIdentifier>(0x000044b9, 0x00003dac)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00003938, 0x0000693a)</Identifier> + <Identifier>(0x000043f4, 0x0000072f)</Identifier> <Source> - <BoxIdentifier>(0x000044b9, 0x00003dab)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x11a6038b, 0x7157c284)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000078f6, 0x0000791b)</BoxIdentifier> + <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00004034, 0x000058ef)</Identifier> + <Identifier>(0x00004f2b, 0x00003e5d)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b67)</BoxIdentifier> + <BoxIdentifier>(0x00007584, 0x00000204)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x0000586a, 0x00001f45)</BoxIdentifier> + <BoxIdentifier>(0x000014f9, 0x00004b50)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000041de, 0x000008d6)</Identifier> + <Identifier>(0x000053d6, 0x00003ad2)</Identifier> <Source> - <BoxIdentifier>(0x0000241d, 0x0000786b)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000044b9, 0x00003dac)</BoxIdentifier> + <BoxIdentifier>(0x00007584, 0x00000204)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000043f4, 0x0000072f)</Identifier> + <Identifier>(0x00005821, 0x00007eaf)</Identifier> <Source> - <BoxIdentifier>(0x11a6038b, 0x7157c284)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x0000241d, 0x0000786b)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x2b88852d, 0x43d7a773)</BoxIdentifier> + <BoxIdentifier>(0x000044b9, 0x00003dab)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00005821, 0x00007eaf)</Identifier> + <Identifier>(0x00005833, 0x00007205)</Identifier> <Source> - <BoxIdentifier>(0x0000241d, 0x0000786b)</BoxIdentifier> + <BoxIdentifier>(0x000044b9, 0x00003dac)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000044b9, 0x00003dab)</BoxIdentifier> + <BoxIdentifier>(0x000078f6, 0x0000791a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00005833, 0x00007205)</Identifier> + <Identifier>(0x00006c04, 0x00000702)</Identifier> <Source> - <BoxIdentifier>(0x000044b9, 0x00003dac)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000078f6, 0x0000791a)</BoxIdentifier> + <BoxIdentifier>(0x0000586a, 0x00001f45)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -985,6 +1038,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00007f44, 0x0000068f)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001787)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> </Links> <Comments> <Comment> diff --git a/plugins/processing/riemannian/box-tutorials/1.4-Classifier-Trainer.xml b/plugins/processing/riemannian/box-tutorials/1.4-Classifier-Trainer.xml index 26a1f8dbeef54bd22cfc81726966fa08d1fd4053..c6f30d93e2f36461ed66f88fddceae807fc95513 100644 --- a/plugins/processing/riemannian/box-tutorials/1.4-Classifier-Trainer.xml +++ b/plugins/processing/riemannian/box-tutorials/1.4-Classifier-Trainer.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x0028f139, 0x9f535b8a)</Identifier> @@ -49,6 +49,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>368</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000014d0, 0x0000729b)</Identifier> <Name>Identity</Name> @@ -950,14 +1027,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -979,7 +1056,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -1231,14 +1308,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>4.000000</Value> + <Value>4</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch offset (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> + <Value>0.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -1260,7 +1337,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> </Attributes> </Box> @@ -1408,14 +1485,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1442,85 +1519,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -1542,14 +1540,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1798,6 +1796,17 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> + <Link> + <Identifier>(0x00005453, 0x00003e63)</Identifier> + <Source> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00005612, 0x0000591e)</Identifier> <Source> @@ -1887,13 +1896,13 @@ </Target> </Link> <Link> - <Identifier>(0x00007af8, 0x00000c53)</Identifier> + <Identifier>(0x00007643, 0x00002618)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -1952,17 +1961,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x4dec0a97, 0x70c962ab)</Identifier> - <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1f046833, 0x21a8a876)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x63796305, 0x4f357282)</Identifier> <Source> diff --git a/plugins/processing/riemannian/box-tutorials/1.5-Classifier-Testing.xml b/plugins/processing/riemannian/box-tutorials/1.5-Classifier-Testing.xml index 3d24f58c0012a07e7ff87f88aa6a2047c7389791..037a04c1109ed7cd4a1899c9bc1480813cc6c114 100644 --- a/plugins/processing/riemannian/box-tutorials/1.5-Classifier-Testing.xml +++ b/plugins/processing/riemannian/box-tutorials/1.5-Classifier-Testing.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.1.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x001f9ac9, 0x8d7740bc)</Identifier> @@ -49,6 +49,83 @@ <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x00000bcc, 0x00007a84)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>8</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>880</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0000241d, 0x0000786c)</Identifier> <Name>LWF</Name> @@ -1009,85 +1086,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x558c587f, 0x223f3b66)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>880</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x001a79f8)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x71322e63, 0x41ba161a)</Identifier> <Name>Time based epoching</Name> @@ -1109,14 +1107,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -1267,9 +1265,9 @@ </Target> </Link> <Link> - <Identifier>(0x000057f7, 0x00002085)</Identifier> + <Identifier>(0x00004424, 0x00001bc8)</Identifier> <Source> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> @@ -1278,24 +1276,24 @@ </Target> </Link> <Link> - <Identifier>(0x00005dec, 0x0000035f)</Identifier> + <Identifier>(0x000054a6, 0x00002622)</Identifier> <Source> - <BoxIdentifier>(0x1396fde6, 0x1c649749)</BoxIdentifier> + <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006be7, 0x0000270c)</BoxIdentifier> + <BoxIdentifier>(0x00000bcc, 0x00007a84)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00006cdb, 0x00004d41)</Identifier> + <Identifier>(0x00005dec, 0x0000035f)</Identifier> <Source> - <BoxIdentifier>(0x5194b6cb, 0x7e001786)</BoxIdentifier> + <BoxIdentifier>(0x1396fde6, 0x1c649749)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x558c587f, 0x223f3b66)</BoxIdentifier> + <BoxIdentifier>(0x00006be7, 0x0000270c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixCalculator.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixCalculator.cpp index 6caa632ac1ce09678ae2c26d0aa90270566320d6..4dae030e3c90a396226f29451be4772a055f1c59 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixCalculator.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixCalculator.cpp @@ -1,5 +1,5 @@ #include "CBoxAlgorithmCovarianceMatrixCalculator.hpp" -#include "utils/misc.hpp" +#include "eigen/convert.hpp" namespace OpenViBE { namespace Plugins { diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixToFeatureVector.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixToFeatureVector.cpp index 50066ff6c04de644f50861a848e7293ae0a0e757..5ff496ce9f1715581ecd1f1a4788202063482c87 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixToFeatureVector.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMatrixToFeatureVector.cpp @@ -1,5 +1,5 @@ #include "CBoxAlgorithmCovarianceMatrixToFeatureVector.hpp" -#include "utils/misc.hpp" +#include "eigen/convert.hpp" #include <fstream> #include "geometry/Basics.hpp" diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.cpp index 262fbf96b2044b5118e14d40b24d92a95106f7aa..495fece953fa508d7638f5076895ec005d5524b1 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.cpp @@ -1,6 +1,6 @@ #include "CBoxAlgorithmCovarianceMeanCalculator.hpp" #include <geometry/Mean.hpp> -#include "utils/misc.hpp" +#include "eigen/convert.hpp" #include <fstream> #include "geometry/Basics.hpp" @@ -77,9 +77,9 @@ bool CBoxAlgorithmCovarianceMeanCalculator::process() m_i0StimulationCodec.decode(i); // Decode the chunk if (m_i0StimulationCodec.isBufferReceived()) // Buffer received { - for (size_t j = 0; j < m_iStimulation->getStimulationCount(); ++j) + for (size_t j = 0; j < m_iStimulation->size(); ++j) { - if (m_iStimulation->getStimulationIdentifier(j) == m_stimulationName) + if (m_iStimulation->getId(j) == m_stimulationName) { OV_ERROR_UNLESS_KRF(Mean(m_covs, m_mean, m_metric), "Mean Compute Error", Kernel::ErrorType::BadProcessing); // Compute the mean MatrixConvert(m_mean, *m_oMatrix); diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.hpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.hpp index 18d2031a004ddae1a1ce11df812867516c05a20c..7a1218c2c0530c2b5a4c0b574b2e4a4ffd33ec55 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.hpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmCovarianceMeanCalculator.hpp @@ -49,7 +49,7 @@ protected: Geometry::EMetric m_metric = Geometry::EMetric::Euclidian; // Metric Used //***** Settings ***** - IStimulationSet* m_iStimulation = nullptr; // Stimulation receiver + CStimulationSet* m_iStimulation = nullptr; // Stimulation receiver uint64_t m_stimulationName = OVTK_StimulationId_TrainCompleted; // Name of stimulation to check Kernel::ELogLevel m_logLevel = Kernel::LogLevel_Info; // Log Level diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmFeatureVectorToCovarianceMatrix.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmFeatureVectorToCovarianceMatrix.cpp index 4b691d40f485176c1463ae79ee437e3f35469652..d8673427027a3c39d174517cf90e8f299e4154e1 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmFeatureVectorToCovarianceMatrix.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmFeatureVectorToCovarianceMatrix.cpp @@ -1,5 +1,5 @@ #include "CBoxAlgorithmFeatureVectorToCovarianceMatrix.hpp" -#include "utils/misc.hpp" +#include "eigen/convert.hpp" #include <fstream> #include "geometry/Basics.hpp" diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixAffineTransformation.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixAffineTransformation.cpp index f9371768ca568efa1a65aba102d203281f640323..23369a05829bd0689c3460b4f91e7da0975d7baf 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixAffineTransformation.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixAffineTransformation.cpp @@ -1,5 +1,5 @@ #include "CBoxAlgorithmMatrixAffineTransformation.hpp" -#include "utils/misc.hpp" +#include "eigen/convert.hpp" namespace OpenViBE { namespace Plugins { diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.cpp index 81feb284b59496f716fcc3b02d504ec9440a1d56..c1a6f2d983ed821a78c7decdc566a1d0d1339c06 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.cpp @@ -1,7 +1,7 @@ #include "CBoxAlgorithmMatrixClassifierProcessor.hpp" #include <geometry/classifier/CMatrixClassifierMDMRebias.hpp> #include <geometry/classifier/CMatrixClassifierFgMDMRTRebias.hpp> -#include "utils/misc.hpp" +#include "eigen/convert.hpp" namespace OpenViBE { namespace Plugins { @@ -89,9 +89,9 @@ bool CBoxAlgorithmMatrixClassifierProcessor::process() if (m_i0StimulationCodec.isBufferReceived()) // Buffer received { bool finish = false; - for (size_t j = 0; j < m_i0Stimulation->getStimulationCount() && !finish; ++j) + for (size_t j = 0; j < m_i0Stimulation->size() && !finish; ++j) { - const uint64_t stim = m_i0Stimulation->getStimulationIdentifier(j); + const uint64_t stim = m_i0Stimulation->getId(j); for (size_t k = 0; k < m_stimulationClassName.size() && !finish; ++k) { if (stim == this->getTypeManager().getEnumerationEntryValueFromName(OV_TypeId_Stimulation, "OVTK_GDF_End_Of_Trial")) @@ -157,10 +157,10 @@ bool CBoxAlgorithmMatrixClassifierProcessor::classify(const uint64_t tEnd) Kernel::ErrorType::BadProcessing); //Fill Output - m_o0Stimulation->setStimulationCount(1); //No append stimulation only one is used - m_o0Stimulation->setStimulationIdentifier(0, m_stimulationClassName[classId]); - m_o0Stimulation->setStimulationDate(0, tEnd); - m_o0Stimulation->setStimulationDuration(0, 0); + m_o0Stimulation->resize(1); //No append stimulation only one is used + m_o0Stimulation->setId(0, m_stimulationClassName[classId]); + m_o0Stimulation->setDate(0, tEnd); + m_o0Stimulation->setDuration(0, 0); MatrixConvert(distance, *m_o1Matrix); MatrixConvert(probability, *m_o2Matrix); diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.hpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.hpp index ebebe1cf3fbd0ac84f543f57cf8d2faf48e5cf12..f98d5b4e12f35a94ea53cf03a95c04a070915367 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.hpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierProcessor.hpp @@ -45,7 +45,7 @@ protected: Eigen::MatrixXd m_distance, m_probability; // Eigen Matrix //***** Stimulations ***** - IStimulationSet *m_i0Stimulation = nullptr, // Stimulation receiver + CStimulationSet *m_i0Stimulation = nullptr, // Stimulation receiver *m_o0Stimulation = nullptr; // Stimulation sender std::vector<uint64_t> m_stimulationClassName; // Name of stimulation to check for each class diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.cpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.cpp index f6a12c4ba920a82838a8af93ba756ba558bd9a4a..4cf030d231c8efb5d37359da9d5f59c4e2d05054 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.cpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.cpp @@ -2,7 +2,7 @@ #include <geometry/3rd-party/tinyxml2.h> #include <geometry/classifier/CMatrixClassifierMDMRebias.hpp> #include <geometry/classifier/CMatrixClassifierFgMDMRTRebias.hpp> -#include "utils/misc.hpp" +#include "eigen/convert.hpp" #include "boost/format.hpp" namespace OpenViBE { @@ -94,14 +94,14 @@ bool CBoxAlgorithmMatrixClassifierTrainer::process() } if (m_i0StimulationCodec.isBufferReceived()) // Buffer received { - for (size_t j = 0; j < m_iStimulation->getStimulationCount(); ++j) + for (size_t j = 0; j < m_iStimulation->size(); ++j) { - if (m_iStimulation->getStimulationIdentifier(j) == m_stimulationName) + if (m_iStimulation->getId(j) == m_stimulationName) { OV_ERROR_UNLESS_KRF(train(), "Train failed", Kernel::ErrorType::BadProcessing); const uint64_t stim = this->getTypeManager().getEnumerationEntryValueFromName( OV_TypeId_Stimulation, "OVTK_StimulationId_TrainCompleted"); - m_oStimulation->appendStimulation(stim, m_iStimulation->getStimulationDate(j), 0); + m_oStimulation->push_back(stim, m_iStimulation->getDate(j), 0); m_isTrain = true; } } diff --git a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.hpp b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.hpp index 942afaacb2ed5b66cf6204ec10da0869b885df8c..9b75cb3b2a1b58865dd52636815502c7570d1764 100644 --- a/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.hpp +++ b/plugins/processing/riemannian/src/boxes/CBoxAlgorithmMatrixClassifierTrainer.hpp @@ -49,7 +49,7 @@ protected: std::vector<std::vector<Eigen::MatrixXd>> m_covs; // List of Covariance Matrix one class by row //***** Stimulations ***** - IStimulationSet *m_iStimulation = nullptr, // Stimulation receiver + CStimulationSet *m_iStimulation = nullptr, // Stimulation receiver *m_oStimulation = nullptr; // Stimulation sender uint64_t m_stimulationName = OVTK_StimulationId_Train; // Name of stimulation to check for train launch std::vector<uint64_t> m_stimulationClassName; // Name of stimulation to check for each class diff --git a/plugins/processing/riemannian/src/utils/misc.cpp b/plugins/processing/riemannian/src/utils/misc.cpp deleted file mode 100644 index 450b45b24a0bec40c44c576859a3b89e05611aad..0000000000000000000000000000000000000000 --- a/plugins/processing/riemannian/src/utils/misc.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "utils/misc.hpp" - -//***************************************************** -//******************** CONVERSIONS ******************** -//***************************************************** -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::MatrixXd& out) -{ - if (in.getDimensionCount() != 2) { return false; } - out.resize(in.getDimensionSize(0), in.getDimensionSize(1)); - - // double loop to avoid the problem of row major and column major storage - size_t idx = 0; - const double* buffer = in.getBuffer(); - for (size_t i = 0, nR = out.rows(); i < nR; ++i) { for (size_t j = 0, nC = out.cols(); j < nC; ++j) { out(i, j) = buffer[idx++]; } } - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const Eigen::MatrixXd& in, OpenViBE::CMatrix& out) -{ - if (in.rows() == 0 || in.cols() == 0) { return false; } - const size_t nR = in.rows(), nC = in.cols(); - out.resize(nR, nC); - out.setNumLabels(); - - // double loop to avoid the problem of row major and column major storage - size_t idx = 0; - double* buffer = out.getBuffer(); - for (size_t i = 0; i < nR; ++i) { for (size_t j = 0; j < nC; ++j) { buffer[idx++] = in(i, j); } } - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const Eigen::RowVectorXd& in, OpenViBE::CMatrix& out) -{ - if (in.size() == 0) { return false; } - out.resize(in.size()); - //one row system copy doesn't cause problem - std::copy_n(in.data(), out.getSize(), out.getBuffer()); - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::RowVectorXd& out) -{ - if (in.getDimensionCount() != 1) { return false; } - out.resize(in.getDimensionSize(0)); - //one row system copy doesn't cause problem - std::copy_n(in.getBuffer(), in.getSize(), out.data()); - return true; -} -//--------------------------------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -bool MatrixConvert(const std::vector<double>& in, OpenViBE::CMatrix& out) -{ - if (in.empty()) { return false; } - out.resize(in.size()); - //one row system copy doesn't cause problem - std::copy_n(in.data(), out.getSize(), out.getBuffer()); - return true; -} -//--------------------------------------------------------------------------------------------------- diff --git a/plugins/processing/riemannian/src/utils/misc.hpp b/plugins/processing/riemannian/src/utils/misc.hpp deleted file mode 100644 index 4a4e67b746fc49e2172e8f5013d0c0d4f2f1a594..0000000000000000000000000000000000000000 --- a/plugins/processing/riemannian/src/utils/misc.hpp +++ /dev/null @@ -1,43 +0,0 @@ -///------------------------------------------------------------------------------------------------- -/// -/// \file misc.hpp -/// \brief All functions to Convert OpenViBE::CMatrix and Eigen::MatrixXd, links to Eigen function, manipulate OpenVibe::CMatrix and more. -/// \author Thibaut Monseigne (Inria). -/// \version 1.0. -/// \date 26/10/2018. -/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>. -/// -///------------------------------------------------------------------------------------------------- - -#pragma once - -#include <openvibe/ov_all.h> -#include <Eigen/Dense> - -//***************************************************** -//******************** Conversions ******************** -//***************************************************** -/// <summary> Convert OpenViBE Matrix to Eigen Matrix. </summary> -/// <param name="in"> The Eigen Matrix. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::MatrixXd& out); - -/// <summary> Convert Eigen Matrix to OpenViBE Matrix (It doesn't use Memory::copy because of Eigne store in column major by default). </summary> -/// <param name="in"> The Eigen Matrix. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const Eigen::MatrixXd& in, OpenViBE::CMatrix& out); - -/// <summary> Convert Eigen Row Vector to OpenViBE Matrix with one dimension. </summary> -/// <param name="in"> The Eigen Row Vector. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const Eigen::RowVectorXd& in, OpenViBE::CMatrix& out); - -/// <summary> Convert OpenViBE Matrix with one dimension to Eigen Row Vector. </summary> -/// <param name="in"> The OpenVibe Matrix. </param> -/// <param name="out"> The Eigen Row Vector. </param> -bool MatrixConvert(const OpenViBE::CMatrix& in, Eigen::RowVectorXd& out); - -/// <summary> Convertvector double to OpenViBE Matrix with one dimension. </summary> -/// <param name="in"> The Vector of double. </param> -/// <param name="out"> The OpenVibe Matrix. </param> -bool MatrixConvert(const std::vector<double>& in, OpenViBE::CMatrix& out); diff --git a/plugins/processing/riemannian/test/scenarios-tests/Covariance-Matrix-Calculator-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Covariance-Matrix-Calculator-test.xml index 02b4a7a3fa715e6510316cba42b830515ae6a0a7..143c9c7b7d8fa455fb3da678550b4d70bd3cd8a5 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Covariance-Matrix-Calculator-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Covariance-Matrix-Calculator-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00425137, 0xf2a30c29)</Identifier> @@ -603,7 +603,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -670,7 +670,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Covariance-Mean-Calculator-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Covariance-Mean-Calculator-test.xml index c03e813ae5ebe8e39b8635c15d7cec8e3e4eb3b9..d55d2a617c7dc185b1f8d423536991420b27ace0 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Covariance-Mean-Calculator-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Covariance-Mean-Calculator-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x00433d80, 0x024464c1)</Identifier> @@ -882,7 +882,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -949,7 +949,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Covariance-To-Feature-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Covariance-To-Feature-test.xml index 83d2d7b2cae654b6fd61cf1e2a57cc4e3a96de7f..02fa625913147e8729f9ac317dc01471b31d9c03 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Covariance-To-Feature-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Covariance-To-Feature-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -304,7 +304,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -371,7 +371,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Feature-To-Covariance-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Feature-To-Covariance-test.xml index 7fdbde36b39e7aa84fc74af0ee2f7e39d457b22c..3d9291e0ef6e9e28553ad965aa905b54bb08884a 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Feature-To-Covariance-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Feature-To-Covariance-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -296,7 +296,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -346,7 +346,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -413,7 +413,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Affine-Transformation-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Affine-Transformation-test.xml index c4f3b1ddbba2eb336327e3d54208f8a5070c7deb..85bed47d73b9aa28cbfb9da4557b06089c920f1a 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Affine-Transformation-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Affine-Transformation-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -83,7 +83,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -194,7 +194,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Supervised-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Supervised-test.xml index 4d8185db2febc53b8820479828bb34355f6c5512..a85c5d508c9cc7befec859a92f1973a3cd0838b9 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Supervised-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Supervised-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -90,7 +90,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -209,7 +209,7 @@ <Setting> <TypeIdentifier>(0x5261636b, 0x41646170)</TypeIdentifier> <Name>Adaptation</Name> - <DefaultValue>None</DefaultValue> + <DefaultValue>No</DefaultValue> <Value>$var{Adaptation}</Value> <Modifiability>false</Modifiability> </Setting> @@ -298,7 +298,7 @@ <Setting> <TypeIdentifier>(0x5261636b, 0x41646170)</TypeIdentifier> <Name>Adaptation</Name> - <DefaultValue>None</DefaultValue> + <DefaultValue>No</DefaultValue> <Value>$var{Adaptation}</Value> <Modifiability>false</Modifiability> </Setting> @@ -387,7 +387,7 @@ <Setting> <TypeIdentifier>(0x5261636b, 0x41646170)</TypeIdentifier> <Name>Adaptation</Name> - <DefaultValue>None</DefaultValue> + <DefaultValue>No</DefaultValue> <Value>$var{Adaptation}</Value> <Modifiability>false</Modifiability> </Setting> @@ -476,7 +476,7 @@ <Setting> <TypeIdentifier>(0x5261636b, 0x41646170)</TypeIdentifier> <Name>Adaptation</Name> - <DefaultValue>None</DefaultValue> + <DefaultValue>No</DefaultValue> <Value>$var{Adaptation}</Value> <Modifiability>false</Modifiability> </Setting> @@ -557,7 +557,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Unsupervised-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Unsupervised-test.xml index f29a289af121d5aa5d54c624bdd861902819b4ba..8df937feb5d535331ad210a0f530ccc9b7aaacb8 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Unsupervised-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-Unsupervised-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -90,7 +90,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -557,7 +557,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-test.xml index 3855cb9a9c487f3b0d65567d0c858c0c1b273e60..b172be32099e3a594b86f27333ccc85ed9493c55 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Testing-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -90,7 +90,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xee4b6d30, 0x788aed29)</Value> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> </Attribute> <Attribute> <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> @@ -557,7 +557,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Training-test.xml b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Training-test.xml index 1cf8c0e96b24f8413835d76a2306bf076e5e8c61..d0ef173fc4d1daa0b9a322e36cff2f597e437327 100644 --- a/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Training-test.xml +++ b/plugins/processing/riemannian/test/scenarios-tests/Matrix-Classifier-Training-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings> <Setting> <Identifier>(0x002d042d, 0x0a17b655)</Identifier> @@ -497,7 +497,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -547,7 +547,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/signal-processing/CMakeLists.txt b/plugins/processing/signal-processing/CMakeLists.txt index 7be1296cbecf33a0fa88efe3e5ec4c937c46bbdf..f916dd60e779141fb64271b0a112a02d877d0b5d 100755 --- a/plugins/processing/signal-processing/CMakeLists.txt +++ b/plugins/processing/signal-processing/CMakeLists.txt @@ -7,17 +7,19 @@ add_library(${PROJECT_NAME} SHARED ${SRC_FILES} "../../../contrib/packages/wavelet2d/wavelet2s.h") target_link_libraries(${PROJECT_NAME} - openvibe - openvibe-common - openvibe-toolkit - openvibe-module-ebml + openvibe + openvibe-common + openvibe-toolkit + openvibe-module-eigen + Boost::boost + Eigen3::Eigen ) target_include_directories(${PROJECT_NAME} - PRIVATE - src - src/algorithms/basic - src/algorithms/connectivity + PRIVATE + src + src/algorithms/basic + src/algorithms/connectivity ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -34,10 +36,7 @@ include_directories("../../../contrib/packages/wavelet2d") add_definitions(-D_USE_MATH_DEFINES) # --------------------------------- -include("FindThirdPartyBoost") -include("FindThirdPartyEigen") include("FindThirdPartyFFTW3") # used by the wavelet library -include("FindThirdPartyITPP") # note that itpp gives the fftw3 on Win if(OV_COMPILE_TESTS) ADD_SUBDIRECTORY("test") diff --git a/plugins/processing/signal-processing/box-tutorials/channel-selector.xml b/plugins/processing/signal-processing/box-tutorials/channel-selector.xml index 97412ce3f24fb2679afcf6eca57cc882e2d2a1b5..54574e46220e557143f19f0d4cfac43d56877073 100644 --- a/plugins/processing/signal-processing/box-tutorials/channel-selector.xml +++ b/plugins/processing/signal-processing/box-tutorials/channel-selector.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000503, 0x00001d65)</Identifier> @@ -45,15 +48,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -67,10 +66,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -175,15 +170,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -193,10 +184,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -249,22 +236,14 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>32</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0b214ed8, 0x1f9ad83a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00ac4ab1)</Value> @@ -357,15 +336,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -375,14 +350,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -409,24 +376,6 @@ <BoxIdentifier>(0x00000ba1, 0x00004ae1)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>130</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>209</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003d0f, 0x000056cd)</Identifier> @@ -438,24 +387,6 @@ <BoxIdentifier>(0x00006298, 0x000025dc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>192</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>226</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>289</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007953, 0x00007c5f)</Identifier> @@ -467,24 +398,6 @@ <BoxIdentifier>(0x00000503, 0x00001d65)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>130</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -568,7 +481,7 @@ a 4 channels sinusoidal signal</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":678,"identifier":"(0x0000037f, 0x000006dc)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":794},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003ddc, 0x00006202)","index":0,"name":"Default tab","parentIdentifier":"(0x0000037f, 0x000006dc)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":314,"identifier":"(0x000019f0, 0x0000358d)","index":0,"maxDividerPosition":633,"name":"Vertical split","parentIdentifier":"(0x00003ddc, 0x00006202)","type":4},{"boxIdentifier":"(0x00000ba1, 0x00004ae1)","childCount":0,"identifier":"(0x0000654d, 0x000076f4)","index":0,"parentIdentifier":"(0x000019f0, 0x0000358d)","type":3},{"boxIdentifier":"(0x00006298, 0x000025dc)","childCount":0,"identifier":"(0x00000303, 0x00002727)","index":1,"parentIdentifier":"(0x000019f0, 0x0000358d)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":678,"identifier":"(0x0000037f, 0x000006dc)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":794},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00003ddc, 0x00006202)","index":0,"name":"Default tab","parentIdentifier":"(0x0000037f, 0x000006dc)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":314,"identifier":"(0x000019f0, 0x0000358d)","index":0,"maxDividerPosition":633,"name":"Vertical split","parentIdentifier":"(0x00003ddc, 0x00006202)","type":4},{"boxIdentifier":"(0x00000ba1, 0x00004ae1)","childCount":0,"identifier":"(0x0000654d, 0x000076f4)","index":0,"parentIdentifier":"(0x000019f0, 0x0000358d)","type":3},{"boxIdentifier":"(0x00006298, 0x000025dc)","childCount":0,"identifier":"(0x00000303, 0x00002727)","index":1,"parentIdentifier":"(0x000019f0, 0x0000358d)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/signal-processing/box-tutorials/connectivity_measure.xml b/plugins/processing/signal-processing/box-tutorials/connectivity_measure.xml index 2d3de7a948de95e4e3a98eda2f567a3ec5da2afe..45b9bfcb4847dac0f8e257fdccf656bfd3f1d039 100644 --- a/plugins/processing/signal-processing/box-tutorials/connectivity_measure.xml +++ b/plugins/processing/signal-processing/box-tutorials/connectivity_measure.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -35,11 +35,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -98,11 +98,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -261,11 +261,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -330,11 +330,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -399,7 +399,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -468,11 +468,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>464</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -603,11 +603,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>64</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -677,11 +677,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>176</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -751,11 +751,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -825,11 +825,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -900,11 +900,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>880</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -963,11 +963,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>880</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1060,11 +1060,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>576</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1123,11 +1123,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>288</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1186,11 +1186,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>704</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1472,7 +1472,7 @@ </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>288</Value> + <Value>352</Value> </Attribute> </Attributes> </Comment> @@ -1484,11 +1484,11 @@ Generating 4 different noise channels</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>640</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96</Value> + <Value>128</Value> </Attribute> </Attributes> </Comment> @@ -1497,20 +1497,17 @@ Generating 4 different noise channels</Text> <Text><b><u>Extract coherence matrix:</u></b> 3D Matrix is of size freq_taps * n_channels * n_channels. - Frequency index steps = Sampling freq. (from time signal box) / frequency taps (from connectivity box) - In our exemple : 512 / 256 = 2. - So, in order to get the coherence matrix at 16Hz, we need to access index 8 of the freq dimension of the 3D matrix, and the matrix at 64Hz is at index 32.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>960</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>688</Value> + <Value>608</Value> </Attribute> </Attributes> </Comment> @@ -1531,11 +1528,11 @@ Strong coherence between channels 2/3 and 3/4 on 64Hz</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>912</Value> + <Value>864</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>896</Value> + <Value>784</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/signal-processing/box-tutorials/crop.xml b/plugins/processing/signal-processing/box-tutorials/crop.xml index 0335b9c36fcd074dcd13b61c1d3f60438f223ffd..a6f47846a31be7edb1e7c0c0b867efb9031ee8da 100644 --- a/plugins/processing/signal-processing/box-tutorials/crop.xml +++ b/plugins/processing/signal-processing/box-tutorials/crop.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000376d, 0x000001ee)</Identifier> @@ -89,15 +92,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304.000000</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,14 +106,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -157,25 +148,21 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Min crop value</Name> <DefaultValue>-1</DefaultValue> - <Value>-3.000000</Value> + <Value>-3</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Max crop value</Name> <DefaultValue>1</DefaultValue> - <Value>3.000000</Value> + <Value>3</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -193,10 +180,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>67</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005c9c00)</Value> @@ -231,11 +214,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -253,10 +232,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>95</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -304,11 +279,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -318,10 +289,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00903800)</Value> @@ -340,24 +307,6 @@ <BoxIdentifier>(0x0000376d, 0x000001ee)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>249</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>312</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>289</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x39ec49f3, 0x56c136ff)</Identifier> @@ -369,24 +318,6 @@ <BoxIdentifier>(0x5e2124c7, 0x1bda2228)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>88</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x3f52384e, 0x2c2082d2)</Identifier> @@ -398,24 +329,6 @@ <BoxIdentifier>(0x5bdd9691, 0x130584b9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>137</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>200</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -503,7 +416,7 @@ displays the result.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x0000376d, 0x000001ee)","childCount":0,"identifier":"(0x0000688d, 0x00006cbf)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x1aaf4e4d, 0x2e459ad4)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x7293e89a, 0x29495377)","index":0,"name":"Default tab","parentIdentifier":"(0x1aaf4e4d, 0x2e459ad4)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x2b68cb14, 0x3a1b7595)","index":0,"name":"Empty","parentIdentifier":"(0x7293e89a, 0x29495377)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x0000376d, 0x000001ee)","childCount":0,"identifier":"(0x0000688d, 0x00006cbf)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x1aaf4e4d, 0x2e459ad4)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x7293e89a, 0x29495377)","index":0,"name":"Default tab","parentIdentifier":"(0x1aaf4e4d, 0x2e459ad4)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x2b68cb14, 0x3a1b7595)","index":0,"name":"Empty","parentIdentifier":"(0x7293e89a, 0x29495377)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-calibration.xml b/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-calibration.xml index 21b49fa4e11daf7342a837cf02e5e6fc0fe44a2c..15ba45d2fa95daac7a37a4bf740854bb54584528 100644 --- a/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-calibration.xml +++ b/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-calibration.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -28,11 +28,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -100,11 +100,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48</Value> + <Value>-16</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>385</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -214,11 +214,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -367,7 +367,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>289</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -485,11 +485,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>96</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -514,55 +514,75 @@ </Attributes> </Box> <Box> - <Identifier>(0x0000489a, 0x0000011d)</Identifier> - <Name>Player Controller</Name> - <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Stimulations</Name> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> </Input> </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Stimulation name</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_TrainCompleted</Value> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> - <Name>Action to perform</Name> - <DefaultValue>Pause</DefaultValue> - <Value>Stop</Value> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>2</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> + <Value>384</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x568d148e, 0x650792b3)</Value> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> </Attribute> <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00f1bfbf)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>2</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -571,69 +591,35 @@ </Attributes> </Box> <Box> - <Identifier>(0x00006eb3, 0x00003bc9)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x0000489a, 0x0000011d)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> </Input> </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> <Settings> <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>2</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> <Modifiability>false</Modifiability> </Setting> <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -641,23 +627,19 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> + <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x01129423)</Value> + <Value>(0x00000000, 0x00f1bfbf)</Value> </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Value>2</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -749,6 +731,17 @@ </Box> </Boxes> <Links> + <Link> + <Identifier>(0x00001a84, 0x000008c8)</Identifier> + <Source> + <BoxIdentifier>(0x00001ac2, 0x00007b76)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x000022d8, 0x00002198)</Identifier> <Source> @@ -761,35 +754,35 @@ </Target> </Link> <Link> - <Identifier>(0x00002618, 0x00005d65)</Identifier> + <Identifier>(0x000024c4, 0x0000331a)</Identifier> <Source> - <BoxIdentifier>(0x000071e4, 0x00006ad6)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000041f0, 0x00007465)</BoxIdentifier> + <BoxIdentifier>(0x000071e4, 0x00006ad6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000026a2, 0x00001e65)</Identifier> + <Identifier>(0x00002618, 0x00005d65)</Identifier> <Source> - <BoxIdentifier>(0x00006eb3, 0x00003bc9)</BoxIdentifier> + <BoxIdentifier>(0x000071e4, 0x00006ad6)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003b19, 0x00002e65)</BoxIdentifier> + <BoxIdentifier>(0x000041f0, 0x00007465)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x00002eaa, 0x00005a2b)</Identifier> + <Identifier>(0x00002a1e, 0x00004782)</Identifier> <Source> - <BoxIdentifier>(0x00001ac2, 0x00007b76)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006eb3, 0x00003bc9)</BoxIdentifier> + <BoxIdentifier>(0x00003b19, 0x00002e65)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -815,17 +808,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x00005978, 0x0000666f)</Identifier> - <Source> - <BoxIdentifier>(0x00006eb3, 0x00003bc9)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000071e4, 0x00006ad6)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x0000785e, 0x0000764c)</Identifier> <Source> @@ -871,11 +853,11 @@ used with the 'eog-run.xml' scenario. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>720.000000</Value> + <Value>720</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>160.000000</Value> + <Value>160</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-run.xml b/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-run.xml index 6f85790ecd9a94380c151a54533e368850e45eed..df55f67f5161928496d13c8fd412822becf30ae6 100644 --- a/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-run.xml +++ b/plugins/processing/signal-processing/box-tutorials/eog-removal/eog-run.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00003b19, 0x00002e65)</Identifier> @@ -45,15 +48,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>464.000000</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -67,10 +66,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x001ceae3)</Value> @@ -93,6 +88,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>2</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00004d05, 0x00007de5)</Identifier> <Name>After</Name> @@ -179,15 +251,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -197,18 +265,10 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00221c5f)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -255,24 +315,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xc15f2638, 0x928d2db0)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>119</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x002fcaa5)</Value> @@ -339,24 +391,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>32.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>123</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00315309)</Value> @@ -375,109 +419,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000069dc, 0x00007101)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>2</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>119</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x003e921f)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x000071e4, 0x00006ad6)</Identifier> <Name>EEG</Name> @@ -520,15 +461,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>192.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -542,10 +479,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>106</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00269e1b)</Value> @@ -654,15 +587,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>432.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>272.000000</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -672,10 +601,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00240e2e)</Value> @@ -706,111 +631,39 @@ <BoxIdentifier>(0x0000721d, 0x00006b03)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>402</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>257</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00000730, 0x0000533a)</Identifier> + <Identifier>(0x00000c70, 0x00006689)</Identifier> <Source> - <BoxIdentifier>(0x00005e30, 0x0000017a)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000069dc, 0x00007101)</BoxIdentifier> + <BoxIdentifier>(0x000071e4, 0x00006ad6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>51</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>79</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>400</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000150f, 0x00005c52)</Identifier> + <Identifier>(0x00001199, 0x0000214a)</Identifier> <Source> - <BoxIdentifier>(0x000053ed, 0x0000612d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x00005e30, 0x0000017a)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00004d05, 0x00007de5)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>313</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>402</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>401</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000018c1, 0x00002528)</Identifier> + <Identifier>(0x0000150f, 0x00005c52)</Identifier> <Source> - <BoxIdentifier>(0x000069dc, 0x00007101)</BoxIdentifier> + <BoxIdentifier>(0x000053ed, 0x0000612d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00003b19, 0x00002e65)</BoxIdentifier> + <BoxIdentifier>(0x00004d05, 0x00007de5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>115</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>162</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>464</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003155, 0x00006d63)</Identifier> @@ -822,53 +675,17 @@ <BoxIdentifier>(0x000053ed, 0x0000612d)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>464</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>264</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>423</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003ea1, 0x0000322f)</Identifier> + <Identifier>(0x00004d0c, 0x000004e4)</Identifier> <Source> - <BoxIdentifier>(0x000069dc, 0x00007101)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000071e4, 0x00006ad6)</BoxIdentifier> + <BoxIdentifier>(0x00003b19, 0x00002e65)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>115</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>400</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>162</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000515e, 0x00004b1e)</Identifier> @@ -880,31 +697,13 @@ <BoxIdentifier>(0x000053ed, 0x0000612d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>224</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>264</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>408</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> <Comment> <Identifier>(0x00007d4d, 0x00006501)</Identifier> <Text>This scenario performs denoising following -the work of Schlögl and al., 2007. +the work of Schlögl and al., 2007. The model should be first calibrated using the 'eog-calibration.xml' scenario. @@ -915,11 +714,11 @@ and attempts to clean the EEG input of artifacts. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>720.000000</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>224.000000</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -928,7 +727,7 @@ and attempts to clean the EEG input of artifacts. <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00006444, 0x00003b19)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":467},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000408e, 0x00005287)","index":0,"name":"Default tab","parentIdentifier":"(0x00006444, 0x00003b19)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":135,"identifier":"(0x00004ee6, 0x00007589)","index":0,"maxDividerPosition":275,"name":"Vertical split","parentIdentifier":"(0x0000408e, 0x00005287)","type":4},{"boxIdentifier":"(0x0000721d, 0x00006b03)","childCount":0,"identifier":"(0x00004fca, 0x000005fa)","index":0,"parentIdentifier":"(0x00004ee6, 0x00007589)","type":3},{"boxIdentifier":"(0x00004d05, 0x00007de5)","childCount":0,"identifier":"(0x00005ad7, 0x00000e3a)","index":1,"parentIdentifier":"(0x00004ee6, 0x00007589)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00006444, 0x00003b19)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":467},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000408e, 0x00005287)","index":0,"name":"Default tab","parentIdentifier":"(0x00006444, 0x00003b19)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":135,"identifier":"(0x00004ee6, 0x00007589)","index":0,"maxDividerPosition":275,"name":"Vertical split","parentIdentifier":"(0x0000408e, 0x00005287)","type":4},{"boxIdentifier":"(0x0000721d, 0x00006b03)","childCount":0,"identifier":"(0x00004fca, 0x000005fa)","index":0,"parentIdentifier":"(0x00004ee6, 0x00007589)","type":3},{"boxIdentifier":"(0x00004d05, 0x00007de5)","childCount":0,"identifier":"(0x00005ad7, 0x00000e3a)","index":1,"parentIdentifier":"(0x00004ee6, 0x00007589)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/signal-processing/box-tutorials/ersp-plot.mxs b/plugins/processing/signal-processing/box-tutorials/ersp-plot.xml similarity index 99% rename from plugins/processing/signal-processing/box-tutorials/ersp-plot.mxs rename to plugins/processing/signal-processing/box-tutorials/ersp-plot.xml index acd253137c36c16bc3b21b4ff40ae0a9eae93c7b..d9e3738e79bcc9b1cb18ea26521eae837529897a 100644 --- a/plugins/processing/signal-processing/box-tutorials/ersp-plot.mxs +++ b/plugins/processing/signal-processing/box-tutorials/ersp-plot.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -515,7 +515,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -585,7 +585,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/signal-processing/box-tutorials/hilbert-transform.xml b/plugins/processing/signal-processing/box-tutorials/hilbert-transform.xml index ce98a5f3d53533fdba9f2bd09784d16a6e69da64..3d1b99fdb8551f0e707cde11ed859c7f67a23841 100644 --- a/plugins/processing/signal-processing/box-tutorials/hilbert-transform.xml +++ b/plugins/processing/signal-processing/box-tutorials/hilbert-transform.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x0000174b, 0x00007339)</Identifier> @@ -33,10 +36,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>416</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>528</Value> @@ -53,10 +52,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>247</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00516bfc)</Value> @@ -165,15 +160,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>736.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -183,10 +174,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x003b1dbc)</Value> @@ -291,15 +278,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>736.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>544.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -309,10 +292,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>88</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x003f18cb)</Value> @@ -360,11 +339,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -374,10 +349,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004acf6a)</Value> @@ -478,15 +449,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>736.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>400.000000</Value> + <Value>432</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -496,10 +463,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>109</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x003cb1d3)</Value> @@ -604,15 +567,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>224.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -622,18 +581,10 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>138</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0041c600)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -675,11 +626,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>592</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -689,10 +636,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xceff4a87, 0xffc5ce08)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005c0981)</Value> @@ -719,24 +662,6 @@ <BoxIdentifier>(0x000073ef, 0x00003386)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>562</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>209</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000295e, 0x000010ce)</Identifier> @@ -748,24 +673,6 @@ <BoxIdentifier>(0x00007568, 0x00004185)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>448</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>568</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003263, 0x00005885)</Identifier> @@ -777,24 +684,6 @@ <BoxIdentifier>(0x00004737, 0x00005716)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>617</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>706</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>529</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004407, 0x0000355e)</Identifier> @@ -806,24 +695,6 @@ <BoxIdentifier>(0x0000174b, 0x00007339)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>307</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>528</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>386</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>528</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005973, 0x00001cd9)</Identifier> @@ -835,24 +706,6 @@ <BoxIdentifier>(0x00006be2, 0x00000412)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>617</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>513</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>706</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>385</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005a3a, 0x00002cc1)</Identifier> @@ -864,24 +717,6 @@ <BoxIdentifier>(0x00002c63, 0x0000173d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>617</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>543</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>706</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>673</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -897,7 +732,7 @@ using analytic signal representation</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>96</Value> + <Value>176</Value> </Attribute> </Attributes> </Comment> @@ -912,7 +747,7 @@ on the modulated signal</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>592</Value> + <Value>512</Value> </Attribute> </Attributes> </Comment> @@ -927,7 +762,7 @@ that generates a constant increasing signal</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>208</Value> + <Value>288</Value> </Attribute> </Attributes> </Comment> @@ -938,7 +773,7 @@ create a modulated signal</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>800</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> @@ -952,11 +787,11 @@ create a modulated signal</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>880</Value> + <Value>752</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>736</Value> + <Value>608</Value> </Attribute> </Attributes> </Comment> @@ -970,7 +805,7 @@ create a modulated signal</Text> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>832</Value> + <Value>688</Value> </Attribute> </Attributes> </Comment> @@ -979,7 +814,7 @@ create a modulated signal</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000502f, 0x00006387)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":464},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007b5f, 0x00005051)","index":0,"name":"Default tab","parentIdentifier":"(0x0000502f, 0x00006387)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":42,"identifier":"(0x00002f97, 0x000070dc)","index":0,"maxDividerPosition":275,"name":"Vertical split","parentIdentifier":"(0x00007b5f, 0x00005051)","type":4},{"boxIdentifier":"(0x000073ef, 0x00003386)","childCount":0,"identifier":"(0x00000950, 0x0000293f)","index":0,"parentIdentifier":"(0x00002f97, 0x000070dc)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":158,"identifier":"(0x00006798, 0x00003018)","index":1,"maxDividerPosition":212,"name":"Vertical split","parentIdentifier":"(0x00002f97, 0x000070dc)","type":4},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":69,"identifier":"(0x00000947, 0x000066cc)","index":0,"maxDividerPosition":142,"name":"Vertical split","parentIdentifier":"(0x00006798, 0x00003018)","type":4},{"boxIdentifier":"(0x00004737, 0x00005716)","childCount":0,"identifier":"(0x0000736a, 0x00006593)","index":1,"parentIdentifier":"(0x00006798, 0x00003018)","type":3},{"boxIdentifier":"(0x00006be2, 0x00000412)","childCount":0,"identifier":"(0x000010db, 0x00003fea)","index":0,"parentIdentifier":"(0x00000947, 0x000066cc)","type":3},{"boxIdentifier":"(0x00002c63, 0x0000173d)","childCount":0,"identifier":"(0x00005278, 0x00001e5d)","index":1,"parentIdentifier":"(0x00000947, 0x000066cc)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000502f, 0x00006387)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":464},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007b5f, 0x00005051)","index":0,"name":"Default tab","parentIdentifier":"(0x0000502f, 0x00006387)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":42,"identifier":"(0x00002f97, 0x000070dc)","index":0,"maxDividerPosition":275,"name":"Vertical split","parentIdentifier":"(0x00007b5f, 0x00005051)","type":4},{"boxIdentifier":"(0x000073ef, 0x00003386)","childCount":0,"identifier":"(0x00000950, 0x0000293f)","index":0,"parentIdentifier":"(0x00002f97, 0x000070dc)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":158,"identifier":"(0x00006798, 0x00003018)","index":1,"maxDividerPosition":212,"name":"Vertical split","parentIdentifier":"(0x00002f97, 0x000070dc)","type":4},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":69,"identifier":"(0x00000947, 0x000066cc)","index":0,"maxDividerPosition":142,"name":"Vertical split","parentIdentifier":"(0x00006798, 0x00003018)","type":4},{"boxIdentifier":"(0x00004737, 0x00005716)","childCount":0,"identifier":"(0x0000736a, 0x00006593)","index":1,"parentIdentifier":"(0x00006798, 0x00003018)","type":3},{"boxIdentifier":"(0x00006be2, 0x00000412)","childCount":0,"identifier":"(0x000010db, 0x00003fea)","index":0,"parentIdentifier":"(0x00000947, 0x000066cc)","type":3},{"boxIdentifier":"(0x00002c63, 0x0000173d)","childCount":0,"identifier":"(0x00005278, 0x00001e5d)","index":1,"parentIdentifier":"(0x00000947, 0x000066cc)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/signal-processing/box-tutorials/simple-dsp.xml b/plugins/processing/signal-processing/box-tutorials/simple-dsp.xml index 9e0fd12b137091b1dec9ded28720f6b76d1fe386..7d1055bdb073176502c5d8a85cbb4e927de09916 100644 --- a/plugins/processing/signal-processing/box-tutorials/simple-dsp.xml +++ b/plugins/processing/signal-processing/box-tutorials/simple-dsp.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000003f8, 0x0000263d)</Identifier> @@ -33,10 +36,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>176</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>912</Value> @@ -53,10 +52,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>70</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005543d7)</Value> @@ -165,15 +160,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1056.000000</Value> + <Value>1056</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -183,10 +174,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>125</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005662d1)</Value> @@ -291,15 +278,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>704.000000</Value> + <Value>704</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -309,10 +292,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>209</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0068f673)</Value> @@ -417,15 +396,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>944.000000</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -435,10 +410,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>168</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00660ea2)</Value> @@ -459,7 +430,7 @@ </Box> <Box> <Identifier>(0x00001670, 0x00002a37)</Identifier> - <Name>y = x³</Name> + <Name>y = x³</Name> <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -487,10 +458,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>208</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>192</Value> @@ -507,10 +474,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>64</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004f8bad)</Value> @@ -619,15 +582,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>32.000000</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -637,10 +596,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>96</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0050eb17)</Value> @@ -693,10 +648,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>336</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>752</Value> @@ -713,10 +664,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0061d90b)</Value> @@ -825,15 +772,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>160.000000</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -843,10 +786,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0059a281)</Value> @@ -895,10 +834,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>208</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>96</Value> @@ -915,10 +850,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>64</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004e66dd)</Value> @@ -1027,15 +958,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1045,10 +972,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>166</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x006a6192)</Value> @@ -1099,15 +1022,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912.000000</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1121,10 +1040,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>64</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00640b43)</Value> @@ -1177,10 +1092,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>208</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>336</Value> @@ -1197,10 +1108,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>115</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004df1b9)</Value> @@ -1254,10 +1161,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>96</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>544</Value> @@ -1266,10 +1169,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>84</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00683b0d)</Value> @@ -1362,15 +1261,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>656.000000</Value> + <Value>656</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1380,10 +1275,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>128</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x004f2243)</Value> @@ -1430,15 +1321,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>176.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>768.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -1452,10 +1339,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>73</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00770270)</Value> @@ -1490,24 +1373,6 @@ <BoxIdentifier>(0x000030ac, 0x00000fb4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>744</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00001fca, 0x00002abb)</Identifier> @@ -1519,24 +1384,6 @@ <BoxIdentifier>(0x0000104d, 0x00003592)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>364</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>752</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>422</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>689</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003398, 0x00007719)</Identifier> @@ -1548,24 +1395,6 @@ <BoxIdentifier>(0x00003bf6, 0x000034b2)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>236</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>192</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>262</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>145</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003426, 0x00002668)</Identifier> @@ -1577,24 +1406,6 @@ <BoxIdentifier>(0x000042db, 0x000029ac)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>114</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>182</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>96</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000048be, 0x000062f2)</Identifier> @@ -1606,24 +1417,6 @@ <BoxIdentifier>(0x000028b9, 0x000073e5)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>236</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>96</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>262</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>17</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004a95, 0x00000e1a)</Identifier> @@ -1635,24 +1428,6 @@ <BoxIdentifier>(0x000030ac, 0x00000fb4)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>759</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004ac9, 0x00003864)</Identifier> @@ -1664,24 +1439,6 @@ <BoxIdentifier>(0x000050b9, 0x000043a7)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>904</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006514, 0x00006da1)</Identifier> @@ -1693,24 +1450,6 @@ <BoxIdentifier>(0x00001670, 0x00002a37)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>114</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>182</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>192</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006824, 0x00001047)</Identifier> @@ -1722,24 +1461,6 @@ <BoxIdentifier>(0x00007c73, 0x00004bb8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>114</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>150</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>768</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006900, 0x0000163a)</Identifier> @@ -1751,24 +1472,6 @@ <BoxIdentifier>(0x000058f4, 0x0000621c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>114</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>182</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>336</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006ad3, 0x00006d90)</Identifier> @@ -1780,24 +1483,6 @@ <BoxIdentifier>(0x0000066f, 0x00002cba)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>214</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1041</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000070ea, 0x00007698)</Identifier> @@ -1809,24 +1494,6 @@ <BoxIdentifier>(0x000050b9, 0x000043a7)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>919</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007170, 0x00000be4)</Identifier> @@ -1838,24 +1505,6 @@ <BoxIdentifier>(0x0000150f, 0x00007862)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>364</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>422</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>929</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007219, 0x000041b3)</Identifier> @@ -1867,24 +1516,6 @@ <BoxIdentifier>(0x000044c4, 0x00003630)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>236</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>262</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>321</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000077e7, 0x000006da)</Identifier> @@ -1896,24 +1527,6 @@ <BoxIdentifier>(0x00007c41, 0x00003a87)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>204</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>768</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>230</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>641</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007f5c, 0x00004ed5)</Identifier> @@ -1925,24 +1538,6 @@ <BoxIdentifier>(0x000003f8, 0x0000263d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>114</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>544</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>150</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>912</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -1987,11 +1582,11 @@ to perform mathematical operations</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>208.000000</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>368.000000</Value> + <Value>368</Value> </Attribute> </Attributes> </Comment> @@ -2018,11 +1613,11 @@ can be achieved using <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>528.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>368.000000</Value> + <Value>368</Value> </Attribute> </Attributes> </Comment> @@ -2048,7 +1643,7 @@ These computations can be <b>logical</b> or <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":740,"identifier":"(0x00003ac5, 0x00007fbf)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":831},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000035e, 0x00001c0c)","index":0,"name":"Tab1","parentIdentifier":"(0x00003ac5, 0x00007fbf)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":346,"identifier":"(0x000064fe, 0x00001858)","index":0,"maxDividerPosition":697,"name":"Vertical split","parentIdentifier":"(0x0000035e, 0x00001c0c)","type":4},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":395,"identifier":"(0x00003a02, 0x00003bff)","index":0,"maxDividerPosition":795,"name":"Horizontal split","parentIdentifier":"(0x000064fe, 0x00001858)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":603,"identifier":"(0x0000760f, 0x00006a54)","index":1,"maxDividerPosition":795,"name":"Horizontal split","parentIdentifier":"(0x000064fe, 0x00001858)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":187,"identifier":"(0x00003c87, 0x000053a4)","index":0,"maxDividerPosition":379,"name":"Horizontal split","parentIdentifier":"(0x00003a02, 0x00003bff)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":187,"identifier":"(0x00006c77, 0x0000784a)","index":1,"maxDividerPosition":379,"name":"Horizontal split","parentIdentifier":"(0x00003a02, 0x00003bff)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":291,"identifier":"(0x00007242, 0x000077b2)","index":0,"maxDividerPosition":587,"name":"Horizontal split","parentIdentifier":"(0x0000760f, 0x00006a54)","type":5},{"boxIdentifier":"(0x000044c4, 0x00003630)","childCount":0,"identifier":"(0x00002f98, 0x00000251)","index":1,"parentIdentifier":"(0x0000760f, 0x00006a54)","type":3},{"boxIdentifier":"(0x000028b9, 0x000073e5)","childCount":0,"identifier":"(0x000016c0, 0x00005507)","index":0,"parentIdentifier":"(0x00003c87, 0x000053a4)","type":3},{"boxIdentifier":"(0x00003bf6, 0x000034b2)","childCount":0,"identifier":"(0x00002e4c, 0x0000240c)","index":1,"parentIdentifier":"(0x00003c87, 0x000053a4)","type":3},{"boxIdentifier":"(0x0000066f, 0x00002cba)","childCount":0,"identifier":"(0x00001f5c, 0x000026da)","index":0,"parentIdentifier":"(0x00006c77, 0x0000784a)","type":3},{"boxIdentifier":"(0x00007c41, 0x00003a87)","childCount":0,"identifier":"(0x00000baf, 0x0000763c)","index":1,"parentIdentifier":"(0x00006c77, 0x0000784a)","type":3},{"boxIdentifier":"(0x0000150f, 0x00007862)","childCount":0,"identifier":"(0x00003c4f, 0x00001cc8)","index":0,"parentIdentifier":"(0x00007242, 0x000077b2)","type":3},{"boxIdentifier":"(0x0000104d, 0x00003592)","childCount":0,"identifier":"(0x00006e7c, 0x0000658a)","index":1,"parentIdentifier":"(0x00007242, 0x000077b2)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":740,"identifier":"(0x00003ac5, 0x00007fbf)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":831},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000035e, 0x00001c0c)","index":0,"name":"Tab1","parentIdentifier":"(0x00003ac5, 0x00007fbf)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":346,"identifier":"(0x000064fe, 0x00001858)","index":0,"maxDividerPosition":697,"name":"Vertical split","parentIdentifier":"(0x0000035e, 0x00001c0c)","type":4},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":395,"identifier":"(0x00003a02, 0x00003bff)","index":0,"maxDividerPosition":795,"name":"Horizontal split","parentIdentifier":"(0x000064fe, 0x00001858)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":603,"identifier":"(0x0000760f, 0x00006a54)","index":1,"maxDividerPosition":795,"name":"Horizontal split","parentIdentifier":"(0x000064fe, 0x00001858)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":187,"identifier":"(0x00003c87, 0x000053a4)","index":0,"maxDividerPosition":379,"name":"Horizontal split","parentIdentifier":"(0x00003a02, 0x00003bff)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":187,"identifier":"(0x00006c77, 0x0000784a)","index":1,"maxDividerPosition":379,"name":"Horizontal split","parentIdentifier":"(0x00003a02, 0x00003bff)","type":5},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":291,"identifier":"(0x00007242, 0x000077b2)","index":0,"maxDividerPosition":587,"name":"Horizontal split","parentIdentifier":"(0x0000760f, 0x00006a54)","type":5},{"boxIdentifier":"(0x000044c4, 0x00003630)","childCount":0,"identifier":"(0x00002f98, 0x00000251)","index":1,"parentIdentifier":"(0x0000760f, 0x00006a54)","type":3},{"boxIdentifier":"(0x000028b9, 0x000073e5)","childCount":0,"identifier":"(0x000016c0, 0x00005507)","index":0,"parentIdentifier":"(0x00003c87, 0x000053a4)","type":3},{"boxIdentifier":"(0x00003bf6, 0x000034b2)","childCount":0,"identifier":"(0x00002e4c, 0x0000240c)","index":1,"parentIdentifier":"(0x00003c87, 0x000053a4)","type":3},{"boxIdentifier":"(0x0000066f, 0x00002cba)","childCount":0,"identifier":"(0x00001f5c, 0x000026da)","index":0,"parentIdentifier":"(0x00006c77, 0x0000784a)","type":3},{"boxIdentifier":"(0x00007c41, 0x00003a87)","childCount":0,"identifier":"(0x00000baf, 0x0000763c)","index":1,"parentIdentifier":"(0x00006c77, 0x0000784a)","type":3},{"boxIdentifier":"(0x0000150f, 0x00007862)","childCount":0,"identifier":"(0x00003c4f, 0x00001cc8)","index":0,"parentIdentifier":"(0x00007242, 0x000077b2)","type":3},{"boxIdentifier":"(0x0000104d, 0x00003592)","childCount":0,"identifier":"(0x00006e7c, 0x0000658a)","index":1,"parentIdentifier":"(0x00007242, 0x000077b2)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/signal-processing/box-tutorials/wavelet-decomposition.xml b/plugins/processing/signal-processing/box-tutorials/wavelet-decomposition.xml index b3cc0feed386c21b23a0db2e99c5166207df458b..44200f5fde7cb379e4c8057f0e248377fdb71a02 100755 --- a/plugins/processing/signal-processing/box-tutorials/wavelet-decomposition.xml +++ b/plugins/processing/signal-processing/box-tutorials/wavelet-decomposition.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -153,11 +153,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>368</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -481,11 +481,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>79</Value> + <Value>128</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> + <Value>464</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -804,11 +804,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>0</Value> + <Value>48</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -966,11 +966,11 @@ signal should closely resemble the original one.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>768.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>64.000000</Value> + <Value>64</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_ERSPAverage.dox-part b/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_ERSPAverage.dox-part index 38a172c85a82eaf6661601ea37843f35c7b67e42..28ac22e8f32e5dca0c716782c62f5f29c6c7fb95 100644 --- a/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_ERSPAverage.dox-part +++ b/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_ERSPAverage.dox-part @@ -80,7 +80,7 @@ __________________________________________________________________ * |OVP_DocBegin_BoxAlgorithm_ERSPAverage_Examples| -See the box tutorial ersp-average.mxs bundled with OpenViBE. +See the box tutorial ersp-average.xml bundled with OpenViBE. * |OVP_DocEnd_BoxAlgorithm_ERSPAverage_Examples| __________________________________________________________________ diff --git a/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_XDAWNTrainerDeprecated.dox-part b/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_XDAWNTrainerDeprecated.dox-part deleted file mode 100644 index 74b4f49c88eb5e1da571732c49a547540011a0b2..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/doc/Doc_BoxAlgorithm_XDAWNTrainerDeprecated.dox-part +++ /dev/null @@ -1,92 +0,0 @@ -/** - * \page BoxAlgorithm_XDAWNTrainerDeprecated xDAWN Spatial Filter Trainer -__________________________________________________________________ - -Detailed description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Description| - * This box can be used in order to compute a spatial filter in order to enhance the - * detection of evoked response potentials. In order to compute such filter, this box - * needs to receive the whole contain of a session on the first hand, and a succession - * of evoked response potentials on the other hand. It then computes the averaged evoked - * response potential computes the spatial filter that makes this averaged potential - * appear in the whole signal. This can be used e.g. for better P300 signal detection. - * - * It is important to consider the fact that this box will have best results for a - * reasonably big number of input channels, possibly all over the scalp (areas where - * the evoked response potential can not be seen will be naturally used as references - * to reduce noise). The spatial filter results in space reduction to only keep significant - * channels for later detection. Consider using at least 4 times more input channels than - * the number of output channels you want. For example, reducing 16 electrodes to 3 channels - * for P300 detection is OK. - * - * For more details about xDAWN, see <a href="https://www.gipsa-lab.grenoble-inp.fr/~bertrand.rivet/references/Rivet2009a.pdf">Rivet et al. 2009</a> - * or in case this links disappears, <a href="http://www.ncbi.nlm.nih.gov/pubmed/19174332">this website</a>. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Description| -__________________________________________________________________ - -Inputs description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Inputs| - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Inputs| - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Input1| - * This input receives the experiment stimulations. As soon as the "train" - * stimulation is received, the spatial filter is computed. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Input1| - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Input2| - * This input should receive the whole signal of the session. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Input2| - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Input3| - * This input should receive the multiple evoked response potentials. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Input3| -__________________________________________________________________ - -Outputs description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_CSPSpatialFilterTrainer_Outputs| - * |OVP_DocEnd_BoxAlgorithm_CSPSpatialFilterTrainer_Outputs| - - * |OVP_DocBegin_BoxAlgorithm_CSPSpatialFilterTrainer_Output1| - The xDAWN Trainer outputs the stimulation <b>OVTK_StimulationId_TrainCompleted</b> when the training process was successful. No output is produced if the process failed. - * |OVP_DocEnd_BoxAlgorithm_CSPSpatialFilterTrainer_Output1| -__________________________________________________________________ - -Settings description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Settings| - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Settings| - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Setting1| - * This setting contains the stimulation to use to trigger the training process. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Setting1| - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Setting2| - * This setting tells the box what configuration file to generate. This configuration file can - * be used to set the correct values of a \ref Doc_BoxAlgorithm_SpatialFilter box. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Setting2| - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Setting3| - * This setting tells how many dimension should be kept out of the spatial filter. - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Setting3| -__________________________________________________________________ - -Examples description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Examples| - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Examples| -__________________________________________________________________ - -Miscellaneous description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_XDAWNTrainerDeprecated_Miscellaneous| - * |OVP_DocEnd_BoxAlgorithm_XDAWNTrainerDeprecated_Miscellaneous| - */ diff --git a/plugins/processing/signal-processing/src/algorithms/basic/CMatrixVariance.cpp b/plugins/processing/signal-processing/src/algorithms/basic/CMatrixVariance.cpp new file mode 100644 index 0000000000000000000000000000000000000000..353cf5ecc4d1a0bed13da3bf3abd945002944bd3 --- /dev/null +++ b/plugins/processing/signal-processing/src/algorithms/basic/CMatrixVariance.cpp @@ -0,0 +1,145 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CMatrixVariance.cpp +/// \brief Definitions of Class used to compute matrix variance. +/// \author Dieter Devlaminck & Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 11/11/2021. +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#include "CMatrixVariance.hpp" + +#include <cmath> + +// the boost version used at the moment of writing this caused 4800 by internal call to "int _isnan" in a bool-returning function. +#if defined(WIN32) +#pragma warning (disable : 4800) +#endif + +#include <boost/math/distributions/students_t.hpp> + +namespace OpenViBE { +namespace Plugins { +namespace SignalProcessing { + +void CMatrixVariance::initialize(const EEpochAverageMethod method, const size_t matrixCount, const double significanceLevel) +{ + m_averagingMethod = method; + m_matrixCount = matrixCount; + m_significanceLevel = significanceLevel; +} + +void CMatrixVariance::uninitialize() { m_history.clear(); } + +// ________________________________________________________________________________________________________________ +// + +void CMatrixVariance::processHeader(const size_t size) +{ + m_mean.resize(size); + m_mean.setZero(); + m_m.resize(size); + m_m.setZero(); + m_variance.resize(size); + m_variance.setZero(); + m_counter = 0; + m_history.clear(); +} + + +bool CMatrixVariance::process(CMatrix* input, CMatrix* averaged, CMatrix* variance, CMatrix* confidence) +{ + bool shouldPerformAverage = false; + + const int nElement = int(input->getBufferElementCount()); + const size_t size = input->getBufferElementCount(); + const size_t buffersize = input->getBufferElementCount() * sizeof(double); + if (m_averagingMethod == EEpochAverageMethod::Moving) { + while (m_history.size() >= m_matrixCount) { m_history.pop_front(); } + m_history.push_back(Eigen::Map<Eigen::RowVectorXd>(input->getBuffer(), size)); + shouldPerformAverage = (m_history.size() == m_matrixCount); + } + else if (m_averagingMethod == EEpochAverageMethod::MovingImmediate) { + while (m_history.size() >= m_matrixCount) { m_history.pop_front(); } + m_history.push_back(Eigen::Map<Eigen::RowVectorXd>(input->getBuffer(), size)); + shouldPerformAverage = (!m_history.empty()); + } + else if (m_averagingMethod == EEpochAverageMethod::Block) { + if (m_history.size() >= m_matrixCount) { m_history.clear(); } + m_history.push_back(Eigen::Map<Eigen::RowVectorXd>(input->getBuffer(), size)); + shouldPerformAverage = (m_history.size() == m_matrixCount); + } + else if (m_averagingMethod == EEpochAverageMethod::Cumulative) { + if (!m_history.empty()) { m_history.pop_front(); } + m_history.push_back(Eigen::Map<Eigen::RowVectorXd>(input->getBuffer(), size)); + shouldPerformAverage = (!m_history.empty()); + } + else { return false; } + + if (shouldPerformAverage) { + if (!m_history.empty()) { + boost::math::students_t_distribution<double> distrib(2); + if (m_averagingMethod == EEpochAverageMethod::Cumulative) { + //incremental estimation of mean and variance + for (auto& history : m_history) { + m_counter++; + Eigen::RowVectorXd delta = history - m_mean; + m_mean += delta / double(m_counter); + m_m += delta.cwiseProduct((history - m_mean)); // not same as delta.cwiseProduct(delta) mean is updated + if (m_counter > 1) { m_variance = m_m / double(m_counter - 1); } + } + distrib = boost::math::students_t_distribution<double>(m_counter <= 1 ? 1 : (m_counter - 1)); + std::memcpy(averaged->getBuffer(), m_mean.data(), buffersize); + std::memcpy(variance->getBuffer(), m_variance.data(), buffersize); + } + else { + distrib = boost::math::students_t_distribution<double>(double(m_matrixCount) - 1); + + averaged->resetBuffer(); + variance->resetBuffer(); + + const size_t count = averaged->getBufferElementCount(); + const double scale = 1.0 / double(m_history.size()); + + for (auto& history : m_history) { + //batch computation of mean + double* averageBuffer = averaged->getBuffer(); + for (size_t i = 0; i < count; ++i) { averageBuffer[i] += history[i] * scale; } + //batch computation of variance + averageBuffer = averaged->getBuffer(); + double* varianceBuffer = variance->getBuffer(); + //const double quotient = m_history.size() <= 1 ? 1 : 1.0 / double(m_history.size() - 1); + const double quotient = 1.0 / double(m_history.size() - 1); // Allow 0 division + for (size_t i = 0; i < count; ++i) { varianceBuffer[i] += (history[i] - averageBuffer[i]) * (history[i] - averageBuffer[i]) * quotient; } + } + m_variance = Eigen::Map<Eigen::RowVectorXd>(averaged->getBuffer(), count); + } + + //computing confidence bounds + const double q = double(boost::math::quantile(complement(distrib, m_significanceLevel / 2.0))); + const double coef = q / sqrt(double((m_averagingMethod == EEpochAverageMethod::Cumulative) ? m_counter : m_matrixCount)); + Eigen::RowVectorXd bound = coef * m_variance.cwiseSqrt(); + std::memcpy(confidence->getBuffer(), bound.data(), buffersize); + } + return true; + } + return false; +} + +} // namespace SignalProcessing +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/algorithms/basic/CMatrixVariance.hpp b/plugins/processing/signal-processing/src/algorithms/basic/CMatrixVariance.hpp new file mode 100644 index 0000000000000000000000000000000000000000..15b0bda68a0fa66ccb1d0c08f53a694e05cbedf0 --- /dev/null +++ b/plugins/processing/signal-processing/src/algorithms/basic/CMatrixVariance.hpp @@ -0,0 +1,63 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CMatrixVariance.hpp +/// \brief Class used to compute matrix variance. +/// \author Dieter Devlaminck & Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 11/11/2021. +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#pragma once + +#include "defines.hpp" + +#include <Eigen/Dense> +#include <openvibe/ov_all.h> +#include <deque> + +namespace OpenViBE { +namespace Plugins { +namespace SignalProcessing { +class CMatrixVariance +{ +public: + CMatrixVariance() = default; + ~CMatrixVariance() = default; + + void initialize(EEpochAverageMethod method, size_t matrixCount, double significanceLevel); + void uninitialize(); + + void processHeader(const size_t size); + bool process(CMatrix* input, CMatrix* averaged, CMatrix* variance, CMatrix* confidence); + + +protected: + + EEpochAverageMethod m_averagingMethod = EEpochAverageMethod::Moving; + size_t m_matrixCount = 4; + double m_significanceLevel = 0.01; + + std::deque<Eigen::RowVectorXd> m_history; + + Eigen::RowVectorXd m_mean; + Eigen::RowVectorXd m_m; + Eigen::RowVectorXd m_variance; + size_t m_counter = 0; +}; +} // namespace SignalProcessing +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.cpp b/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.cpp index 11158487d55c1641c80be0612e6f591a09a36271..b7a13fdcdf970d2ce7624e861c42c96e22084260 100644 --- a/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.cpp +++ b/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.cpp @@ -1,8 +1,6 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) #include "ovpCAlgorithmARBurgMethod.h" -#include <iostream> -#include <sstream> #include <Eigen/Dense> diff --git a/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.h b/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.h index d7e1d9cce897a6c5be3b3b4ed5a48ff7ac1abea6..dc0c75528cd8c1f45f449962645dc25f4f3af8d9 100644 --- a/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.h +++ b/plugins/processing/signal-processing/src/algorithms/basic/ovpCAlgorithmARBurgMethod.h @@ -2,7 +2,7 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/algorithms/basic/ovpCHilbertTransform.h b/plugins/processing/signal-processing/src/algorithms/basic/ovpCHilbertTransform.h index c8a17688e295285e2101a000bc442be31f834e93..10b6acfc56157bcbab137cdf6be050efa46e2431 100644 --- a/plugins/processing/signal-processing/src/algorithms/basic/ovpCHilbertTransform.h +++ b/plugins/processing/signal-processing/src/algorithms/basic/ovpCHilbertTransform.h @@ -2,7 +2,7 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> #include <Eigen/Dense> diff --git a/plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.cpp b/plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.cpp deleted file mode 100644 index 5a216fe0b4e92a3c4ddf0a57f87b6987efcb9216..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.cpp +++ /dev/null @@ -1,230 +0,0 @@ -#if defined(TARGET_HAS_ThirdPartyITPP) - -#include "ovpCMatrixVariance.h" - -#include <cmath> - -// the boost version used at the moment of writing this caused 4800 by internal call to "int _isnan" in a bool-returning function. -#if defined(WIN32) -#pragma warning (disable : 4800) -#endif - -#include <boost/math/distributions/students_t.hpp> -#include <itpp/base/vec.h> -#include <itpp/base/math/elem_math.h> - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { - -bool CMatrixVariance::initialize() -{ - ip_averagingMethod.initialize(getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_AveragingMethod)); - ip_matrixCount.initialize(getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_MatrixCount)); - ip_significanceLevel.initialize(getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_SignificanceLevel)); - ip_matrix.initialize(getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_Matrix)); - op_averagedMatrix.initialize(getOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_AveragedMatrix)); - op_varianceMatrix.initialize(getOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_Variance)); - op_confidenceBound.initialize(getOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_ConfidenceBound)); - - return true; -} - -bool CMatrixVariance::uninitialize() -{ - for (auto it = m_history.begin(); it != m_history.end(); ++it) { delete *it; } - m_history.clear(); - - op_averagedMatrix.uninitialize(); - op_varianceMatrix.uninitialize(); - op_confidenceBound.uninitialize(); - ip_matrix.uninitialize(); - ip_matrixCount.uninitialize(); - ip_averagingMethod.uninitialize(); - ip_significanceLevel.uninitialize(); - - return true; -} - -// ________________________________________________________________________________________________________________ -// - -bool CMatrixVariance::process() -{ - CMatrix* iMatrix = ip_matrix; - //CMatrix* oMatrix=op_pAveragedMatrix; - - bool shouldPerformAverage = false; - - if (this->isInputTriggerActive(OVP_Algorithm_MatrixVariance_InputTriggerId_Reset)) - { - m_mean.set_size(int(ip_matrix->getBufferElementCount())); - m_mean.zeros(); - m_m.set_size(int(ip_matrix->getBufferElementCount())); - m_m.zeros(); - m_variance.set_size(int(ip_matrix->getBufferElementCount())); - m_variance.zeros(); - m_inputCounter = 0; - - for (auto it = m_history.begin(); it != m_history.end(); ++it) { delete *it; } - m_history.clear(); - - op_averagedMatrix->copyDescription(*iMatrix); - op_varianceMatrix->copyDescription(*iMatrix); - op_confidenceBound->copyDescription(*iMatrix); - } - - if (this->isInputTriggerActive(OVP_Algorithm_MatrixVariance_InputTriggerId_FeedMatrix)) - { - const int nElement = int(iMatrix->getBufferElementCount()); - if (ip_averagingMethod == size_t(EEpochAverageMethod::Moving)) - { - //CMatrix* swapMatrix= nullptr; - - if (m_history.size() >= ip_matrixCount) - { - delete m_history.front(); - m_history.pop_front(); - } - /*else - { - swapMatrix=new CMatrix(); - swapMatrix->copyDescription(*iMatrix); - }*/ - //swapMatrix->copyContent(*iMatrix); - - itpp::Vec<double>* matrices = new itpp::Vec<double>(iMatrix->getBuffer(), nElement); - m_history.push_back(matrices); - shouldPerformAverage = (m_history.size() == ip_matrixCount); - } - else if (ip_averagingMethod == size_t(EEpochAverageMethod::MovingImmediate)) - { - //CMatrix* swapMatrix= nullptr; - - if (m_history.size() >= ip_matrixCount) - { - delete m_history.front(); - m_history.pop_front(); - } - /*else - { - swapMatrix=new CMatrix(); - swapMatrix->copyDescription(*iMatrix); - }*/ - - //swapMatrix->copyContent(*iMatrix); - - itpp::Vec<double>* matrices = new itpp::Vec<double>(iMatrix->getBuffer(), nElement); - m_history.push_back(matrices); - shouldPerformAverage = (!m_history.empty()); - } - else if (ip_averagingMethod == size_t(EEpochAverageMethod::Block)) - { - //CMatrix* swapMatrix=new CMatrix(); - - if (m_history.size() >= ip_matrixCount) - { - for (auto it = m_history.begin(); it != m_history.end(); ++it) { delete *it; } - m_history.clear(); - } - - //swapMatrix->copy(*iMatrix); - - itpp::Vec<double>* matrices = new itpp::Vec<double>(iMatrix->getBuffer(), nElement); - m_history.push_back(matrices); - shouldPerformAverage = (m_history.size() == ip_matrixCount); - } - else if (ip_averagingMethod == size_t(EEpochAverageMethod::Cumulative)) - { - if (!m_history.empty()) - { - //std::cout << "size of history " << m_history.size() << "\n"; - delete m_history.front(); - m_history.pop_front(); - } - //else { std::cout << "history empty \n"; } - //CMatrix* swapMatrix=new CMatrix(); - //swapMatrix->copy(*iMatrix); - - itpp::Vec<double>* matrices = new itpp::Vec<double>(iMatrix->getBuffer(), nElement); - m_history.push_back(matrices); - shouldPerformAverage = (!m_history.empty()); - } - else { shouldPerformAverage = false; } - } - - if (shouldPerformAverage) - { - if (!m_history.empty()) - { - boost::math::students_t_distribution<double> distrib(2); - if (ip_averagingMethod == size_t(EEpochAverageMethod::Cumulative)) - { - //incremental estimation of mean and variance - for (auto it = m_history.begin(); it != m_history.end(); ++it) - { - m_inputCounter++; - itpp::Vec<double> buffer = **it; - itpp::Vec<double> delta = buffer - m_mean; - m_mean += delta / double(m_inputCounter); - m_m += elem_mult(delta, (buffer - m_mean)); - if (m_inputCounter > 1) { m_variance = m_m / double(m_inputCounter - 1); } - } - distrib = boost::math::students_t_distribution<double>(m_inputCounter <= 1 ? 1 : m_inputCounter - 1); - //CMatrix swapMatrix(); - //getLogManager() << Kernel::LogLevel_Info << "Variance first element " << m_Variance[0] << ", last element " << m_Variance[iMatrix->getBufferElementCount()-1] << "\n"; - - memcpy(op_averagedMatrix->getBuffer(), m_mean._data(), iMatrix->getBufferElementCount() * sizeof(double)); - memcpy(op_varianceMatrix->getBuffer(), m_variance._data(), iMatrix->getBufferElementCount() * sizeof(double)); - } - else - { - distrib = boost::math::students_t_distribution<double>(double(ip_matrixCount) - 1); - - op_varianceMatrix->resetBuffer(); - op_averagedMatrix->resetBuffer(); - - const size_t count = op_averagedMatrix->getBufferElementCount(); - const double scale = 1. / m_history.size(); - - for (auto& h : m_history) - { - //batch computation of mean - itpp::Vec<double> buffer = *h; - double* averageBuffer = op_averagedMatrix->getBuffer(); - for (int i = 0; i < int(count); ++i) - { - *averageBuffer += buffer[i] * scale; - averageBuffer++; - } - //batch computation of variance - averageBuffer = op_averagedMatrix->getBuffer(); - double* matrixVarianceBuffer = op_varianceMatrix->getBuffer(); - for (int i = 0; i < int(count); ++i) - { - *matrixVarianceBuffer += (buffer[i] - *(averageBuffer + i)) * (buffer[i] - *(averageBuffer + i)) / (m_history.size() - 1.0F); - matrixVarianceBuffer++; - } - } - m_variance = itpp::Vec<double>(op_averagedMatrix->getBuffer(), int(count)); - } - - //computing confidence bounds - const double q = double(quantile(complement(distrib, ip_significanceLevel / 2.0))); - getLogManager() << Kernel::LogLevel_Debug << "Quantile at " << ip_significanceLevel << " is " << q << "\n"; - itpp::Vec<double> bound; - if (ip_averagingMethod == size_t(EEpochAverageMethod::Cumulative)) { bound = (q / sqrt(double(m_inputCounter))) * itpp::sqrt(m_variance); } - else { bound = (q / double(ip_matrixCount)) * itpp::sqrt(m_variance); } - memcpy(op_confidenceBound->getBuffer(), bound._data(), iMatrix->getBufferElementCount() * sizeof(double)); - } - - this->activateOutputTrigger(OVP_Algorithm_MatrixVariance_OutputTriggerId_AveragePerformed, true); - } - - return true; -} - -#endif -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.h b/plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.h deleted file mode 100644 index 58c1589b510d566b1c6ee28337cbe739a965b3b2..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.h +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once - -#if defined(TARGET_HAS_ThirdPartyITPP) - -#include "../../ovp_defines.h" - -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -#include <itpp/base/vec.h> -#include <deque> - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { -class CMatrixVariance final : public Toolkit::TAlgorithm<IAlgorithm> -{ -public: - - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - - bool process() override; - - _IsDerivedFromClass_Final_(Toolkit::TAlgorithm<IAlgorithm>, OVP_ClassId_Algorithm_MatrixVariance) - -protected: - - Kernel::TParameterHandler<uint64_t> ip_averagingMethod; - Kernel::TParameterHandler<uint64_t> ip_matrixCount; - Kernel::TParameterHandler<double> ip_significanceLevel; - Kernel::TParameterHandler<CMatrix*> ip_matrix; - Kernel::TParameterHandler<CMatrix*> op_averagedMatrix; - Kernel::TParameterHandler<CMatrix*> op_varianceMatrix; - Kernel::TParameterHandler<CMatrix*> op_confidenceBound; - - std::deque<itpp::Vec<double>*> m_history; - - itpp::Vec<double> m_mean; - itpp::Vec<double> m_m; - itpp::Vec<double> m_variance; - size_t m_inputCounter = 0; -}; - -class CMatrixVarianceDesc final : public IAlgorithmDesc -{ -public: - - void release() override { } - - CString getName() const override { return CString("Matrix variance"); } - CString getAuthorName() const override { return CString("Dieter Devlaminck"); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - CString getShortDescription() const override { return CString(""); } - CString getDetailedDescription() const override { return CString(""); } - CString getCategory() const override { return CString("Signal processing/Basic"); } - CString getVersion() const override { return CString("1.0"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_Algorithm_MatrixVariance; } - IPluginObject* create() override { return new CMatrixVariance(); } - - bool getAlgorithmPrototype(Kernel::IAlgorithmProto& prototype) const override - { - prototype.addInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_Matrix, "Matrix", Kernel::ParameterType_Matrix); - prototype.addInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_MatrixCount, "Matrix count", Kernel::ParameterType_UInteger); - prototype.addInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_SignificanceLevel, "Significance Level", Kernel::ParameterType_UInteger); - prototype.addInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_AveragingMethod, "Averaging Method", Kernel::ParameterType_UInteger); - - prototype.addOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_AveragedMatrix, "Averaged matrix", Kernel::ParameterType_Matrix); - prototype.addOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_Variance, "Matrix variance", Kernel::ParameterType_Matrix); - prototype.addOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_ConfidenceBound, "Confidence bound", Kernel::ParameterType_Matrix); - - prototype.addInputTrigger(OVP_Algorithm_MatrixVariance_InputTriggerId_Reset, "Reset"); - prototype.addInputTrigger(OVP_Algorithm_MatrixVariance_InputTriggerId_FeedMatrix, "Feed matrix"); - prototype.addInputTrigger(OVP_Algorithm_MatrixVariance_InputTriggerId_ForceAverage, "Force average"); - - prototype.addOutputTrigger(OVP_Algorithm_MatrixVariance_OutputTriggerId_AveragePerformed, "Average performed"); - - return true; - } - - _IsDerivedFromClass_Final_(IAlgorithmDesc, OVP_ClassId_Algorithm_MatrixVarianceDesc) -}; -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE - -#endif diff --git a/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.cpp b/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.cpp index 4033d5ff46e524cc87388397b8da58677116cc13..23293ac1c59db7c7729b3a0ed71e0bbc4adc2490 100644 --- a/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.cpp +++ b/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.cpp @@ -24,7 +24,6 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) #include "windowFunctions.hpp" -#include <iostream> namespace OpenViBE { namespace Plugins { diff --git a/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.hpp b/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.hpp index 787f16280897e97039d96bb9e1a43d3736b8f40f..84e987485e63de441d3216ca4135f21c7abfbeb9 100644 --- a/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.hpp +++ b/plugins/processing/signal-processing/src/algorithms/basic/windowFunctions.hpp @@ -25,10 +25,8 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) -#include <openvibe/ov_all.h> #include <Eigen/Dense> - namespace OpenViBE { namespace Plugins { namespace SignalProcessing { diff --git a/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.cpp b/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.cpp index 73fed1e6e097cca82ee1825de6abedc63c35ab7a..6f8ca15b158f38cbf5802657fbde9c26cbec1da9 100644 --- a/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.cpp +++ b/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.cpp @@ -1,7 +1,7 @@ ///------------------------------------------------------------------------------------------------- /// -/// \file connectivityMeasureMetrics.cpp -/// \brief All connectivity metrics. +/// \file connectivityMeasure.cpp +/// \brief All connectivity measure metrics. /// \author Arthur Desbois (Inria). /// \version 1.0 /// \date 30/10/2020 @@ -24,8 +24,6 @@ #include <cmath> #include <complex> -#include <iostream> - #include <Eigen/Dense> #include <unsupported/Eigen/FFT> diff --git a/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.hpp b/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.hpp index f636f41c3726d0726e4b314b7e9cc1c189c7b975..1e78c8ae3572e72bd66e4108135e7ab844e45c6e 100644 --- a/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.hpp +++ b/plugins/processing/signal-processing/src/algorithms/connectivity/connectivityMeasure.hpp @@ -1,7 +1,7 @@ ///------------------------------------------------------------------------------------------------- /// -/// \file connectivityMeasureMetrics.hpp -/// \brief All connectivity metrics. +/// \file connectivityMeasure.hpp +/// \brief All connectivity measure metrics. /// \author Arthur Desbois (Inria). /// \version 1.0 /// \date 30/10/2020 diff --git a/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.cpp b/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.cpp index cbcc4a43047be30aadb39a9f1a0fdf89d6a8b822..cb90a46eaa76895d6861d49fbc88d13607f57959 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.cpp +++ b/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.cpp @@ -32,14 +32,15 @@ bool CBoxAlgorithmMatrix3dTo2d::initialize() { m_matrixDecoder.initialize(*this, 0); m_matrixEncoder.initialize(*this, 0); - + m_iMatrix = m_matrixDecoder.getOutputMatrix(); m_oMatrix = m_matrixEncoder.getInputMatrix(); - m_dimensionToRemove = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0)); - m_removedDimensionIdx = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1)); + m_dimensionToRemove = size_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0)); + m_removedDimensionIdx = size_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1)); - OV_ERROR_UNLESS_KRF(m_dimensionToRemove == 0 || m_dimensionToRemove == 1 || m_dimensionToRemove == 2, "Invalid dimension number", Kernel::ErrorType::BadInput); + OV_ERROR_UNLESS_KRF(m_dimensionToRemove == 0 || m_dimensionToRemove == 1 || m_dimensionToRemove == 2, "Invalid dimension number", + Kernel::ErrorType::BadSetting); return true; } @@ -55,7 +56,7 @@ bool CBoxAlgorithmMatrix3dTo2d::uninitialize() /*******************************************************************************/ -bool CBoxAlgorithmMatrix3dTo2d::processInput(const size_t index) +bool CBoxAlgorithmMatrix3dTo2d::processInput(const size_t /*index*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; @@ -66,97 +67,87 @@ bool CBoxAlgorithmMatrix3dTo2d::processInput(const size_t index) bool CBoxAlgorithmMatrix3dTo2d::process() { - const Kernel::IBox& staticBoxContext=this->getStaticBoxContext(); - Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); + Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) { m_matrixDecoder.decode(i); - if(m_matrixDecoder.isHeaderReceived()) - { + if (m_matrixDecoder.isHeaderReceived()) { OV_ERROR_UNLESS_KRF(m_iMatrix->getDimensionCount() == 3, "Input matrix should have 3 dimensions", Kernel::ErrorType::BadInput); m_dim0Size = m_iMatrix->getDimensionSize(0); m_dim1Size = m_iMatrix->getDimensionSize(1); m_dim2Size = m_iMatrix->getDimensionSize(2); - switch(m_dimensionToRemove) { + switch (m_dimensionToRemove) { case 0: OV_ERROR_UNLESS_KRF(m_dim0Size > m_removedDimensionIdx, "Idx in removed dimension over dimension size", Kernel::ErrorType::BadInput); - MatrixInit(*m_oMatrix, m_dim1Size, m_dim2Size); + m_oMatrix->resize(m_dim1Size, m_dim2Size); break; case 1: OV_ERROR_UNLESS_KRF(m_dim1Size > m_removedDimensionIdx, "Idx in removed dimension over dimension size", Kernel::ErrorType::BadInput); - MatrixInit(*m_oMatrix, m_dim0Size, m_dim2Size); + m_oMatrix->resize(m_dim0Size, m_dim2Size); break; case 2: OV_ERROR_UNLESS_KRF(m_dim2Size > m_removedDimensionIdx, "Idx in removed dimension over dimension size", Kernel::ErrorType::BadInput); - MatrixInit(*m_oMatrix, m_dim0Size, m_dim1Size); + m_oMatrix->resize(m_dim0Size, m_dim1Size); break; + default: return false; } m_matrixEncoder.encodeHeader(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); } - if(m_matrixDecoder.isBufferReceived()) - { - RemoveDimension(*m_iMatrix, *m_oMatrix); + if (m_matrixDecoder.isBufferReceived()) { + removeDimension(*m_iMatrix, *m_oMatrix); - this->getLogManager() << Kernel::LogLevel_Debug<< "Received matrix with dimensions " << m_iMatrix->getDimensionSize(0) << " x " << m_iMatrix->getDimensionSize(1) << " x " << m_iMatrix->getDimensionSize(2) << "\n"; - this->getLogManager() << Kernel::LogLevel_Debug << "Output matrix has dimensions " << m_oMatrix->getDimensionSize(0) << " x " << m_oMatrix->getDimensionSize(1) << "\n"; + this->getLogManager() << Kernel::LogLevel_Debug << "Received matrix with dimensions " << m_iMatrix->getDimensionSize(0) << " x " << m_iMatrix-> + getDimensionSize(1) << " x " << m_iMatrix->getDimensionSize(2) << "\n"; + this->getLogManager() << Kernel::LogLevel_Debug << "Output matrix has dimensions " << m_oMatrix->getDimensionSize(0) << " x " << m_oMatrix-> + getDimensionSize(1) << "\n"; m_matrixEncoder.encodeBuffer(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); - } - if(m_matrixDecoder.isEndReceived()) - { + if (m_matrixDecoder.isEndReceived()) { m_matrixEncoder.encodeEnd(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); } } - - return true; -} -bool CBoxAlgorithmMatrix3dTo2d::MatrixInit(IMatrix& out, const size_t dim0, const size_t dim1) -{ - out.setDimensionCount(2); - out.setDimensionSize(0, dim0); - out.setDimensionSize(1, dim1); return true; } -bool CBoxAlgorithmMatrix3dTo2d::RemoveDimension(const IMatrix& in, IMatrix& out) +bool CBoxAlgorithmMatrix3dTo2d::removeDimension(const CMatrix& in, CMatrix& out) const { size_t idxOutBuffer = 0; const double* inBuffer = in.getBuffer(); - double* outBuffer = out.getBuffer(); + double* outBuffer = out.getBuffer(); - switch(m_dimensionToRemove) { + switch (m_dimensionToRemove) { case 0: - for(size_t idx1 = 0; idx1 < m_dim1Size; idx1++) { - for(size_t idx2 = 0; idx2 < m_dim2Size; idx2++) { - outBuffer[idxOutBuffer++] = inBuffer[m_removedDimensionIdx*m_dim1Size*m_dim2Size + idx1*m_dim2Size + idx2]; + for (size_t idx1 = 0; idx1 < m_dim1Size; idx1++) { + for (size_t idx2 = 0; idx2 < m_dim2Size; idx2++) { + outBuffer[idxOutBuffer++] = inBuffer[m_removedDimensionIdx * m_dim1Size * m_dim2Size + idx1 * m_dim2Size + idx2]; } } break; case 1: - for(size_t idx0 = 0; idx0 < m_dim0Size; idx0++) { - for(size_t idx2 = 0; idx2 < m_dim2Size; idx2++) { - outBuffer[idxOutBuffer++] = inBuffer[idx0*m_dim1Size*m_dim2Size + m_removedDimensionIdx*m_dim2Size + idx2]; + for (size_t idx0 = 0; idx0 < m_dim0Size; idx0++) { + for (size_t idx2 = 0; idx2 < m_dim2Size; idx2++) { + outBuffer[idxOutBuffer++] = inBuffer[idx0 * m_dim1Size * m_dim2Size + m_removedDimensionIdx * m_dim2Size + idx2]; } } break; case 2: - for(size_t idx0 = 0; idx0 < m_dim0Size; idx0++) { - for(size_t idx1 = 0; idx1 < m_dim1Size; idx1++) { - outBuffer[idxOutBuffer++] = inBuffer[idx0*m_dim1Size*m_dim2Size + idx1*m_dim2Size + m_removedDimensionIdx]; + for (size_t idx0 = 0; idx0 < m_dim0Size; idx0++) { + for (size_t idx1 = 0; idx1 < m_dim1Size; idx1++) { + outBuffer[idxOutBuffer++] = inBuffer[idx0 * m_dim1Size * m_dim2Size + idx1 * m_dim2Size + m_removedDimensionIdx]; } } break; + default: return false; } diff --git a/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.hpp b/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.hpp index d920b475e2230b7cba4755be7032dd5aaf2e286b..e6c5b04371fd68b63a6ae6c87b5ca3f631ac834c 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.hpp +++ b/plugins/processing/signal-processing/src/box-algorithms/CBoxAlgorithmMatrix3dTo2d.hpp @@ -24,7 +24,7 @@ #pragma once -#include "ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> @@ -40,37 +40,32 @@ public: void release() override { delete this; } bool initialize() override; - bool uninitialize() override; bool processInput(const size_t index) override; - bool process() override; _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_Matrix3dTo2d) protected: // Codecs - Toolkit::TStreamedMatrixDecoder <CBoxAlgorithmMatrix3dTo2d> m_matrixDecoder; - Toolkit::TStreamedMatrixEncoder <CBoxAlgorithmMatrix3dTo2d> m_matrixEncoder; + Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmMatrix3dTo2d> m_matrixDecoder; + Toolkit::TStreamedMatrixEncoder<CBoxAlgorithmMatrix3dTo2d> m_matrixEncoder; // Matrices CMatrix* m_iMatrix = nullptr; CMatrix* m_oMatrix = nullptr; // Parameters - int m_dimensionToRemove; - int m_removedDimensionIdx; + size_t m_dimensionToRemove = 0; + size_t m_removedDimensionIdx = 0; - size_t m_dim0Size; - size_t m_dim1Size; - size_t m_dim2Size; + size_t m_dim0Size = 0; + size_t m_dim1Size = 0; + size_t m_dim2Size = 0; private: - bool MatrixInit(CMatrix& m, const size_t dim0, const size_t dim1); - - bool RemoveDimension(const CMatrix& in, CMatrix& out); - + bool removeDimension(const CMatrix& in, CMatrix& out) const; }; @@ -79,17 +74,16 @@ class CBoxAlgorithmMatrix3dTo2dDesc final : virtual public IBoxAlgorithmDesc { public: - void release() override - {} - - CString getName() const override { return CString("Matrix 3D to 2D"); } - CString getAuthorName() const override { return CString("Arthur Desbois"); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - CString getShortDescription() const override { return CString("Convert 3D matrices to 2D"); } - CString getDetailedDescription() const override { return CString("Convert 3 dimensional matrices to 2D matrices, by selecting a dimension to remove"); } - CString getCategory() const override { return CString("Signal processing/Basic"); } - CString getVersion() const override { return CString("0.0.1"); } - CString getStockItemName() const override { return CString(""); } + void release() override {} + + CString getName() const override { return "Matrix 3D to 2D"; } + CString getAuthorName() const override { return "Arthur Desbois"; } + CString getAuthorCompanyName() const override { return "Inria"; } + CString getShortDescription() const override { return "Convert 3D matrices to 2D"; } + CString getDetailedDescription() const override { return "Convert 3 dimensional matrices to 2D matrices, by selecting a dimension to remove"; } + CString getCategory() const override { return "Signal processing/Basic"; } + CString getVersion() const override { return "0.0.1"; } + CString getStockItemName() const override { return ""; } CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_Matrix3dTo2d; } IPluginObject* create() override { return new CBoxAlgorithmMatrix3dTo2d; } @@ -98,8 +92,8 @@ public: prototype.addInput("input", OV_TypeId_StreamedMatrix); prototype.addOutput("output", OV_TypeId_StreamedMatrix); - prototype.addSetting("Dimension to remove", OV_TypeId_Integer, ""); - prototype.addSetting("Index in removed dimension", OV_TypeId_Integer, ""); + prototype.addSetting("Dimension to remove", OV_TypeId_Integer, "0"); + prototype.addSetting("Index in removed dimension", OV_TypeId_Integer, "0"); prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxEpochVariance.cpp b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxEpochVariance.cpp new file mode 100644 index 0000000000000000000000000000000000000000..00231af0dc775b51afe438c964581f2415701046 --- /dev/null +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxEpochVariance.cpp @@ -0,0 +1,158 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxEpochVariance.cpp +/// \brief Definition of Classes of the box Epoch variance. +/// \author Dieter Devlaminck & Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 11/11/2021. +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#include "CBoxEpochVariance.hpp" + +namespace OpenViBE { +namespace Plugins { +namespace SignalProcessing { + +bool CBoxEpochVariance::initialize() +{ + // ---------- Input/Outputs ---------- + CIdentifier type; + getStaticBoxContext().getInputType(0, type); + if (type == OV_TypeId_Signal) { + m_decoder = new Toolkit::TSignalDecoder<CBoxEpochVariance>(*this, 0); + m_encoderAverage = new Toolkit::TSignalEncoder<CBoxEpochVariance>(*this, 0); + m_encoderVariance = new Toolkit::TSignalEncoder<CBoxEpochVariance>(*this, 1); + m_encoderConfidence = new Toolkit::TSignalEncoder<CBoxEpochVariance>(*this, 2); + } + else if (type == OV_TypeId_StreamedMatrix) { + m_decoder = new Toolkit::TStreamedMatrixDecoder<CBoxEpochVariance>(*this, 0); + m_encoderAverage = new Toolkit::TStreamedMatrixEncoder<CBoxEpochVariance>(*this, 0); + m_encoderVariance = new Toolkit::TStreamedMatrixEncoder<CBoxEpochVariance>(*this, 1); + m_encoderConfidence = new Toolkit::TStreamedMatrixEncoder<CBoxEpochVariance>(*this, 2); + } + else if (type == OV_TypeId_Spectrum) { + m_decoder = new Toolkit::TSpectrumDecoder<CBoxEpochVariance>(*this, 0); + m_encoderAverage = new Toolkit::TSpectrumEncoder<CBoxEpochVariance>(*this, 0); + m_encoderVariance = new Toolkit::TSpectrumEncoder<CBoxEpochVariance>(*this, 1); + m_encoderConfidence = new Toolkit::TSpectrumEncoder<CBoxEpochVariance>(*this, 2); + } + else if (type == OV_TypeId_FeatureVector) { + m_decoder = new Toolkit::TFeatureVectorDecoder<CBoxEpochVariance>(*this, 0); + m_encoderAverage = new Toolkit::TFeatureVectorEncoder<CBoxEpochVariance>(*this, 0); + m_encoderVariance = new Toolkit::TFeatureVectorEncoder<CBoxEpochVariance>(*this, 1); + m_encoderConfidence = new Toolkit::TFeatureVectorEncoder<CBoxEpochVariance>(*this, 2); + } + else { return false; } + + // Links + if (type == OV_TypeId_Signal || type == OV_TypeId_Spectrum) { + m_encoderAverage.getInputSamplingRate().setReferenceTarget(m_decoder.getOutputSamplingRate()); + m_encoderVariance.getInputSamplingRate().setReferenceTarget(m_decoder.getOutputSamplingRate()); + m_encoderConfidence.getInputSamplingRate().setReferenceTarget(m_decoder.getOutputSamplingRate()); + + if (type == OV_TypeId_Spectrum) { + m_encoderAverage.getInputFrequencyAbcissa().setReferenceTarget(m_decoder.getOutputFrequencyAbcissa()); + m_encoderVariance.getInputFrequencyAbcissa().setReferenceTarget(m_decoder.getOutputFrequencyAbcissa()); + m_encoderConfidence.getInputFrequencyAbcissa().setReferenceTarget(m_decoder.getOutputFrequencyAbcissa()); + } + } + + m_iMatrix = m_decoder.getOutputMatrix(); + m_oMatrixAverage = m_encoderAverage.getInputMatrix(); + m_oMatrixVariance = m_encoderVariance.getInputMatrix(); + m_oMatrixConfidence = m_encoderConfidence.getInputMatrix(); + + // ---------- Settings ---------- + + const EEpochAverageMethod averagingMethod = EEpochAverageMethod(uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0))); + const size_t matrixCount = uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1)); + const double significanceLevel = double(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2)); + + m_variance.initialize(averagingMethod, matrixCount, significanceLevel); + + if (matrixCount <= 0) { + getLogManager() << Kernel::LogLevel_Error << "You should provide a positive number of epochs better than " << matrixCount << "\n"; + return false; + } + + return true; +} + +bool CBoxEpochVariance::uninitialize() +{ + m_decoder.uninitialize(); + m_encoderAverage.uninitialize(); + m_encoderVariance.uninitialize(); + m_encoderConfidence.uninitialize(); + return true; +} + +bool CBoxEpochVariance::processInput(const size_t /*index*/) +{ + getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); + return true; +} + +bool CBoxEpochVariance::process() +{ + Kernel::IBoxIO& boxCtx = getDynamicBoxContext(); + + for (size_t i = 0; i < boxCtx.getInputChunkCount(0); ++i) { + m_decoder.decode(i); + const uint64_t start = boxCtx.getInputChunkStartTime(0, i), end = boxCtx.getInputChunkEndTime(0, i); + + if (m_decoder.isHeaderReceived()) { + m_variance.processHeader(m_iMatrix->getBufferElementCount()); + + m_oMatrixAverage->copyDescription(*m_iMatrix); + m_oMatrixVariance->copyDescription(*m_iMatrix); + m_oMatrixConfidence->copyDescription(*m_iMatrix); + + m_encoderAverage.encodeHeader(); + m_encoderVariance.encodeHeader(); + m_encoderConfidence.encodeHeader(); + + boxCtx.markOutputAsReadyToSend(0, start, end); + boxCtx.markOutputAsReadyToSend(1, start, end); + boxCtx.markOutputAsReadyToSend(2, start, end); + } + if (m_decoder.isBufferReceived()) { + if (m_variance.process(m_iMatrix, m_oMatrixAverage, m_oMatrixVariance, m_oMatrixConfidence)) { + m_encoderAverage.encodeBuffer(); + m_encoderVariance.encodeBuffer(); + m_encoderConfidence.encodeBuffer(); + boxCtx.markOutputAsReadyToSend(0, start, end); + boxCtx.markOutputAsReadyToSend(1, start, end); + boxCtx.markOutputAsReadyToSend(2, start, end); + } + } + if (m_decoder.isEndReceived()) { + m_encoderAverage.encodeEnd(); + m_encoderVariance.encodeEnd(); + m_encoderConfidence.encodeEnd(); + + boxCtx.markOutputAsReadyToSend(0, start, end); + boxCtx.markOutputAsReadyToSend(1, start, end); + boxCtx.markOutputAsReadyToSend(2, start, end); + } + } + + return true; +} +} // namespace SignalProcessing +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxEpochVariance.hpp b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxEpochVariance.hpp new file mode 100644 index 0000000000000000000000000000000000000000..db2fea3bfa037053875936386ac21de7b5948883 --- /dev/null +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxEpochVariance.hpp @@ -0,0 +1,121 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxEpochVariance.hpp +/// \brief Classes of the box Epoch variance. +/// \author Dieter Devlaminck & Thibaut Monseigne (Inria). +/// \version 1.0. +/// \date 11/11/2021. +/// \copyright (C) 2021 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#pragma once + +#include "defines.hpp" + +#include <openvibe/ov_all.h> +#include <toolkit/ovtk_all.h> +#include "CMatrixVariance.hpp" + +namespace OpenViBE { +namespace Plugins { +namespace SignalProcessing { +class CBoxEpochVariance final : public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +{ +public: + + void release() override { delete this; } + + bool initialize() override; + bool uninitialize() override; + + bool processInput(const size_t index) override; + bool process() override; + + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_EpochVariance) + +protected: + + Toolkit::TGenericDecoder<CBoxEpochVariance> m_decoder; + Toolkit::TGenericEncoder<CBoxEpochVariance> m_encoderAverage, m_encoderVariance, m_encoderConfidence; + CMatrix* m_iMatrix = nullptr; + CMatrix* m_oMatrixAverage = nullptr; + CMatrix* m_oMatrixVariance = nullptr; + CMatrix* m_oMatrixConfidence = nullptr; + + CMatrixVariance m_variance; +}; + +class CBoxEpochVarianceListener final : public Toolkit::TBoxListener<IBoxListener> +{ +public: + + bool onInputTypeChanged(Kernel::IBox& box, const size_t index) override + { + CIdentifier typeID = CIdentifier::undefined(); + box.getInputType(index, typeID); + for (size_t i = 0; i < box.getOutputCount(); ++i) { box.setOutputType(i, typeID); } + return true; + } + + _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) +}; + +class CBoxEpochVarianceDesc final : public IBoxAlgorithmDesc +{ +public: + + void release() override { } + CString getName() const override { return "Epoch variance"; } + CString getAuthorName() const override { return "Dieter Devlaminck & Thibaut Monseigne"; } + CString getAuthorCompanyName() const override { return "Inria"; } + CString getShortDescription() const override { return "Computes variance of each sample over several epochs"; } + CString getDetailedDescription() const override { return ""; } + CString getCategory() const override { return "Signal processing/Basic"; } + CString getVersion() const override { return "1.0"; } + CString getStockItemName() const override { return "gtk-execute"; } + + CIdentifier getCreatedClass() const override { return Box_EpochVariance; } + IPluginObject* create() override { return new CBoxEpochVariance(); } + + IBoxListener* createBoxListener() const override { return new CBoxEpochVarianceListener; } + void releaseBoxListener(IBoxListener* listener) const override { delete listener; } + + bool getBoxPrototype(Kernel::IBoxProto& prototype) const override + { + prototype.addInput("Input epochs", OV_TypeId_StreamedMatrix); + + prototype.addOutput("Averaged epochs", OV_TypeId_StreamedMatrix); + prototype.addOutput("Variance of epochs", OV_TypeId_StreamedMatrix); + prototype.addOutput("Confidence bounds", OV_TypeId_StreamedMatrix); + + prototype.addSetting("Averaging type", OVP_TypeId_EpochAverageMethod, "Moving epoch average"); + prototype.addSetting("Epoch count", OV_TypeId_Integer, "4"); + prototype.addSetting("Significance level", OV_TypeId_Float, "0.01"); + + prototype.addFlag(Kernel::BoxFlag_CanModifyInput); + prototype.addInputSupport(OV_TypeId_StreamedMatrix); + prototype.addInputSupport(OV_TypeId_FeatureVector); + prototype.addInputSupport(OV_TypeId_Signal); + prototype.addInputSupport(OV_TypeId_Spectrum); + + return true; + } + + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_EpochVarianceDesc) +}; +} // namespace SignalProcessing +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.cpp b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxIFFT.cpp similarity index 57% rename from plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.cpp rename to plugins/processing/signal-processing/src/box-algorithms/basic/CBoxIFFT.cpp index fdcd80f60aa00b06eed1c90dcd65988d9d3bb72f..005b491836c572becdb2ad4723f93734e3aafdb1 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.cpp +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxIFFT.cpp @@ -1,29 +1,49 @@ -#if defined TARGET_HAS_ThirdPartyITPP - -//#define __OpenViBEPlugins_BoxAlgorithm_IFFTbox_CPP__ -// to get ifft: -#include <itpp/itsignal.h> -#include "ovpCBoxAlgorithmIFFTbox.h" +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxIFFT.cpp +/// \brief Class of the box that inverse the Fast Fourier Transform. +/// \author Guillermo Andrade B. (Inria). +/// \version 1.0. +/// \date 20/01/2012. +/// \copyright (C) 2022 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#include "CBoxIFFT.hpp" namespace OpenViBE { namespace Plugins { namespace SignalProcessing { - -bool CBoxAlgorithmIFFTbox::initialize() +//-------------------------------------------------------------------------------- +bool CBoxIFFT::initialize() { m_decoder[0].initialize(*this, 0); // Spectrum stream real part decoder m_decoder[1].initialize(*this, 1); // Spectrum stream imaginary part decoder m_encoder.initialize(*this, 0); // Signal stream encoder m_nSample = 0; + m_nChannel = 0; m_headerSent = false; return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmIFFTbox::uninitialize() +//-------------------------------------------------------------------------------- +bool CBoxIFFT::uninitialize() { m_decoder[0].uninitialize(); m_decoder[1].uninitialize(); @@ -31,8 +51,10 @@ bool CBoxAlgorithmIFFTbox::uninitialize() return true; } +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmIFFTbox::processInput(const size_t /*index*/) +//-------------------------------------------------------------------------------- +bool CBoxIFFT::processInput(const size_t /*index*/) { IDynamicBoxContext& boxContext = this->getDynamicBoxContext(); const size_t nInput = this->getStaticBoxContext().getInputCount(); @@ -40,12 +62,10 @@ bool CBoxAlgorithmIFFTbox::processInput(const size_t /*index*/) if (boxContext.getInputChunkCount(0) == 0) { return true; } const uint64_t start = boxContext.getInputChunkStartTime(0, 0); const uint64_t end = boxContext.getInputChunkEndTime(0, 0); - for (size_t i = 1; i < nInput; ++i) - { + for (size_t i = 1; i < nInput; ++i) { if (boxContext.getInputChunkCount(i) == 0) { return true; } - if (start != boxContext.getInputChunkStartTime(i, 0) || end != boxContext.getInputChunkEndTime(i, 0)) - { + if (start != boxContext.getInputChunkStartTime(i, 0) || end != boxContext.getInputChunkEndTime(i, 0)) { OV_WARNING_K("Chunk dates mismatch, check stream structure or parameters"); return false; } @@ -55,38 +75,33 @@ bool CBoxAlgorithmIFFTbox::processInput(const size_t /*index*/) return true; } -/*******************************************************************************/ +//-------------------------------------------------------------------------------- -bool CBoxAlgorithmIFFTbox::process() +//-------------------------------------------------------------------------------- +bool CBoxIFFT::process() { // the dynamic box context describes the current state of the box inputs and outputs (i.e. the chunks) Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); const size_t nInput = this->getStaticBoxContext().getInputCount(); - size_t nHeader = 0; - size_t nBuffer = 0; - size_t nEnd = 0; + size_t nHeader = 0, nBuffer = 0, nEnd = 0; - for (size_t i = 0; i < nInput; ++i) - { + for (size_t i = 0; i < nInput; ++i) { m_decoder[i].decode(0); - if (m_decoder[i].isHeaderReceived()) - { + if (m_decoder[i].isHeaderReceived()) { //detect if header of other input is already received - if (0 == nHeader) - { + if (nHeader == 0) { // Header received. This happens only once when pressing "play". For example with a StreamedMatrix input, you now know the dimension count, sizes, and labels of the matrix // ... maybe do some process ... - m_channelsNumber = m_decoder[i].getOutputMatrix()->getDimensionSize(0); - m_nSample = m_decoder[i].getOutputMatrix()->getDimensionSize(1); - OV_ERROR_UNLESS_KRF(m_channelsNumber > 0 && m_nSample > 0, "Both dims of the input matrix must have positive size", + m_nChannel = m_decoder[i].getOutputMatrix()->getDimensionSize(0); + m_nSample = m_decoder[i].getOutputMatrix()->getDimensionSize(1); + OV_ERROR_UNLESS_KRF(m_nChannel > 0 && m_nSample > 0, "Both dims of the input matrix must have positive size", Kernel::ErrorType::BadProcessing); m_nSample = (m_nSample - 1) * 2; if (m_nSample == 0) { m_nSample = 1; } } - else - { + else { OV_ERROR_UNLESS_KRF( m_decoder[0].getOutputMatrix()->isDescriptionEqual(*m_decoder[i].getOutputMatrix(), false), "The matrix components of the two streams have different properties, check stream structures or parameters", @@ -117,27 +132,23 @@ bool CBoxAlgorithmIFFTbox::process() if (m_decoder[i].isEndReceived()) { nEnd++; } } - if ((nHeader && nHeader != nInput) || (nBuffer && nBuffer != nInput) || (nEnd && nEnd != nInput)) - { + if ((nHeader != 0 && nHeader != nInput) || (nBuffer != 0 && nBuffer != nInput) || (nEnd != 0 && nEnd != nInput)) { OV_WARNING_K("Stream structure mismatch"); return false; } - if (nBuffer) - { + if (nBuffer != 0) { OV_ERROR_UNLESS_KRF(m_nSample, "Received buffer before header, shouldn't happen\n", Kernel::ErrorType::BadProcessing); - if (!m_headerSent) - { - m_signalBuffer.set_size(int(m_nSample)); - m_frequencyBuffer.set_size(int(m_nSample)); + if (!m_headerSent) { + m_frequencies.resize(m_nSample); + m_signal.resize(m_nSample); m_encoder.getInputSamplingRate() = m_decoder[0].getOutputSamplingRate(); - m_encoder.getInputMatrix()->resize(m_channelsNumber, m_nSample); - for (size_t channel = 0; channel < m_channelsNumber; ++channel) - { - m_encoder.getInputMatrix()->setDimensionLabel( - 0, channel, m_decoder[0].getOutputMatrix()->getDimensionLabel(0, channel)); + m_encoder.getInputMatrix()->resize(m_nChannel, m_nSample); + for (size_t c = 0; c < m_nChannel; ++c) { + OV_ERROR_UNLESS_KRF(m_encoder.getInputMatrix()->setDimensionLabel(0, c, m_decoder[0].getOutputMatrix()->getDimensionLabel(0, c)), + "Channel number mismatch\n", Kernel::ErrorType::BadProcessing); } // Pass the header to the next boxes, by encoding a header on the output 0: @@ -148,27 +159,24 @@ bool CBoxAlgorithmIFFTbox::process() m_headerSent = true; } - const double* bufferInput0 = m_decoder[0].getOutputMatrix()->getBuffer(); - const double* bufferInput1 = m_decoder[1].getOutputMatrix()->getBuffer(); + const double* realBuffer = m_decoder[0].getOutputMatrix()->getBuffer(); + const double* imagBuffer = m_decoder[1].getOutputMatrix()->getBuffer(); - for (size_t channel = 0; channel < m_channelsNumber; ++channel) - { - for (size_t j = 0; j < m_nSample; ++j) - { - m_frequencyBuffer[j].real(bufferInput0[int(channel * m_nSample + j)]); - m_frequencyBuffer[j].imag(bufferInput1[int(channel * m_nSample + j)]); + for (size_t c = 0; c < m_nChannel; ++c) { + for (size_t j = 0; j < m_nSample; ++j) { + m_frequencies[j].real(realBuffer[c * m_nSample + j]); + m_frequencies[j].imag(imagBuffer[c * m_nSample + j]); } - m_signalBuffer = ifft_real(m_frequencyBuffer); + m_fft.inv(m_signal, m_frequencies); double* bufferOutput = m_encoder.getInputMatrix()->getBuffer(); - for (size_t j = 0; j < m_nSample; ++j) { bufferOutput[int(channel * m_nSample + j)] = m_signalBuffer[j]; } + for (size_t j = 0; j < m_nSample; ++j) { bufferOutput[c * m_nSample + j] = m_signal[j]; } } m_encoder.encodeBuffer(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, 0), boxContext.getInputChunkEndTime(0, 0)); } - if (nEnd) - { + if (nEnd != 0) { // End of stream received. This happens only once when pressing "stop". Just pass it to the next boxes so they receive the message : m_encoder.encodeEnd(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, 0), boxContext.getInputChunkEndTime(0, 0)); @@ -176,8 +184,8 @@ bool CBoxAlgorithmIFFTbox::process() return true; } +//-------------------------------------------------------------------------------- -#endif //TARGET_HAS_ThirdPartyITPP } // namespace SignalProcessing } // namespace Plugins } // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxIFFT.hpp b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxIFFT.hpp new file mode 100644 index 0000000000000000000000000000000000000000..1e896daada16397e88f14ab2075f1be27c117398 --- /dev/null +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/CBoxIFFT.hpp @@ -0,0 +1,101 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxIFFT.hpp +/// \brief Class of the box that inverse the Fast Fourier Transform. +/// \author Guillermo Andrade B. (Inria). +/// \version 1.0. +/// \date 20/01/2012. +/// \copyright (C) 2022 INRIA +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- +#pragma once + +#include "defines.hpp" + +#include <openvibe/ov_all.h> +#include <toolkit/ovtk_all.h> + +#include <array> +#include <complex> +#include <unsupported/Eigen/FFT> + +namespace OpenViBE { +namespace Plugins { +namespace SignalProcessing { +/// <summary> The class CBoxIFFT describes the box IFFT. </summary> +class CBoxIFFT final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +{ +public: + void release() override { delete this; } + + bool initialize() override; + bool uninitialize() override; + + bool processInput(const size_t index) override; + bool process() override; + + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, Box_IFFT) + +protected: + // Codec algorithms specified in the skeleton-generator: + std::array<Toolkit::TSpectrumDecoder<CBoxIFFT>, 2> m_decoder; + Toolkit::TSignalEncoder<CBoxIFFT> m_encoder; + + size_t m_nSample = 0; + size_t m_nChannel = 0; + bool m_headerSent = false; + + Eigen::FFT<double> m_fft; ///< Instance of the fft transform + std::vector<std::complex<double>> m_frequencies; + std::vector<double> m_signal; +}; + +/// <summary> Descriptor of the box IFFT. </summary> +class CBoxIFFTDesc final : virtual public IBoxAlgorithmDesc +{ +public: + + void release() override { } + + CString getName() const override { return "IFFT"; } + CString getAuthorName() const override { return "Guillermo Andrade B."; } + CString getAuthorCompanyName() const override { return "INRIA"; } + CString getShortDescription() const override { return "Compute Inverse Fast Fourier Transformation"; } + CString getDetailedDescription() const override { return "Compute Inverse Fast Fourier Transformation"; } + CString getCategory() const override { return "Signal processing/Spectral Analysis"; } + CString getVersion() const override { return "1.0"; } + CString getStockItemName() const override { return "gtk-execute"; } + + CIdentifier getCreatedClass() const override { return Box_IFFT; } + IPluginObject* create() override { return new CBoxIFFT; } + + bool getBoxPrototype(Kernel::IBoxProto& prototype) const override + { + prototype.addInput("real part",OV_TypeId_Spectrum); + prototype.addInput("imaginary part",OV_TypeId_Spectrum); + + prototype.addOutput("Signal output",OV_TypeId_Signal); + + prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); + + return true; + } + + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, Box_IFFTDesc) +}; +} // namespace SignalProcessing +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmARCoefficients.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmARCoefficients.h index 8f5ecfdddac9dae06f0d7942d2b8737fc624365e..7df812c52f37582341b131c8e27f5678849de642 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmARCoefficients.h +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmARCoefficients.h @@ -3,7 +3,7 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) //You may have to change this path to match your folder organisation -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmDifferentialIntegral.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmDifferentialIntegral.h index 177a160cf0f65d05b8d7917187dbd9f90cd3769b..afa651399669537c7df0ffa0ccbf8cf36f1cd7e5 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmDifferentialIntegral.h +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmDifferentialIntegral.h @@ -1,7 +1,7 @@ #pragma once //You may have to change this path to match your folder organisation -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.cpp b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.cpp index 8a20124b6011d5258b45ca867f531a4beaaa8a63..82b89aafccbbd5c6eff05929c6709ed75bd41e04 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.cpp +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.cpp @@ -46,14 +46,14 @@ bool CBoxAlgorithmERSPAverage::process() if (m_decoderStimulations.isBufferReceived()) { const auto stims = m_decoderStimulations.getOutputStimulationSet(); - for (size_t j = 0; j < stims->getStimulationCount(); ++j) + for (size_t j = 0; j < stims->size(); ++j) { - if (stims->getStimulationIdentifier(j) == m_epochingStim) + if (stims->getId(j) == m_epochingStim) { m_currentChunk = 0; m_numTrials++; } - if (stims->getStimulationIdentifier(j) == m_computeStim) { computeAndSend(); } + if (stims->getId(j) == m_computeStim) { computeAndSend(); } } } } diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.h index 237b81067c2681f101c99bd9f1f8b01217850778..7f48052a8423f3d1316b8fd7ec5267c8dcadfbbf 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.h +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.h @@ -1,6 +1,6 @@ #pragma once -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.cpp b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.cpp deleted file mode 100644 index 268f47683939f4b6df5a54cf1ddccb3f65d5cdca..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.cpp +++ /dev/null @@ -1,195 +0,0 @@ -#include "ovpCBoxAlgorithmEpochVariance.h" - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { - -bool CEpochVariance::initialize() -{ - CIdentifier inputTypeID; - getStaticBoxContext().getInputType(0, inputTypeID); - if (inputTypeID == OV_TypeId_StreamedMatrix) - { - m_decoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_StreamedMatrixDecoder)); - m_encoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_StreamedMatrixEncoder)); - m_encoderForVariance = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_StreamedMatrixEncoder)); - m_encoderForConfidenceBound = &getAlgorithmManager(). - getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_StreamedMatrixEncoder)); - } - else if (inputTypeID == OV_TypeId_FeatureVector) - { - m_decoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_FeatureVectorDecoder)); - m_encoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_FeatureVectorEncoder)); - m_encoderForVariance = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_FeatureVectorEncoder)); - m_encoderForConfidenceBound = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_FeatureVectorEncoder)); - } - else if (inputTypeID == OV_TypeId_Signal) - { - m_decoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SignalDecoder)); - m_encoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SignalEncoder)); - m_encoderForVariance = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SignalEncoder)); - m_encoderForConfidenceBound = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SignalEncoder)); - } - else if (inputTypeID == OV_TypeId_Spectrum) - { - m_decoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SpectrumDecoder)); - m_encoder = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SpectrumEncoder)); - m_encoderForVariance = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SpectrumDecoder)); - m_encoderForConfidenceBound = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_SpectrumDecoder)); - } - else { return false; } - m_decoder->initialize(); - m_encoder->initialize(); - m_encoderForVariance->initialize(); - m_encoderForConfidenceBound->initialize(); - - m_matrixVariance = &getAlgorithmManager().getAlgorithm(getAlgorithmManager().createAlgorithm(OVP_ClassId_Algorithm_MatrixVariance)); - m_matrixVariance->initialize(); - - if (inputTypeID == OV_TypeId_StreamedMatrix) { } - else if (inputTypeID == OV_TypeId_FeatureVector) { } - else if (inputTypeID == OV_TypeId_Signal) - { - m_encoder->getInputParameter(OVP_GD_Algorithm_SignalEncoder_InputParameterId_Sampling)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SignalDecoder_OutputParameterId_Sampling)); - m_encoderForVariance->getInputParameter(OVP_GD_Algorithm_SignalEncoder_InputParameterId_Sampling)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SignalDecoder_OutputParameterId_Sampling)); - m_encoderForConfidenceBound->getInputParameter(OVP_GD_Algorithm_SignalEncoder_InputParameterId_Sampling)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SignalDecoder_OutputParameterId_Sampling)); - } - else if (inputTypeID == OV_TypeId_Spectrum) - { - m_encoder->getInputParameter(OVP_GD_Algorithm_SpectrumEncoder_InputParameterId_FrequencyAbscissa)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SpectrumDecoder_OutputParameterId_FrequencyAbscissa)); - m_encoderForVariance->getInputParameter(OVP_GD_Algorithm_SpectrumEncoder_InputParameterId_FrequencyAbscissa)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SpectrumDecoder_OutputParameterId_FrequencyAbscissa)); - m_encoderForConfidenceBound->getInputParameter(OVP_GD_Algorithm_SpectrumEncoder_InputParameterId_FrequencyAbscissa)->setReferenceTarget( - m_decoder-> - getOutputParameter(OVP_GD_Algorithm_SpectrumDecoder_OutputParameterId_FrequencyAbscissa)); - - m_encoder->getInputParameter(OVP_GD_Algorithm_SpectrumEncoder_InputParameterId_Sampling)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SpectrumDecoder_OutputParameterId_Sampling)); - m_encoderForVariance->getInputParameter(OVP_GD_Algorithm_SpectrumEncoder_InputParameterId_Sampling)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SpectrumDecoder_OutputParameterId_Sampling)); - m_encoderForConfidenceBound->getInputParameter(OVP_GD_Algorithm_SpectrumEncoder_InputParameterId_Sampling)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_SpectrumDecoder_OutputParameterId_Sampling)); - } - - ip_averagingMethod.initialize(m_matrixVariance->getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_AveragingMethod)); - ip_matrixCount.initialize(m_matrixVariance->getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_MatrixCount)); - ip_SignificanceLevel.initialize(m_matrixVariance->getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_SignificanceLevel)); - - ip_averagingMethod = uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0)); - ip_matrixCount = uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1)); - ip_SignificanceLevel = double(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2)); - - m_matrixVariance->getInputParameter(OVP_Algorithm_MatrixVariance_InputParameterId_Matrix)->setReferenceTarget( - m_decoder->getOutputParameter(OVP_GD_Algorithm_StreamedMatrixDecoder_OutputParameterId_Matrix)); - m_encoder->getInputParameter(OVP_GD_Algorithm_StreamedMatrixEncoder_InputParameterId_Matrix)->setReferenceTarget( - m_matrixVariance->getOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_AveragedMatrix)); - m_encoderForVariance->getInputParameter(OVP_GD_Algorithm_StreamedMatrixEncoder_InputParameterId_Matrix)->setReferenceTarget( - m_matrixVariance->getOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_Variance)); - m_encoderForConfidenceBound->getInputParameter(OVP_GD_Algorithm_StreamedMatrixEncoder_InputParameterId_Matrix)->setReferenceTarget( - m_matrixVariance->getOutputParameter(OVP_Algorithm_MatrixVariance_OutputParameterId_ConfidenceBound)); - - - if (ip_matrixCount <= 0) - { - getLogManager() << Kernel::LogLevel_Error << "You should provide a positive number of epochs better than " << ip_matrixCount << "\n"; - return false; - } - - return true; -} - -bool CEpochVariance::uninitialize() -{ - ip_averagingMethod.uninitialize(); - ip_matrixCount.uninitialize(); - - m_matrixVariance->uninitialize(); - m_encoder->uninitialize(); - m_encoderForVariance->uninitialize(); - m_encoderForConfidenceBound->uninitialize(); - m_decoder->uninitialize(); - - getAlgorithmManager().releaseAlgorithm(*m_matrixVariance); - getAlgorithmManager().releaseAlgorithm(*m_encoder); - getAlgorithmManager().releaseAlgorithm(*m_encoderForVariance); - getAlgorithmManager().releaseAlgorithm(*m_encoderForConfidenceBound); - getAlgorithmManager().releaseAlgorithm(*m_decoder); - - return true; -} - -bool CEpochVariance::processInput(const size_t /*index*/) -{ - getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); - return true; -} - -bool CEpochVariance::process() -{ - Kernel::IBoxIO& boxContext = getDynamicBoxContext(); - const size_t nInput = getStaticBoxContext().getInputCount(); - - for (size_t i = 0; i < nInput; ++i) - { - for (size_t j = 0; j < boxContext.getInputChunkCount(i); ++j) - { - Kernel::TParameterHandler<const IMemoryBuffer*> bufferHandle( - m_decoder->getInputParameter(OVP_GD_Algorithm_StreamedMatrixDecoder_InputParameterId_MemoryBufferToDecode)); - Kernel::TParameterHandler<IMemoryBuffer*> obufferHandle( - m_encoder->getOutputParameter(OVP_GD_Algorithm_StreamedMatrixEncoder_OutputParameterId_EncodedMemoryBuffer)); - Kernel::TParameterHandler<IMemoryBuffer*> obufferHandleForVariance( - m_encoderForVariance->getOutputParameter(OVP_GD_Algorithm_StreamedMatrixEncoder_OutputParameterId_EncodedMemoryBuffer)); - Kernel::TParameterHandler<IMemoryBuffer*> bufferHandleForConfidenceBound( - m_encoderForConfidenceBound->getOutputParameter(OVP_GD_Algorithm_StreamedMatrixEncoder_OutputParameterId_EncodedMemoryBuffer)); - bufferHandle = boxContext.getInputChunk(i, j); - obufferHandle = boxContext.getOutputChunk(0); - obufferHandleForVariance = boxContext.getOutputChunk(1); - bufferHandleForConfidenceBound = boxContext.getOutputChunk(2); - - m_decoder->process(); - if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StreamedMatrixDecoder_OutputTriggerId_ReceivedHeader)) - { - m_matrixVariance->process(OVP_Algorithm_MatrixVariance_InputTriggerId_Reset); - m_encoder->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeHeader); - m_encoderForVariance->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeHeader); - m_encoderForConfidenceBound->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeHeader); - boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - boxContext.markOutputAsReadyToSend(1, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - boxContext.markOutputAsReadyToSend(2, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - } - if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StreamedMatrixDecoder_OutputTriggerId_ReceivedBuffer)) - { - m_matrixVariance->process(OVP_Algorithm_MatrixVariance_InputTriggerId_FeedMatrix); - if (m_matrixVariance->isOutputTriggerActive(OVP_Algorithm_MatrixVariance_OutputTriggerId_AveragePerformed)) - { - m_encoder->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeBuffer); - m_encoderForVariance->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeBuffer); - m_encoderForConfidenceBound->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeBuffer); - boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - boxContext.markOutputAsReadyToSend(1, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - boxContext.markOutputAsReadyToSend(2, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - } - } - if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StreamedMatrixDecoder_OutputTriggerId_ReceivedEnd)) - { - m_encoder->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeEnd); - m_encoderForVariance->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeEnd); - m_encoderForConfidenceBound->process(OVP_GD_Algorithm_StreamedMatrixEncoder_InputTriggerId_EncodeEnd); - boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - boxContext.markOutputAsReadyToSend(1, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - boxContext.markOutputAsReadyToSend(2, boxContext.getInputChunkStartTime(i, j), boxContext.getInputChunkEndTime(i, j)); - } - - boxContext.markInputAsDeprecated(i, j); - } - } - - return true; -} -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.h deleted file mode 100644 index ac0afaa5d001889edb82907623b462a037c0129b..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.h +++ /dev/null @@ -1,95 +0,0 @@ -#pragma once - -#include "../../ovp_defines.h" - -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { -class CEpochVariance final : public Toolkit::TBoxAlgorithm<IBoxAlgorithm> -{ -public: - - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - - bool processInput(const size_t index) override; - bool process() override; - - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_EpochVariance) - -protected: - - Kernel::IAlgorithmProxy* m_decoder = nullptr; - Kernel::IAlgorithmProxy* m_encoder = nullptr; - Kernel::IAlgorithmProxy* m_encoderForVariance = nullptr; - Kernel::IAlgorithmProxy* m_encoderForConfidenceBound = nullptr; - Kernel::IAlgorithmProxy* m_matrixVariance = nullptr; - - Kernel::TParameterHandler<uint64_t> ip_matrixCount; - Kernel::TParameterHandler<uint64_t> ip_averagingMethod; - Kernel::TParameterHandler<double> ip_SignificanceLevel; -}; - -class CEpochVarianceListener final : public Toolkit::TBoxListener<IBoxListener> -{ -public: - - bool onInputTypeChanged(Kernel::IBox& box, const size_t index) override - { - CIdentifier typeID = CIdentifier::undefined(); - box.getInputType(index, typeID); - for (size_t i = 0; i < box.getOutputCount(); ++i) { box.setOutputType(i, typeID); } - return true; - } - - _IsDerivedFromClass_Final_(Toolkit::TBoxListener<IBoxListener>, CIdentifier::undefined()) -}; - -class CEpochVarianceDesc final : public IBoxAlgorithmDesc -{ -public: - - void release() override { } - CString getName() const override { return CString("Epoch variance"); } - CString getAuthorName() const override { return CString("Dieter Devlaminck"); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - CString getShortDescription() const override { return CString("Computes variance of each sample over several epochs"); } - CString getDetailedDescription() const override { return CString(""); } - CString getCategory() const override { return CString("Signal processing/Basic"); } - CString getVersion() const override { return CString("1.0"); } - CString getStockItemName() const override { return CString("gtk-missing-image"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_EpochVariance; } - IPluginObject* create() override { return new CEpochVariance(); } - IBoxListener* createBoxListener() const override { return new CEpochVarianceListener; } - void releaseBoxListener(IBoxListener* listener) const override { delete listener; } - - bool getBoxPrototype(Kernel::IBoxProto& prototype) const override - { - prototype.addInput("Input epochs", OV_TypeId_StreamedMatrix); - prototype.addOutput("Averaged epochs", OV_TypeId_StreamedMatrix); - prototype.addOutput("Variance of epochs", OV_TypeId_StreamedMatrix); - prototype.addOutput("Confidence bounds", OV_TypeId_StreamedMatrix); - prototype.addSetting("Averaging type", OVP_TypeId_EpochAverageMethod, "Moving epoch average"); - prototype.addSetting("Epoch count", OV_TypeId_Integer, "4"); - prototype.addSetting("Significance level", OV_TypeId_Float, "0.01"); - prototype.addFlag(Kernel::BoxFlag_CanModifyInput); - - prototype.addInputSupport(OV_TypeId_StreamedMatrix); - prototype.addInputSupport(OV_TypeId_FeatureVector); - prototype.addInputSupport(OV_TypeId_Signal); - prototype.addInputSupport(OV_TypeId_Spectrum); - - return true; - } - - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_EpochVarianceDesc) -}; -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmHilbert.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmHilbert.h index 6cc6f7869ca2fe837314fb3d552e237473729eeb..ba2d4f0b5e08cad76e09c279152733b32fd0cd7a 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmHilbert.h +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmHilbert.h @@ -1,6 +1,6 @@ #pragma once -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.h deleted file mode 100644 index 0c519a4e7a64b2b32d5a8ca880116139f8d27cd2..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.h +++ /dev/null @@ -1,94 +0,0 @@ -#pragma once - -#if defined TARGET_HAS_ThirdPartyITPP - -//You may have to change this path to match your folder organisation -#include "../../ovp_defines.h" - -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -#include <complex> - -#include <itpp/itbase.h> - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { -/** - * \class CBoxAlgorithmIFFTbox - * \author Guillermo Andrade B. (INRIA) - * \date Fri Jan 20 15:35:05 2012 - * \brief The class CBoxAlgorithmIFFTbox describes the box IFFT box. - * - */ -class CBoxAlgorithmIFFTbox final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> -{ -public: - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - - bool processInput(const size_t index) override; - bool process() override; - - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_IFFTbox) - -protected: - // Codec algorithms specified in the skeleton-generator: - Toolkit::TSpectrumDecoder<CBoxAlgorithmIFFTbox> m_decoder[2]; - Toolkit::TSignalEncoder<CBoxAlgorithmIFFTbox> m_encoder; -private: - itpp::Vec<std::complex<double>> m_frequencyBuffer; - itpp::Vec<double> m_signalBuffer; - size_t m_nSample = 0; - size_t m_channelsNumber = 0; - bool m_headerSent = false; -}; - -/** - * \class CBoxAlgorithmIFFTboxDesc - * \author Guillermo Andrade B. (INRIA) - * \date Fri Jan 20 15:35:05 2012 - * \brief Descriptor of the box IFFT box. - * - */ -class CBoxAlgorithmIFFTboxDesc final : virtual public IBoxAlgorithmDesc -{ -public: - - void release() override { } - - CString getName() const override { return CString("IFFT"); } - CString getAuthorName() const override { return CString("Guillermo Andrade B."); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - CString getShortDescription() const override { return CString("Compute Inverse Fast Fourier Transformation"); } - - CString getDetailedDescription() const override { return CString("Compute Inverse Fast Fourier Transformation (depends on ITPP/fftw)"); } - - CString getCategory() const override { return CString("Signal processing/Spectral Analysis"); } - CString getVersion() const override { return CString("0.2"); } - CString getStockItemName() const override { return CString("gtk-execute"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_IFFTbox; } - IPluginObject* create() override { return new CBoxAlgorithmIFFTbox; } - - bool getBoxPrototype(Kernel::IBoxProto& prototype) const override - { - prototype.addInput("real part",OV_TypeId_Spectrum); - prototype.addInput("imaginary part",OV_TypeId_Spectrum); - - prototype.addOutput("Signal output",OV_TypeId_Signal); - - prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); - - return true; - } - - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_IFFTboxDesc) -}; -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE -#endif //TARGET_HAS_ThirdPartyITPP diff --git a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmMatrixTranspose.h b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmMatrixTranspose.h index 97c04f509d19be1840f8b9409dade997adbd8031..0f8ee523d217c50822edb67d5f048b003d3d11f4 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmMatrixTranspose.h +++ b/plugins/processing/signal-processing/src/box-algorithms/basic/ovpCBoxAlgorithmMatrixTranspose.h @@ -1,6 +1,6 @@ #pragma once -#include "../../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.cpp b/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.cpp index c42c3087430b24af81f6730b6edd86501dd8b0de..22389f90ae2f54ee3ccbfb3b89ef60b97669c127 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.cpp +++ b/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.cpp @@ -21,10 +21,8 @@ /// You should have received a copy of the GNU Affero General Public License /// along with this program. If not, see <https://www.gnu.org/licenses/>. ///------------------------------------------------------------------------------------------------- - - #include "CBoxAlgorithmConnectivityMeasure.hpp" - +#include "eigen/convert.hpp" namespace OpenViBE { namespace Plugins { @@ -39,19 +37,18 @@ bool CBoxAlgorithmConnectivityMeasure::initialize() m_oMatrix = m_matrixEncoder.getInputMatrix(); // Settings - m_metric = EConnectMetric(uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0))); - m_windowMethod = EConnectWindowMethod(uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1))); - m_windowLengthSeconds = double(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2)); - m_windowOverlap = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 3)); + m_metric = EConnectMetric(uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0))); + m_windowMethod = EConnectWindowMethod(uint64_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1))); + m_windowLengthSeconds = double(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2)); + m_windowOverlap = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 3)); m_connectLengthSeconds = double(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 4)); - m_connectOverlap = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 5)); - m_fftSize = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 6)); - m_dcRemoval = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 7); + m_connectOverlap = int(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 5)); + m_fftSize = size_t(FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 6)); + m_dcRemoval = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 7); return true; } /*******************************************************************************/ - bool CBoxAlgorithmConnectivityMeasure::uninitialize() { m_signalDecoder.uninitialize(); @@ -66,11 +63,8 @@ bool CBoxAlgorithmConnectivityMeasure::processInput(const size_t) } /*******************************************************************************/ - - bool CBoxAlgorithmConnectivityMeasure::process() { - // the static box context describes the box inputs, outputs, settings structures const Kernel::IBox& staticBoxContext = this->getStaticBoxContext(); @@ -78,170 +72,104 @@ bool CBoxAlgorithmConnectivityMeasure::process() Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); //iterate over all chunk on input 0 - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { + for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) { m_signalDecoder.decode(i); const uint64_t tStart = boxContext.getInputChunkStartTime(0, i); // Time Code Chunk Start - const uint64_t tEnd = boxContext.getInputChunkEndTime(0, i); // Time Code Chunk End + const uint64_t tEnd = boxContext.getInputChunkEndTime(0, i); // Time Code Chunk End - if (m_signalDecoder.isHeaderReceived()) - { + if (m_signalDecoder.isHeaderReceived()) { // Header received. This happens only once when pressing "play". - CMatrix* matrix = m_signalDecoder.getOutputMatrix(); // the StreamedMatrix of samples. + CMatrix* matrix = m_signalDecoder.getOutputMatrix(); // the StreamedMatrix of samples. uint64_t sampRate = m_signalDecoder.getOutputSamplingRate(); // the sampling rate of the signal - m_windowLength = std::floor((float) sampRate * m_windowLengthSeconds); - m_connectLength = std::floor((float) sampRate * m_connectLengthSeconds); + m_windowLength = std::floor(float(sampRate) * m_windowLengthSeconds); + m_connectLength = std::floor(float(sampRate) * m_connectLengthSeconds); m_connectOverlapSamples = int(std::floor(double(m_connectLength) * double(m_connectOverlap) / 100.0)); - m_windowOverlapSamples = int(std::floor(double(m_windowLength) * double(m_windowOverlap) / 100.0)); + m_windowOverlapSamples = int(std::floor(double(m_windowLength) * double(m_windowOverlap) / 100.0)); - m_nbChannels = matrix->getDimensionSize(0); + m_nbChannels = matrix->getDimensionSize(0); const auto sampPerChan = matrix->getDimensionSize(1); - this->getLogManager() << Kernel::LogLevel_Debug << "HEADER : nChannels " << m_nbChannels << ", " << sampPerChan - << " samples, sampling rate " << sampRate << "\n"; + this->getLogManager() << Kernel::LogLevel_Debug << "HEADER : nChannels " << m_nbChannels << ", " + << sampPerChan << " samples, sampling rate " << sampRate << "\n"; this->getLogManager() << Kernel::LogLevel_Debug << "Connectivity segments overlap percent/samples : " - << m_connectOverlap << " " << m_connectOverlapSamples << "\n"; - this->getLogManager() << Kernel::LogLevel_Debug << "Welch Windows overlap percent/samples : " << m_windowOverlap - << " " << m_windowOverlapSamples << "\n"; - + << m_connectOverlap << " " << m_connectOverlapSamples << "\n"; + this->getLogManager() << Kernel::LogLevel_Debug << "Welch Windows overlap percent/samples : " + << m_windowOverlap << " " << m_windowOverlapSamples << "\n"; // Vectors buffers init m_vectorXdBuffer.resize(m_nbChannels); m_signalChannelBuffers.resize(m_nbChannels); - this->getLogManager() << Kernel::LogLevel_Debug << "m_signalChannelBuffers.size() " << m_signalChannelBuffers.size() - << "\n"; + this->getLogManager() << Kernel::LogLevel_Debug << "m_signalChannelBuffers.size() " << m_signalChannelBuffers.size() << "\n"; // Connectivity algo class inits - connectivityMeasure.initialize(m_metric, m_windowMethod, m_windowLength, m_windowOverlap, m_nbChannels, - m_fftSize, m_dcRemoval); + connectivityMeasure.initialize(m_metric, m_windowMethod, m_windowLength, m_windowOverlap, m_nbChannels, m_fftSize, m_dcRemoval); - matrix3DInit(*m_oMatrix, m_fftSize, m_nbChannels, m_nbChannels); // nbFreqs x nbChan x nbChan + m_oMatrix->resize({ m_fftSize, m_nbChannels, m_nbChannels }); // nbFreqs x nbChan x nbChan m_matrixEncoder.encodeHeader(); // Pass the header to the next boxes - } else if (m_signalDecoder.isBufferReceived()) - { - - CMatrix* matrix = m_signalDecoder.getOutputMatrix(); // the StreamedMatrix of samples. - uint64_t sampRate = m_signalDecoder.getOutputSamplingRate(); // the sampling rate of the signal + } + else if (m_signalDecoder.isBufferReceived()) { + CMatrix* matrix = m_signalDecoder.getOutputMatrix(); // the StreamedMatrix of samples. + uint64_t sampRate = m_signalDecoder.getOutputSamplingRate(); // the sampling rate of the signal const auto sampPerChan = matrix->getDimensionSize(1); // Accumulate buffers here and send a whole chunk to the connectivity algorithm const double* buffer = matrix->getBuffer(); - size_t idx = 0; + size_t idx = 0; std::vector<double> temp; - for (size_t row = 0; row < m_nbChannels; ++row) - { - for (size_t col = 0; col < sampPerChan; ++col) - { // parse all columns in the buffer + for (size_t row = 0; row < m_nbChannels; ++row) { + for (size_t col = 0; col < sampPerChan; ++col) { // parse all columns in the buffer temp.push_back(buffer[idx++]); } m_signalChannelBuffers[row].insert(m_signalChannelBuffers[row].end(), temp.begin(), temp.end()); temp.clear(); } - this->getLogManager() << Kernel::LogLevel_Debug << "BUFFER : " << sampPerChan << " samples per " << m_nbChannels - << " channels, sampling rate " << sampRate << " // Signal buffers size : " - << m_signalChannelBuffers[0].size() << "\n"; + this->getLogManager() << Kernel::LogLevel_Debug << "BUFFER : " << sampPerChan << " samples per " << m_nbChannels << " channels, sampling rate " << + sampRate << " // Signal buffers size : " << m_signalChannelBuffers[0].size() << "\n"; // If enough data was accumulated, process it. - if (m_signalChannelBuffers[0].size() >= m_connectLength) - { - - this->getLogManager() << Kernel::LogLevel_Debug << "Signal buffers : FULL (" << m_signalChannelBuffers[0].size() - << ")\n"; + if (m_signalChannelBuffers[0].size() >= m_connectLength) { + this->getLogManager() << Kernel::LogLevel_Debug << "Signal buffers : FULL (" << m_signalChannelBuffers[0].size() << ")\n"; // Convert to Eigen container for easier use in algo - for (size_t aa = 0; aa < m_nbChannels; ++aa) - { - m_vectorXdBuffer[aa] = Eigen::VectorXd::Map(m_signalChannelBuffers[aa].data(), - m_signalChannelBuffers[aa].size()); + for (size_t aa = 0; aa < m_nbChannels; ++aa) { + m_vectorXdBuffer[aa] = Eigen::VectorXd::Map(m_signalChannelBuffers[aa].data(), m_signalChannelBuffers[aa].size()); } // Connectivity chunk overlap for next processing loop: Keep the overlapping part in the vectors, discard the rest - for (size_t aa = 0; aa < m_nbChannels; ++aa) - { + for (size_t aa = 0; aa < m_nbChannels; ++aa) { m_signalChannelBuffers[aa].erase(m_signalChannelBuffers[aa].begin(), - m_signalChannelBuffers[aa].begin() + - (m_connectLength - m_connectOverlapSamples)); + m_signalChannelBuffers[aa].begin() + (m_connectLength - m_connectOverlapSamples)); } // 3D Matrix init, vector of size (chan) of Matrices (chan x fftsize) - std::vector <Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>> connectivityMatrix(m_nbChannels, - Eigen::MatrixXd( - m_nbChannels, - m_fftSize)); + std::vector<Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>> connectivityMatrix(m_nbChannels, Eigen::MatrixXd(m_nbChannels, m_fftSize)); - OV_ERROR_UNLESS_KRF(connectivityMeasure.process(m_vectorXdBuffer, connectivityMatrix), - "Connectivity measurement error", Kernel::ErrorType::BadProcessing); + OV_ERROR_UNLESS_KRF(connectivityMeasure.process(m_vectorXdBuffer, connectivityMatrix), "Connectivity measurement error", + Kernel::ErrorType::BadProcessing); this->getLogManager() << Kernel::LogLevel_Debug << "Exited connectivityMeasure.process() : connect size " - << connectivityMatrix.size() << " x " << connectivityMatrix[0].rows() << " x " - << connectivityMatrix[0].cols() << "\n"; + << connectivityMatrix.size() << " x " << connectivityMatrix[0].rows() << " x " << connectivityMatrix[0].cols() << "\n"; // Convert output matrix (nchan x nchan x fftsize) to matrix (fftsize x nchan x nchan) - matrix3DConvert(connectivityMatrix, *m_oMatrix); + MatrixConvert(connectivityMatrix, *m_oMatrix, 5); m_matrixEncoder.encodeBuffer(); } - - } else if (m_signalDecoder.isEndReceived()) - { - m_matrixEncoder.encodeEnd(); } + else if (m_signalDecoder.isEndReceived()) { m_matrixEncoder.encodeEnd(); } boxContext.markOutputAsReadyToSend(0, tStart, tEnd); - } return true; } - -void CBoxAlgorithmConnectivityMeasure::matrix3DInit(CMatrix& m, const size_t dim0, const size_t dim1, const size_t dim2) -{ - m.setDimensionCount(3); - m.setDimensionSize(0, dim0); - m.setDimensionSize(1, dim1); - m.setDimensionSize(2, dim2); -} - -bool CBoxAlgorithmConnectivityMeasure::matrix3DConvert(const std::vector <Eigen::MatrixXd>& in, CMatrix& out) -{ - if (in.size() == 0 || in[0].rows() == 0 || in[0].cols() == 0) - { return false; } - const size_t nChan0 = in.size(), nChan1 = in[0].rows(), fftSize = in[0].cols(); - - if (out.getDimensionCount() != 3 - || out.getDimensionSize(0) != fftSize - || out.getDimensionSize(1) != nChan1 - || out.getDimensionSize(2) != nChan0) - { - out.setDimensionCount(3); - out.setDimensionSize(0, fftSize); - out.setDimensionSize(1, nChan1); - out.setDimensionSize(2, nChan0); - } - - size_t idx = 0; - double* buffer = out.getBuffer(); - for (size_t fftIdx = 0; fftIdx < fftSize; ++fftIdx) - { - for (size_t chan1 = 0; chan1 < nChan1; ++chan1) - { - for (size_t chan0 = 0; chan0 < nChan0; ++chan0) - { - buffer[idx++] = in[chan0](chan1, fftIdx); - } - } - } - - return true; -} - } // namespace SignalProcessing } // namespace Plugins } // namespace OpenViBE diff --git a/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.hpp b/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.hpp index d09f6263d2e6939fc40b18c716e3c0fde4a2608e..278bb8608056b5c00997c34028967545c4ffbe41 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.hpp +++ b/plugins/processing/signal-processing/src/box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.hpp @@ -26,7 +26,7 @@ #include <Eigen/Dense> -#include "ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> #include "connectivityMeasure.hpp" @@ -47,11 +47,9 @@ public: void release() override { delete this; } bool initialize() override; - bool uninitialize() override; bool processInput(const size_t index) override; - bool process() override; _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_ConnectivityMeasure) @@ -85,31 +83,14 @@ protected: int m_windowOverlap = 50; // overlap btw windows (%) int m_connectLength = 256; // size of one full connectivity estimation occurrence (samples) int m_connectOverlap = 50; // overlap btw connectivity measurements (%) - int m_fftSize = 128; // FFT size (and nb of freq taps at the output) + size_t m_fftSize = 128; // FFT size (and nb of freq taps at the output) - int m_nbChannels = 0; + size_t m_nbChannels = 0; int m_connectOverlapSamples = 128; int m_windowOverlapSamples = 64; bool m_dcRemoval = false; - -private: - /// - /// \brief Conversion from a vector of 2D Matrices into OpenViBE's CMatrix of 3 dimensions - /// \param in std:vector<Eigen::Matrix> (vect of nChan x Matrices (nChan x fftsize) - /// \param out CMatrix of 3 dimensions (fftsize x nchan x nchan) - /// \return True if the conversion was successful, false otherwise - bool matrix3DConvert(const std::vector <Eigen::MatrixXd>& in, CMatrix& out); - - /// - /// \brief Initialises 3 dimensions matrix with the provided dimensions - /// \param m The matrix to initialise - /// \param dim1 dimension 1 - /// \param dim2 dimension 2 - /// \param dim3 dimension 3 - void matrix3DInit(CMatrix& m, const size_t dim1, const size_t dim2, const size_t dim3); - }; /// @@ -120,14 +101,14 @@ class CBoxAlgorithmConnectivityMeasureDesc final : virtual public IBoxAlgorithmD public: void release() override {} - CString getName() const override { return CString("Connectivity Measure"); } - CString getAuthorName() const override { return CString("Arthur DESBOIS"); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - CString getShortDescription() const override { return CString("Connectivity Measure"); } - CString getDetailedDescription() const override { return CString("Measure connectivity between pairs of channel"); } - CString getCategory() const override { return CString("Signal processing/Connectivity"); } - CString getVersion() const override { return CString("0.0.1"); } - CString getStockItemName() const override { return CString(""); } + CString getName() const override { return "Connectivity Measure"; } + CString getAuthorName() const override { return "Arthur DESBOIS"; } + CString getAuthorCompanyName() const override { return "Inria"; } + CString getShortDescription() const override { return "Connectivity Measure"; } + CString getDetailedDescription() const override { return "Measure connectivity between pairs of channel"; } + CString getCategory() const override { return "Signal processing/Connectivity"; } + CString getVersion() const override { return "0.0.1"; } + CString getStockItemName() const override { return ""; } CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_ConnectivityMeasure; } IPluginObject* create() override { return new CBoxAlgorithmConnectivityMeasure; } diff --git a/plugins/processing/signal-processing/src/box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.cpp b/plugins/processing/signal-processing/src/box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.cpp deleted file mode 100644 index 4a33efd8b60460207f726230dfae82836a227636..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.cpp +++ /dev/null @@ -1,379 +0,0 @@ -#if defined TARGET_HAS_ThirdPartyITPP - -#include "ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.h" - -#include <complex> -#include <sstream> -#include <cstdio> -#include <vector> -#include <map> - -#include <itpp/base/algebra/inv.h> -#include <itpp/stat/misc_stat.h> - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { - -// Taken from http://techlogbook.wordpress.com/2009/08/12/adding-generalized-eigenvalue-functions-to-it -// http://techlogbook.wordpress.com/2009/08/12/calling-lapack-functions-from-c-codes -// http://sourceforge.net/projects/itpp/forums/forum/115656/topic/3363490?message=7557038 -// -// http://icl.cs.utk.edu/projectsfiles/f2j/javadoc/org/netlib/lapack/DSYGV.html -// http://www.lassp.cornell.edu/sethna/GeneDynamics/NetworkCodeDocumentation/lapack_8h.html#a17 - -namespace { -extern "C" { -// This symbol comes from LAPACK -/* - void zggev_(char *jobvl, char *jobvr, int *n, std::complex<double> *a, - int *lda, std::complex<double> *b, int *ldb, std::complex<double> *alpha, - std::complex<double> *beta, std::complex<double> *vl, - int *ldvl, std::complex<double> *vr, int *ldvr, - std::complex<double> *work, int *lwork, double *rwork, int *info); -*/ -int dsygv_(int* itype, char* jobz, char* uplo, int* n, double* a, int* lda, double* b, int* ldb, double* w, double* work, int* lwork, int* info); -} -} // namespace - -namespace itppext { -bool eig(const itpp::mat& A, const itpp::mat& B, itpp::vec& d, itpp::mat& V) -{ - it_assert_debug(A.rows() == A.cols(), "eig: Matrix A is not square"); - it_assert_debug(B.rows() == B.cols(), "eig: Matrix B is not square"); - it_assert_debug(A.rows() == B.cols(), "eig: Matrix A and B don't have the same size"); - - const int worksize = 4 * A.rows(); // This may be chosen better! - itpp::mat lA(A); - itpp::mat lB(B); - itpp::vec lW(A.rows()); - itpp::vec lWork(worksize); - lW.zeros(); - lWork.zeros(); - - int itype = 1; // 1: Ax=lBx 2: ABx=lx 3: BAx=lx - char jobz = 'V', uplo = 'U'; - int n = lA.rows(); - double* a = lA._data(); - int lda = n; - double* b = lB._data(); - int ldb = n; - double* w = lW._data(); - int lwork = worksize; - double* work = lWork._data(); - int info = 0; - - dsygv_(&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, &info); - - d = lW; - V = lA; - - return (info == 0); -} - -itpp::mat convert(const CMatrix& matrix) -{ - itpp::mat res(matrix.getDimensionSize(1), matrix.getDimensionSize(0)); - memcpy(res._data(), matrix.getBuffer(), matrix.getBufferElementCount() * sizeof(double)); - return res.transpose(); -} -} // namespace itppext - -bool CBoxAlgorithmXDAWNSpatialFilterTrainer::initialize() -{ - m_stimulationDecoder.initialize(*this, 0); - m_signalDecoder.initialize(*this, 1); - m_evokedPotentialDecoder.initialize(*this, 2); - - m_encoder.initialize(*this, 0); - - m_stimID = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0); - m_spatialFilterConfigurationFilename = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1); - m_filterDim = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2); - m_saveAsBoxConfig = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 3); - - return true; -} - -bool CBoxAlgorithmXDAWNSpatialFilterTrainer::uninitialize() -{ - m_evokedPotentialDecoder.uninitialize(); - m_signalDecoder.uninitialize(); - m_stimulationDecoder.uninitialize(); - m_encoder.uninitialize(); - return true; -} - -bool CBoxAlgorithmXDAWNSpatialFilterTrainer::processInput(const size_t /*index*/) -{ - getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); - return true; -} - -namespace { -typedef struct -{ - uint64_t startTime; - uint64_t endTime; - CMatrix* matrix; -} chunk_t; -} - -bool CBoxAlgorithmXDAWNSpatialFilterTrainer::process() -{ - Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); - - bool shouldTrain = false; - uint64_t date = 0, chunkStartTime = 0, chunkEndTime = 0; - - for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) - { - m_stimulationDecoder.decode(i); - if (m_stimulationDecoder.isHeaderReceived()) - { - m_encoder.encodeHeader(); - boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); - } - if (m_stimulationDecoder.isBufferReceived()) - { - IStimulationSet* stimSet = m_stimulationDecoder.getOutputStimulationSet(); - // See if there is a training stimulation. If several, accept the first one. - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) - { - if (stimSet->getStimulationIdentifier(j) == m_stimID) - { - date = stimSet->getStimulationDate(j); // date of the last matching stimulus in the set - chunkStartTime = boxContext.getInputChunkStartTime(0, i); - chunkEndTime = boxContext.getInputChunkEndTime(0, i); - shouldTrain = true; - break; - } - } - } - if (m_stimulationDecoder.isEndReceived()) - { - m_encoder.encodeEnd(); - boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, i), boxContext.getInputChunkEndTime(0, i)); - } - boxContext.markInputAsDeprecated(0, i); - } - - if (shouldTrain) - { - this->getLogManager() << Kernel::LogLevel_Info << "Received train stimulation - be patient\n"; - this->getLogManager() << Kernel::LogLevel_Trace << "Decoding signal chunks ...\n"; - - bool isContinuous = true; - uint64_t end = 0; - std::vector<chunk_t> chunks; - for (size_t i = 0; i < boxContext.getInputChunkCount(1); ++i) - { - m_signalDecoder.decode(i); - if (m_signalDecoder.isHeaderReceived()) - { - // Don't care about the header - } - if (m_signalDecoder.isBufferReceived()) - { - const CMatrix* matrix = m_signalDecoder.getOutputMatrix(); - chunk_t chunk; - chunk.startTime = boxContext.getInputChunkStartTime(1, i); - chunk.endTime = boxContext.getInputChunkEndTime(1, i); - chunk.matrix = new CMatrix; - chunk.matrix->copy(*matrix); - chunks.push_back(chunk); - - if (chunk.startTime != end) - { - this->getLogManager() << Kernel::LogLevel_Error << "Chunk " << i << " start time != last chunk end time [" << chunk.startTime << " vs " - << end << "]\n"; - isContinuous = false; - break; - } - end = chunk.endTime; - } - if (m_signalDecoder.isEndReceived()) { } - boxContext.markInputAsDeprecated(1, i); - } - - if (!isContinuous) - { - // @fixme mem leak - this->getLogManager() << Kernel::LogLevel_Error << "Input signal is not continuous... Can't continue\n"; - return false; - } - - this->getLogManager() << Kernel::LogLevel_Trace << "Decoding evoked response potential chunks ...\n"; - - std::vector<chunk_t> evokedPotential; - for (size_t i = 0; i < boxContext.getInputChunkCount(2); ++i) - { - m_evokedPotentialDecoder.decode(i); - if (m_evokedPotentialDecoder.isHeaderReceived()) - { - // Don't care about the header - } - if (m_evokedPotentialDecoder.isBufferReceived()) - { - const CMatrix* matrix = m_evokedPotentialDecoder.getOutputMatrix(); - chunk_t chunk; - chunk.startTime = boxContext.getInputChunkStartTime(2, i); - chunk.endTime = boxContext.getInputChunkEndTime(2, i); - chunk.matrix = new CMatrix; - chunk.matrix->copy(*matrix); - evokedPotential.push_back(chunk); - } - if (m_evokedPotentialDecoder.isEndReceived()) { } - boxContext.markInputAsDeprecated(2, i); - } - - if (evokedPotential.empty()) - { - // @fixme mem leak - this->getLogManager() << Kernel::LogLevel_Error << "No evoked potentials received... Can't continue\n"; - return false; - } - - this->getLogManager() << Kernel::LogLevel_Trace << "Averaging evoked response potential...\n"; - - auto it = evokedPotential.begin(); - CMatrix averagedERPMatrixOV; - averagedERPMatrixOV.copy(*it->matrix); - for (++it; it != evokedPotential.end(); ++it) - { - const double* potentialBuffer = it->matrix->getBuffer(); - double* buffer = averagedERPMatrixOV.getBuffer(); - for (size_t j = 0; j < averagedERPMatrixOV.getBufferElementCount(); ++j) { *(buffer++) += *(potentialBuffer++); } - } - double* buffer = averagedERPMatrixOV.getBuffer(); - for (size_t j = 0; j < averagedERPMatrixOV.getBufferElementCount(); ++j) { (*buffer++) /= evokedPotential.size(); } - - // WARNING - OpenViBE matrices are transposed ITPP matrices ! - - this->getLogManager() << Kernel::LogLevel_Trace << "Converting OpenViBE matrices to IT++ matrices...\n"; - - const size_t nChunk = chunks.size(); - const size_t nChannel = chunks.begin()->matrix->getDimensionSize(0); - const size_t nSamplePerChunk = chunks.begin()->matrix->getDimensionSize(1); - const size_t nSamplePerErp = averagedERPMatrixOV.getDimensionSize(1); - - itpp::mat matrix(nChannel, nChunk * nSamplePerChunk); - it = chunks.begin(); - for (size_t i = 0; it != chunks.end(); ++it, ++i) - { - const itpp::mat m = itppext::convert(*it->matrix); - matrix.set_submatrix(0, int(i) * nSamplePerChunk, m); - } - - itpp::mat averagedERPMatrix(nChannel, nSamplePerErp); - averagedERPMatrix = itppext::convert(averagedERPMatrixOV); - - itpp::mat dMatrix(nChunk * nSamplePerChunk, nSamplePerErp); - dMatrix.clear(); - for (it = evokedPotential.begin(); it != evokedPotential.end(); ++it) - { - // Compute index of the sample corresponding to the start of the ERP - const uint64_t erpStartTime = it->startTime; - const size_t erpStartIndex = size_t(CTime(erpStartTime).toSampleCount(m_signalDecoder.getOutputSamplingRate())); - - for (size_t k = 0; k < nSamplePerErp; ++k) { dMatrix(erpStartIndex + k, k) = 1; } - } - - const itpp::mat A = (averagedERPMatrix * inv(dMatrix.transpose() * dMatrix) * averagedERPMatrix.transpose()) * double(evokedPotential.size()) - / double(nSamplePerChunk * nChunk); - std::stringstream s4; - s4 << "A :\n" << A << "\n"; - this->getLogManager() << Kernel::LogLevel_Debug << s4.str() << "\n"; - - const itpp::mat B = (matrix * matrix.transpose()) / double(nSamplePerChunk * nChunk); - - std::stringstream s5; - s5 << "B :\n" << B << "\n"; - this->getLogManager() << Kernel::LogLevel_Debug << s5.str() << "\n"; - - // Free resources - for (auto& c : chunks) { delete c.matrix; } - chunks.clear(); - - for (auto& ep : evokedPotential) { delete ep.matrix; } - evokedPotential.clear(); - - this->getLogManager() << Kernel::LogLevel_Trace << "Computing generalized eigen vector decomposition...\n"; - - itpp::mat eigenVector; - itpp::vec eigenValue; - - if (itppext::eig(A, B, eigenValue, eigenVector)) - { - std::map<double, itpp::vec> eigenVectors; - for (size_t i = 0; i < nChannel; ++i) - { - itpp::vec v = eigenVector.get_col(i); - eigenVectors[eigenValue[i]] = v / norm(v); - } - - size_t cnt = 0; - //We need to compute the size of the first dimension before setting the matrix - const size_t dimension1Size = eigenVectors.size() < m_filterDim ? eigenVectors.size() : m_filterDim; - - CMatrix outputVectors; - outputVectors.resize(dimension1Size, nChannel); - - auto itR = eigenVectors.rbegin(); - for (size_t i = 0; i < dimension1Size; ++itR, i++) { for (size_t j = 0; j < nChannel; ++j) { outputVectors.getBuffer()[cnt++] = itR->second[j]; } } - if (m_saveAsBoxConfig) - { - FILE* file = fopen(m_spatialFilterConfigurationFilename.toASCIIString(), "wb"); - if (!file) - { - this->getLogManager() << Kernel::LogLevel_Error << "The file [" << m_spatialFilterConfigurationFilename - << "] could not be opened for writing..."; - return false; - } - - fprintf(file, "<OpenViBE-SettingsOverride>\n"); - fprintf(file, "\t<SettingValue>"); - for (size_t i = 0; i < outputVectors.getBufferElementCount(); ++i) { fprintf(file, "%e ", outputVectors.getBuffer()[i]); } - fprintf(file, "</SettingValue>\n"); - fprintf(file, "\t<SettingValue>%zu</SettingValue>\n", m_filterDim); - fprintf(file, "\t<SettingValue>%zu</SettingValue>\n", nChannel); - fprintf(file, "\t<SettingValue></SettingValue>\n"); - fprintf(file, "</OpenViBE-SettingsOverride>\n"); - fclose(file); - } - else - { - if (!Toolkit::Matrix::saveToTextFile(outputVectors, m_spatialFilterConfigurationFilename)) - { - this->getLogManager() << Kernel::LogLevel_Error << "Unable to save to [" << m_spatialFilterConfigurationFilename << "\n"; - return false; - } - } - - this->getLogManager() << Kernel::LogLevel_Info << "Training finished... Eigen values are "; - itR = eigenVectors.rbegin(); - for (size_t i = 0; itR != eigenVectors.rend() && i < m_filterDim; ++itR, i++) { this->getLogManager() << " | " << double(itR->first); } - this->getLogManager() << "\n"; - } - else - { - this->getLogManager() << Kernel::LogLevel_Error << "Generalized eigen vector decomposition failed...\n"; - return false; - } - - this->getLogManager() << Kernel::LogLevel_Info << "xDAWN Spatial filter trained successfully.\n"; - - m_encoder.getInputStimulationSet()->clear(); - m_encoder.getInputStimulationSet()->appendStimulation(OVTK_StimulationId_TrainCompleted, date, 0); - m_encoder.encodeBuffer(); - - boxContext.markOutputAsReadyToSend(0, chunkStartTime, chunkEndTime); - } - - return true; -} - -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE -#endif // TARGET_HAS_ThirdPartyITPP diff --git a/plugins/processing/signal-processing/src/box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.h b/plugins/processing/signal-processing/src/box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.h deleted file mode 100644 index fc1c30ff4a98a6b3746921477789183635f2cc49..0000000000000000000000000000000000000000 --- a/plugins/processing/signal-processing/src/box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.h +++ /dev/null @@ -1,85 +0,0 @@ -#pragma once - -#if defined TARGET_HAS_ThirdPartyITPP - -#include "../../ovp_defines.h" -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -namespace OpenViBE { -namespace Plugins { -namespace SignalProcessing { -class CBoxAlgorithmXDAWNSpatialFilterTrainer final : public Toolkit::TBoxAlgorithm<IBoxAlgorithm> -{ -public: - - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - bool processInput(const size_t index) override; - bool process() override; - - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_XDAWNSpatialFilterTrainer) - -protected: - - Toolkit::TStimulationDecoder<CBoxAlgorithmXDAWNSpatialFilterTrainer> m_stimulationDecoder; - Toolkit::TSignalDecoder<CBoxAlgorithmXDAWNSpatialFilterTrainer> m_signalDecoder; - Toolkit::TSignalDecoder<CBoxAlgorithmXDAWNSpatialFilterTrainer> m_evokedPotentialDecoder; - - Toolkit::TStimulationEncoder<CBoxAlgorithmXDAWNSpatialFilterTrainer> m_encoder; - - uint64_t m_stimID = 0; - CString m_spatialFilterConfigurationFilename; - size_t m_filterDim = 0; - bool m_saveAsBoxConfig = false; -}; - -class CBoxAlgorithmXDAWNSpatialFilterTrainerDesc final : public IBoxAlgorithmDesc -{ -public: - - void release() override { } - - CString getName() const override { return CString("xDAWN Trainer (Deprecated)"); } - CString getAuthorName() const override { return CString("Yann Renard"); } - CString getAuthorCompanyName() const override { return CString("INRIA"); } - - CString getShortDescription() const override - { - return CString( - "Computes spatial filter coeffcients in order to get better evoked potential classification (typically used for P300 detection)"); - } - - CString getDetailedDescription() const override { return CString(""); } - CString getCategory() const override { return CString("Signal processing/Filtering"); } - CString getVersion() const override { return CString("1.0"); } - CString getStockItemName() const override { return CString("gtk-missing-image"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_XDAWNSpatialFilterTrainer; } - IPluginObject* create() override { return new CBoxAlgorithmXDAWNSpatialFilterTrainer; } - - bool getBoxPrototype(Kernel::IBoxProto& prototype) const override - { - prototype.addInput("Stimulations", OV_TypeId_Stimulations); - prototype.addInput("Session signal", OV_TypeId_Signal); - prototype.addInput("Evoked potential epochs", OV_TypeId_Signal); - prototype.addOutput("Train-completed Flag", OV_TypeId_Stimulations); - - prototype.addSetting("Train stimulation", OV_TypeId_Stimulation, "OVTK_StimulationId_Train"); - prototype.addSetting("Spatial filter configuration", OV_TypeId_Filename, ""); - prototype.addSetting("Filter dimension", OV_TypeId_Integer, "4"); - prototype.addSetting("Save as box config", OV_TypeId_Boolean, "true"); - // prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable); - prototype.addFlag(Kernel::BoxFlag_IsDeprecated); - return true; - } - - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_XDAWNSpatialFilterTrainerDesc) -}; -} // namespace SignalProcessing -} // namespace Plugins -} // namespace OpenViBE - -#endif // TARGET_HAS_ThirdPartyITPP diff --git a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmDiscreteWaveletTransform.h b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmDiscreteWaveletTransform.h index 8d4c0b9d0b5273ed6155b5ddd2fd4ead7a8b55a9..0923e00fbea538537d6752d1feb1623fa13b3978 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmDiscreteWaveletTransform.h +++ b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmDiscreteWaveletTransform.h @@ -3,13 +3,12 @@ #if defined(TARGET_HAS_ThirdPartyFFTW3) // required by wavelet2s //You may have to change this path to match your folder organisation -#include "../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> #include <iostream> #include <string> -#include <sstream> namespace OpenViBE { namespace Plugins { diff --git a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising.h b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising.h index a6158f5d03066791301e0c15e0afe6413ff85ae1..82ba41b4fb0b035deff9d05889ed3d8c50c8cc98 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising.h +++ b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising.h @@ -3,7 +3,7 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) //You may have to change this path to match your folder organisation -#include "../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.cpp b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.cpp index f0c8e5795d9997270a4cac92295f7fc4fe0b073e..f5dbe633a71f5f635a2425e0f5f508d5c2189538 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.cpp +++ b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.cpp @@ -97,7 +97,7 @@ bool CBoxAlgorithmEOG_Denoising_Calibration::processClock(Kernel::CMessageClock& this->getLogManager() << Kernel::LogLevel_Warning << "b Matrix was NOT successfully calculated" << "\n"; m_stimulationEncoder.getInputStimulationSet()->clear(); - m_stimulationEncoder.getInputStimulationSet()->appendStimulation(OVTK_StimulationId_TrainCompleted, 0, 0); + m_stimulationEncoder.getInputStimulationSet()->push_back(OVTK_StimulationId_TrainCompleted, 0, 0); m_stimulationEncoder.encodeBuffer(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, 0), boxContext.getInputChunkEndTime(0, 0)); @@ -297,7 +297,7 @@ bool CBoxAlgorithmEOG_Denoising_Calibration::processClock(Kernel::CMessageClock& //this->getLogManager() << Kernel::LogLevel_Warning << "You can stop this scenario " <<"\n"; m_stimulationEncoder.getInputStimulationSet()->clear(); - m_stimulationEncoder.getInputStimulationSet()->appendStimulation(OVTK_StimulationId_TrainCompleted, 0, 0); + m_stimulationEncoder.getInputStimulationSet()->push_back(OVTK_StimulationId_TrainCompleted, 0, 0); m_stimulationEncoder.encodeBuffer(); boxContext.markOutputAsReadyToSend(0, boxContext.getInputChunkStartTime(0, 0), boxContext.getInputChunkEndTime(0, 0)); @@ -359,22 +359,22 @@ bool CBoxAlgorithmEOG_Denoising_Calibration::process() for (size_t chunk = 0; chunk < boxContext.getInputChunkCount(2); ++chunk) { m_algo2StimulationDecoder.decode(chunk); - for (size_t j = 0; j < m_algo2StimulationDecoder.getOutputStimulationSet()->getStimulationCount(); ++j) + for (size_t j = 0; j < m_algo2StimulationDecoder.getOutputStimulationSet()->size(); ++j) { - if (m_algo2StimulationDecoder.getOutputStimulationSet()->getStimulationIdentifier(j) == 33025) + if (m_algo2StimulationDecoder.getOutputStimulationSet()->getId(j) == 33025) { m_startTime = m_time; this->getLogManager() << Kernel::LogLevel_Info << "Start time: " << m_startTime << "\n"; } - if (m_algo2StimulationDecoder.getOutputStimulationSet()->getStimulationIdentifier(j) == 33031) + if (m_algo2StimulationDecoder.getOutputStimulationSet()->getId(j) == 33031) { m_endTime = m_time; this->getLogManager() << Kernel::LogLevel_Info << "End time: " << m_endTime << "\n"; } - // m_trainDate = m_algo2StimulationDecoder.getOutputStimulationSet()->getStimulationDate(m_algo2StimulationDecoder.getOutputStimulationSet()->getStimulationCount()); - m_trainDate = m_algo2StimulationDecoder.getOutputStimulationSet()->getStimulationDate(j); + // m_trainDate = m_algo2StimulationDecoder.getOutputStimulationSet()->getDate(m_algo2StimulationDecoder.getOutputStimulationSet()->size()); + m_trainDate = m_algo2StimulationDecoder.getOutputStimulationSet()->getDate(j); } } return true; diff --git a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.h b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.h index fd1d7fe19a2f29347ef0d7ae93f971e6b0458fc8..5bc7875e5043aeeed44be8c0bacd7542d0c0713d 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.h +++ b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.h @@ -3,7 +3,7 @@ #if defined(TARGET_HAS_ThirdPartyEIGEN) //You may have to change this path to match your folder organisation -#include "../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmInverse_DWT.h b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmInverse_DWT.h index 6d3a0304deeed67258d1db63e66e88527c6a5ee5..3981eedc9f04834f56a6d204faa2e2b6cac45561 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmInverse_DWT.h +++ b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmInverse_DWT.h @@ -3,12 +3,11 @@ #if defined(TARGET_HAS_ThirdPartyFFTW3) // required by wavelet2s //You may have to change this path to match your folder organisation -#include "../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> #include <string> -#include <sstream> namespace OpenViBE { namespace Plugins { diff --git a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmQuadraticForm.h b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmQuadraticForm.h index b97b34323e84eee24badc324de15d65d6bb36bf4..4e9f42c77897ee2be7c83cced90b395b3f9755b5 100644 --- a/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmQuadraticForm.h +++ b/plugins/processing/signal-processing/src/box-algorithms/ovpCBoxAlgorithmQuadraticForm.h @@ -1,6 +1,6 @@ #pragma once -#include "../ovp_defines.h" +#include "defines.hpp" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> diff --git a/plugins/processing/signal-processing/src/ovp_defines.h b/plugins/processing/signal-processing/src/defines.hpp old mode 100755 new mode 100644 similarity index 93% rename from plugins/processing/signal-processing/src/ovp_defines.h rename to plugins/processing/signal-processing/src/defines.hpp index e2e45757f6a3b59bf9495ea186b885b75b85738c..5e759c1e65274bafc3f9134a19fcce4af6809ad5 --- a/plugins/processing/signal-processing/src/ovp_defines.h +++ b/plugins/processing/signal-processing/src/defines.hpp @@ -42,23 +42,20 @@ #define OVP_ClassId_SignalConcatenationDesc OpenViBE::CIdentifier(0x3921BACD, 0x1E9546FE) #define OVP_ClassId_BoxAlgorithm_QuadraticForm OpenViBE::CIdentifier(0x54E73B81, 0x1AD356C6) #define OVP_ClassId_BoxAlgorithm_QuadraticFormDesc OpenViBE::CIdentifier(0x31C11856, 0x3E4F7B67) -#define OVP_ClassId_BoxAlgorithm_EpochVariance OpenViBE::CIdentifier(0x335384EA, 0x88C917D9) -#define OVP_ClassId_BoxAlgorithm_EpochVarianceDesc OpenViBE::CIdentifier(0xA15EAEC5, 0xAB0CE73D) -#define OVP_ClassId_Algorithm_MatrixVariance OpenViBE::CIdentifier(0x7FEFDCA9, 0x816ED903) -#define OVP_ClassId_Algorithm_MatrixVarianceDesc OpenViBE::CIdentifier(0xE405260B, 0x59EEFAE4) #define OVP_ClassId_Algorithm_HilbertTransform OpenViBE::CIdentifier(0x344B79DE, 0x89EAAABB) #define OVP_ClassId_Algorithm_HilbertTransformDesc OpenViBE::CIdentifier(0x8CAB236A, 0xA789800D) #define OVP_ClassId_BoxAlgorithm_Hilbert OpenViBE::CIdentifier(0x7878A47F, 0x9A8FE349) #define OVP_ClassId_BoxAlgorithm_HilbertDesc OpenViBE::CIdentifier(0x2DB54E2F, 0x435675EF) #define OVP_ClassId_Algorithm_ARBurgMethod OpenViBE::CIdentifier(0x3EC6A165, 0x2823A034) #define OVP_ClassId_Algorithm_ARBurgMethodDesc OpenViBE::CIdentifier(0xD7234DFF, 0x55447A14) -#define OVP_ClassId_BoxAlgorithm_XDAWNSpatialFilterTrainer OpenViBE::CIdentifier(0xAE241F9F, 0x599FAD88) -#define OVP_ClassId_BoxAlgorithm_XDAWNSpatialFilterTrainerDesc OpenViBE::CIdentifier(0x46FFAD13, 0x5F5C68CE) -#define OVP_ClassId_BoxAlgorithm_IFFTbox OpenViBE::CIdentifier(0xD533E997, 0x4AFD2423) -#define OVP_ClassId_BoxAlgorithm_IFFTboxDesc OpenViBE::CIdentifier(0xD533E997, 0x4AFD2423) #define OVP_ClassId_BoxAlgorithm_Matrix3dTo2d OpenViBE::CIdentifier(0x3ab2b81e, 0x73ef01a5) #define OVP_ClassId_BoxAlgorithm_Matrix3dTo2dDesc OpenViBE::CIdentifier(0xb9099590, 0xae33d758) +#define Box_EpochVariance OpenViBE::CIdentifier(0x335384EA, 0x88C917D0) +#define Box_EpochVarianceDesc OpenViBE::CIdentifier(0xA15EAEC5, 0xAB0CE730) +#define Box_IFFT OpenViBE::CIdentifier(0xD533E997, 0x4AFD2423) +#define Box_IFFTDesc OpenViBE::CIdentifier(0xD533E997, 0x4AFD2423) + // Type definitions //--------------------------------------------------------------------------------------------------- diff --git a/plugins/processing/signal-processing/src/ovp_main.cpp b/plugins/processing/signal-processing/src/main.cpp old mode 100755 new mode 100644 similarity index 94% rename from plugins/processing/signal-processing/src/ovp_main.cpp rename to plugins/processing/signal-processing/src/main.cpp index 12d8bd202f5b60d5ac55d681255eb70d5c885e9a..78cc9e7bcc6da5327fc71f2a3b51006cb52505d0 --- a/plugins/processing/signal-processing/src/ovp_main.cpp +++ b/plugins/processing/signal-processing/src/main.cpp @@ -1,32 +1,25 @@ -#include "box-algorithms/basic/ovpCBoxAlgorithmMatrixTranspose.h" -#include "box-algorithms/basic/ovpCBoxAlgorithmDifferentialIntegral.h" - -#include "box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.hpp" +#include "defines.hpp" -#include "box-algorithms/basic/ovpCBoxAlgorithmHilbert.h" +#include "algorithms/basic/ovpCAlgorithmARBurgMethod.h" #include "algorithms/basic/ovpCHilbertTransform.h" +#include "box-algorithms/CBoxAlgorithmMatrix3dTo2d.hpp" +#include "box-algorithms/ovpCBoxAlgorithmDiscreteWaveletTransform.h" +#include "box-algorithms/ovpCBoxAlgorithmEOG_Denoising.h" +#include "box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.h" +#include "box-algorithms/ovpCBoxAlgorithmInverse_DWT.h" #include "box-algorithms/ovpCBoxAlgorithmQuadraticForm.h" -#include "box-algorithms/filters/ovpCBoxAlgorithmXDAWNSpatialFilterTrainer.h" - -#include "box-algorithms/basic/ovpCBoxAlgorithmIFFTbox.h" - -#include "algorithms/basic/ovpCAlgorithmARBurgMethod.h" +#include "box-algorithms/basic/CBoxEpochVariance.hpp" #include "box-algorithms/basic/ovpCBoxAlgorithmARCoefficients.h" - -#include "algorithms/basic/ovpCMatrixVariance.h" -#include "box-algorithms/basic/ovpCBoxAlgorithmEpochVariance.h" +#include "box-algorithms/basic/ovpCBoxAlgorithmDifferentialIntegral.h" #include "box-algorithms/basic/ovpCBoxAlgorithmERSPAverage.h" - +#include "box-algorithms/basic/ovpCBoxAlgorithmHilbert.h" +#include "box-algorithms/basic/CBoxIFFT.hpp" +#include "box-algorithms/basic/ovpCBoxAlgorithmMatrixTranspose.h" //#include "box-algorithms/basic/ovpCBoxAlgorithmNull.h" -#include "box-algorithms/ovpCBoxAlgorithmEOG_Denoising.h" -#include "box-algorithms/ovpCBoxAlgorithmEOG_Denoising_Calibration.h" -#include "box-algorithms/ovpCBoxAlgorithmDiscreteWaveletTransform.h" -#include "box-algorithms/ovpCBoxAlgorithmInverse_DWT.h" - -#include "box-algorithms/CBoxAlgorithmMatrix3dTo2d.hpp" +#include "box-algorithms/connectivity/CBoxAlgorithmConnectivityMeasure.hpp" namespace OpenViBE { namespace Plugins { @@ -39,25 +32,20 @@ OVP_Declare_Begin() //OVP_Declare_New(CBoxAlgorithmNullDesc) OVP_Declare_New(CBoxAlgorithmERSPAverageDesc) OVP_Declare_New(CBoxAlgorithmQuadraticFormDesc) - OVP_Declare_New(CEpochVarianceDesc); + OVP_Declare_New(CBoxEpochVarianceDesc) OVP_Declare_New(CBoxAlgorithmMatrix3dTo2dDesc) #if defined TARGET_HAS_ThirdPartyEIGEN - OVP_Declare_New(CBoxAlgorithmARCoefficientsDesc); - OVP_Declare_New(CAlgorithmARBurgMethodDesc); + OVP_Declare_New(CBoxAlgorithmARCoefficientsDesc) + OVP_Declare_New(CAlgorithmARBurgMethodDesc) OVP_Declare_New(CAlgorithmHilbertTransformDesc) OVP_Declare_New(CBoxAlgorithmConnectivityMeasureDesc) - OVP_Declare_New(CBoxAlgorithmEOG_DenoisingDesc); - OVP_Declare_New(CBoxAlgorithmEOG_Denoising_CalibrationDesc); + OVP_Declare_New(CBoxAlgorithmEOG_DenoisingDesc) + OVP_Declare_New(CBoxAlgorithmEOG_Denoising_CalibrationDesc) OVP_Declare_New(CBoxAlgorithmHilbertDesc) + OVP_Declare_New(CBoxIFFTDesc) #endif -#if defined TARGET_HAS_ThirdPartyITPP - OVP_Declare_New(CBoxAlgorithmXDAWNSpatialFilterTrainerDesc) - OVP_Declare_New(CMatrixVarianceDesc) - OVP_Declare_New(CBoxAlgorithmIFFTboxDesc) -#endif // TARGET_HAS_ThirdPartyITPP - #if defined(TARGET_HAS_ThirdPartyFFTW3) OVP_Declare_New(CBoxAlgorithmDiscreteWaveletTransformDesc) OVP_Declare_New(CBoxAlgorithmInverse_DWTDesc) diff --git a/plugins/processing/signal-processing/test/ARFeatures.xml b/plugins/processing/signal-processing/test/ARFeatures.xml index 8a3ece6ee688ce0cd35e4ad0b267949dea5ad98c..eed370ddfcbe11af590592b32f0c81eb4db6d587 100644 --- a/plugins/processing/signal-processing/test/ARFeatures.xml +++ b/plugins/processing/signal-processing/test/ARFeatures.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -48,7 +48,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -369,7 +369,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>31</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> diff --git a/plugins/processing/signal-processing/test/CMakeLists.txt b/plugins/processing/signal-processing/test/CMakeLists.txt index 3db641f93b6b3df8a94bf23746fedb583183563a..9da150b1f009d60b9d394fd9f530e48b42afa67f 100644 --- a/plugins/processing/signal-processing/test/CMakeLists.txt +++ b/plugins/processing/signal-processing/test/CMakeLists.txt @@ -42,14 +42,13 @@ include_directories(../src) add_executable(${PROJECT_NAME} test_eigen.cpp) target_link_libraries(${PROJECT_NAME} - openvibe - openvibe-module-system + openvibe + openvibe-module-system + Eigen3::Eigen ) set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${TESTS_FOLDER}) # Place project in folder unit-test (for some IDE) -include("FindThirdPartyEigen") - if(WIN32) # Since cert, getting timeBeginPeriod() linker issues without this target_link_libraries(${PROJECT_NAME} winmm) diff --git a/plugins/processing/signal-processing/test/DartTestfile.txt b/plugins/processing/signal-processing/test/DartTestfile.txt index 3cf85f3a5d67c67113efdc7a07f4be7add1b95ba..6811bcd3eb814f67ed8e4d7c7e1dc656ffbeb60a 100644 --- a/plugins/processing/signal-processing/test/DartTestfile.txt +++ b/plugins/processing/signal-processing/test/DartTestfile.txt @@ -123,3 +123,76 @@ SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES DEPENDS clean_${TEST_NAME}) #ENDFOREACH(TEST_NAME) +################################################## +SET(PATH_TEST scenarios-tests) +SET(TEST_NAME Epoch-Variance) + +ADD_TEST(clean_${TEST_NAME}_block_averaged "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-block-averaged-output.csv") +ADD_TEST(clean_${TEST_NAME}_block_confidence "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-block-confidence-output.csv") +ADD_TEST(clean_${TEST_NAME}_block_variance "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-block-variance-output.csv") + +ADD_TEST(clean_${TEST_NAME}_cumul_averaged "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-cumul-averaged-output.csv") +ADD_TEST(clean_${TEST_NAME}_cumul_confidence "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-cumul-confidence-output.csv") +ADD_TEST(clean_${TEST_NAME}_cumul_variance "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-cumul-variance-output.csv") + +ADD_TEST(clean_${TEST_NAME}_moving_averaged "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-moving-averaged-output.csv") +ADD_TEST(clean_${TEST_NAME}_moving_confidence "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-moving-confidence-output.csv") +ADD_TEST(clean_${TEST_NAME}_moving_variance "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-moving-variance-output.csv") + +ADD_TEST(clean_${TEST_NAME}_movingI_averaged "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-movingI-averaged-output.csv") +ADD_TEST(clean_${TEST_NAME}_movingI_confidence "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-movingI-confidence-output.csv") +ADD_TEST(clean_${TEST_NAME}_movingI_variance "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-o-movingI-variance-output.csv") + +ADD_TEST(run_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--no-session-management" "--invisible" "--play-fast" "${PATH_TEST}/${TEST_NAME}-test.xml") + +ADD_TEST(compare_${TEST_NAME}_block_averaged "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-block-averaged-output.csv" "${PATH_TEST}/${TEST_NAME}-o-block-averaged-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_block_confidence "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-block-confidence-output.csv" "${PATH_TEST}/${TEST_NAME}-o-block-confidence-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_block_variance "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-block-variance-output.csv" "${PATH_TEST}/${TEST_NAME}-o-block-variance-ref.csv" 0.0001) + +ADD_TEST(compare_${TEST_NAME}_cumul_averaged "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-cumul-averaged-output.csv" "${PATH_TEST}/${TEST_NAME}-o-cumul-averaged-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_cumul_confidence "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-cumul-confidence-output.csv" "${PATH_TEST}/${TEST_NAME}-o-cumul-confidence-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_cumul_variance "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-cumul-variance-output.csv" "${PATH_TEST}/${TEST_NAME}-o-cumul-variance-ref.csv" 0.0001) + +ADD_TEST(compare_${TEST_NAME}_moving_averaged "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-moving-averaged-output.csv" "${PATH_TEST}/${TEST_NAME}-o-moving-averaged-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_moving_confidence "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-moving-confidence-output.csv" "${PATH_TEST}/${TEST_NAME}-o-moving-confidence-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_moving_variance "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-moving-variance-output.csv" "${PATH_TEST}/${TEST_NAME}-o-moving-variance-ref.csv" 0.0001) + +ADD_TEST(compare_${TEST_NAME}_movingI_averaged "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-movingI-averaged-output.csv" "${PATH_TEST}/${TEST_NAME}-o-movingI-averaged-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_movingI_confidence "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-movingI-confidence-output.csv" "${PATH_TEST}/${TEST_NAME}-o-movingI-confidence-ref.csv" 0.0001) +ADD_TEST(compare_${TEST_NAME}_movingI_variance "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-o-movingI-variance-output.csv" "${PATH_TEST}/${TEST_NAME}-o-movingI-variance-ref.csv" 0.0001) + +SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_CONFIG_SUBDIR}) +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_block_averaged PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_block_confidence PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_block_variance PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") + +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_cumul_averaged PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_cumul_confidence PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_cumul_variance PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") + +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_moving_averaged PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_moving_confidence PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_moving_variance PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") + +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_movingI_averaged PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_movingI_confidence PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME}_movingI_variance PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") + +SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES DEPENDS run_${TEST_NAME}) +SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES DEPENDS clean_${TEST_NAME}) + +################################################## +SET(TEST_NAME IFFT) + +ADD_TEST(clean_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-output.csv") +ADD_TEST(run_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--no-session-management" "--invisible" "--play-fast" "${PATH_TEST}/${TEST_NAME}-test.xml") +ADD_TEST(compare_${TEST_NAME} "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-output.csv" "${PATH_TEST}/${TEST_NAME}-ref.csv" 0.0001) +SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv") + +################################################## +SET(TEST_NAME xDawn) + +ADD_TEST(clean_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-output.xml") +ADD_TEST(run_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--no-session-management" "--invisible" "--play-fast" "${PATH_TEST}/${TEST_NAME}-test.xml") +#ADD_TEST(compare_${TEST_NAME} "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-output.xml" "${PATH_TEST}/${TEST_NAME}-ref.xml" 0.0001) +#SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.xml") diff --git a/plugins/processing/signal-processing/test/HilbertTransform.xml b/plugins/processing/signal-processing/test/HilbertTransform.xml index dbd048b07cb30b85573ab36459c4609cffe001bf..2b391458cf2c9d681710b66342a31282b211b0a2 100644 --- a/plugins/processing/signal-processing/test/HilbertTransform.xml +++ b/plugins/processing/signal-processing/test/HilbertTransform.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000073, 0x00000fa8)</Identifier> @@ -30,11 +33,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -44,10 +43,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xceff4a87, 0xffc5ce08)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -98,15 +93,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -116,10 +107,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -170,11 +157,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -188,10 +171,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -250,10 +229,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>176</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>304</Value> @@ -270,10 +245,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>134</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -336,11 +307,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -350,14 +317,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -408,15 +367,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -426,10 +381,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -475,10 +426,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>176</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>496</Value> @@ -487,10 +434,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>130</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -530,11 +473,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -544,10 +483,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -570,24 +505,6 @@ <BoxIdentifier>(0x00007e4d, 0x00004f1e)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>195</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>223</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00000d5d, 0x000071c1)</Identifier> @@ -599,24 +516,6 @@ <BoxIdentifier>(0x00003ea7, 0x0000084b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>83</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>152</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00002664, 0x0000778d)</Identifier> @@ -628,24 +527,6 @@ <BoxIdentifier>(0x00000073, 0x00000fa8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>201</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>248</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004492, 0x00004a72)</Identifier> @@ -657,24 +538,6 @@ <BoxIdentifier>(0x00000f8a, 0x00002000)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>319</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>360</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004a3f, 0x00004a44)</Identifier> @@ -686,24 +549,6 @@ <BoxIdentifier>(0x0000680a, 0x00004283)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>289</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>360</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>128</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00006420, 0x000075f2)</Identifier> @@ -715,24 +560,6 @@ <BoxIdentifier>(0x00002df6, 0x0000453f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>297</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>360</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -740,7 +567,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000036c7, 0x000030bb)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002384, 0x00003bec)","index":0,"name":"Default tab","parentIdentifier":"(0x000036c7, 0x000030bb)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00002860, 0x00006a2e)","index":0,"name":"Empty","parentIdentifier":"(0x00002384, 0x00003bec)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000036c7, 0x000030bb)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002384, 0x00003bec)","index":0,"name":"Default tab","parentIdentifier":"(0x000036c7, 0x000030bb)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00002860, 0x00006a2e)","index":0,"name":"Empty","parentIdentifier":"(0x00002384, 0x00003bec)","type":0}]</Data> </Entry> </Metadata> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/signal-processing/test/PhaseLockingValue.xml b/plugins/processing/signal-processing/test/PhaseLockingValue.xml index 5357319210bd9f231dec9a133489b00a94d6bbcb..a578b6162620018a1e765deecf59c603c5c316d4 100644 --- a/plugins/processing/signal-processing/test/PhaseLockingValue.xml +++ b/plugins/processing/signal-processing/test/PhaseLockingValue.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000ed4, 0x0000252d)</Identifier> @@ -34,10 +37,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>144</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>496</Value> @@ -46,10 +45,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>130</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -91,10 +86,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>208</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>496</Value> @@ -103,10 +94,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>133</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -159,11 +146,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>51</Value> + <Value>208</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -173,10 +156,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xadf93ac3, 0x3981887a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>168</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -235,11 +214,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -253,10 +228,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>120</Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -315,11 +286,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -329,14 +296,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x78b8b69d, 0x27afe678)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>123</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -363,24 +322,6 @@ <BoxIdentifier>(0x00004fc8, 0x00002927)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>328</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004c1a, 0x00003616)</Identifier> @@ -392,24 +333,6 @@ <BoxIdentifier>(0x000035a8, 0x0000075a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>163</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>191</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004c86, 0x000076d6)</Identifier> @@ -421,24 +344,6 @@ <BoxIdentifier>(0x00003c03, 0x00004b5b)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>210</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -446,7 +351,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000030b1, 0x0000307f)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000031f8, 0x00006493)","index":0,"name":"Default tab","parentIdentifier":"(0x000030b1, 0x0000307f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00003a9b, 0x0000762a)","index":0,"name":"Empty","parentIdentifier":"(0x000031f8, 0x00006493)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":1,"identifier":"(0x000030b1, 0x0000307f)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":1},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000031f8, 0x00006493)","index":0,"name":"Default tab","parentIdentifier":"(0x000030b1, 0x0000307f)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00003a9b, 0x0000762a)","index":0,"name":"Empty","parentIdentifier":"(0x000031f8, 0x00006493)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-input.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-input.csv new file mode 100644 index 0000000000000000000000000000000000000000..a5557f4a8f7142051c80827b236d18adc19a0c17 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-input.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,0.0000000000,1.3687341120,0.0834505686,1.3965074831,2.3460347303,0.6652579106,1.6342771847,2.0374036140,0.0000000000,0.0834505686,3.3460347303,1.6342771847,0.0223674799,1.0605198516,0.2862985568,-0.8460419110,0.0000000000,1.3965074831,1.6342771847,0.8587778323,0.2862985568,0.7209285523,1.5912609145,1.6531536145,0.0000000000,2.3460347303,0.0223674799,0.2862985568,1.2564364343,0.3100244990,0.5189549878,-1.3302670931,,, +0.2500000000,0.5000000000,0.0223674799,0.8587778323,1.0605198516,-0.8527917255,0.2862985568,0.6745718556,-0.8460419110,0.7209285523,1.2564364343,1.5912609145,0.3100244990,1.3612667999,0.5189549878,-2.0249997390,-1.3302670931,-1.0731867792,0.5189549878,-0.8135359478,-1.0731867792,-0.1597583084,0.7847811254,0.7541775274,0.0634287720,-0.0655390377,-2.2082337379,0.7847811254,-0.2119004478,-1.8827722525,0.9814084992,1.5472144212,0.7819705904,0.9506913659,,, +0.5000000000,0.7500000000,1.2564364343,-0.0631007468,1.5912609145,1.8564555014,0.3100244990,1.6531536145,1.3612667999,-3.5404879020,-2.2082337379,-0.2987362122,0.7847811254,-0.8355661309,-0.2119004478,0.0634287720,-1.8827722525,-0.8086493471,0.9814084992,2.4069561396,2.8779488994,2.0520274556,0.9506913659,0.7412410587,1.3761889031,1.7027679072,-0.5852777802,0.2823791178,0.9030515780,-2.4793752101,-1.7310810939,0.9701626979,-0.4108610506,-0.2124145663,,, +0.7500000000,1.0000000000,0.5189549878,-0.1244988728,-2.0249997390,-0.8135359478,-1.3302670931,-2.7774418870,-1.0731867792,-1.2560591950,0.9814084992,0.2724851298,1.5472144212,2.8779488994,0.7819705904,0.2993489279,0.9506913659,-0.8668315473,0.9030515780,-0.4594717137,-1.0439874057,-0.2805237468,0.9701626979,1.4263392704,0.8667484914,0.3301381800,0.8068531766,0.6869181620,2.0694974039,0.3641695321,-1.8389984936,0.6679934029,0.1385386313,-2.4206456881,,, +1.0000000000,1.2500000000,-2.2082337379,-0.1597583084,-0.2987362122,-1.1495363031,0.7847811254,0.2599756842,-0.8355661309,0.7541775274,-0.5852777802,1.3761889031,0.2823791178,-0.0385524690,0.9030515780,-1.2879184845,-2.4793752101,-1.0439874057,0.8068531766,1.9907896528,2.5877673403,1.8235323387,0.3641695321,-0.4451458738,-0.1234290101,0.4456384107,-0.7723189861,0.0983659614,5.4087503374,1.3163956500,-0.3034584827,0.7048895721,2.5309068373,-0.8266210987,,, +1.2500000000,1.5000000000,-0.2119004478,-1.4354651966,0.0634287720,-0.9654362809,-1.8827722525,-0.0655390377,-0.8086493471,-1.1988821934,-1.7310810939,-1.5706412435,0.9701626979,0.5424888696,-0.4108610506,0.8667484914,-0.2124145663,-1.3394010772,0.1385386313,-1.0080375931,-1.7974455953,-1.2808655550,0.0983659614,0.9871376509,0.6661389185,-0.1688100058,-1.7466375845,0.2727140524,-0.8262613606,-0.9489926046,-0.5547380276,-0.6953344902,1.9635447878,1.5699068231,,, +1.5000000000,1.7500000000,0.9814084992,0.4099144509,0.2724851298,2.4069561396,1.5472144212,1.1997027388,2.8779488994,1.4563051832,0.8068531766,1.1952068865,0.6869181620,2.5877673403,2.0694974039,-0.1839871598,0.3641695321,-0.2026887361,-0.3034584827,0.4983557018,1.1867185475,0.6771519036,-0.8266210987,-2.0168971580,-1.9643056971,-1.1487345134,-1.0425910551,1.1445444315,1.5013198216,-1.2419463750,-1.0463628150,-1.1194784628,-0.7420012388,0.7176546469,,, +1.7500000000,2.0000000000,0.7819705904,2.0520274556,0.2993489279,-0.3417921204,0.9506913659,-0.6688572272,-0.8668315473,0.7412410587,-1.8389984936,-0.1234290101,0.6679934029,-0.7611641008,0.1385386313,0.0043701116,-2.4206456881,-1.7974455953,-0.8262613606,-1.4955637468,-2.2938779901,-2.0424755980,-0.6953344902,0.5394431118,0.5615308290,-0.3822991487,-1.0909272040,-0.3859075051,2.8650857800,0.8737882447,-0.6117828212,0.7816769419,-0.1516857685,-0.4131300313,,, +2.0000000000,2.2500000000,-0.5852777802,-0.3568127661,1.3761889031,0.0324007523,0.2823791178,1.7027679072,-0.0385524690,-0.0554208172,-0.7723189861,-1.6840958410,0.0983659614,1.8606501325,0.4087503374,0.6661389185,1.3163956500,-0.6897861214,-1.0425910551,-0.6769683658,0.0737680120,-0.0164610272,-1.2419463750,-2.5427995283,-2.6920820881,-1.6940570431,-0.9497739372,-2.3559666125,0.4128262271,1.3211814381,-1.2291006398,0.6576534641,2.2084155704,0.5039915002,,, +2.2500000000,2.5000000000,0.9030515780,-1.1992994843,-1.2879184845,-0.4594717137,-2.4793752101,-2.1726756896,-1.0439874057,-2.6298261328,-0.3034584827,1.5710854567,0.7048895721,1.1867185475,2.5309068373,0.3807813663,-0.8266210987,-0.1052226362,-0.7420012388,-0.7922659696,-1.4509880084,-3.4927627539,-0.3859075051,1.0007956907,1.3630557893,0.4624831701,0.3243588722,-0.7607044707,-0.9995277474,0.6782850799,-1.5904395907,-2.2268648350,1.3784805497,0.9541473858,,, +2.5000000000,2.7500000000,-1.7310810939,-0.2805237468,-1.5706412435,-0.3846152674,0.9701626979,-0.4783392019,0.5424888696,1.4263392704,-1.7466375845,-1.9643056971,0.2727140524,-0.2942868426,-0.8262613606,0.5368167826,-0.9489926046,-2.2938779901,-0.6117828212,-0.7284838207,-0.0203749932,0.3347196668,-0.4131300313,-1.6227881216,-1.9662756714,-0.9734886565,-0.1603763521,1.0964841466,0.6291119609,1.0644429647,0.4825889334,-2.4009484456,-0.6742923707,0.8125103403,,, +2.7500000000,3.0000000000,-0.4108610506,0.3635555387,0.8667484914,-1.1002432968,-0.2124145663,0.3301381800,-1.3394010772,0.0041022005,-0.5547380276,-0.5968321736,-0.6953344902,1.9100213158,1.9635447878,0.5615308290,1.5699068231,0.7251494037,0.4128262271,0.9308023856,0.4463823054,0.0426636172,0.6576534641,1.9028072080,2.4783674333,1.6998640384,-1.8494334914,-0.8971534422,1.1069949952,0.7912462530,1.4702474315,0.2464688260,-0.4482837744,1.7383508457,,, +3.0000000000,3.2500000000,0.8068531766,-0.4912335635,1.1952068865,1.9907896528,0.6869181620,2.2564956184,2.5877673403,0.8953186036,-1.0425910551,0.5893078056,1.1445444315,0.0737680120,1.5013198216,1.3168811607,-1.2419463750,-1.0211462797,0.3243588722,-0.3080250331,0.1958671810,0.8883208288,0.6782850799,-0.3157015938,-0.8753223314,-0.1299899339,-0.4315280454,-2.7643803080,-0.1897743319,0.0114502696,-0.7741952885,0.2792427283,-0.0063782440,1.5184145208,,, +3.2500000000,3.5000000000,2.0694974039,1.8235323387,-0.1839871598,0.8200513727,0.3641695321,-1.4990336855,-0.2026887361,-0.4451458738,-1.0463628150,-2.6920820881,-1.1194784628,0.4282048889,-0.7420012388,0.0949124460,0.7176546469,-3.4509880084,1.3784805497,2.2848351796,1.9524956297,1.1561678807,1.0964841466,1.9292948033,2.5655088240,1.9820311065,2.2274498842,-1.0708097558,-0.4579413455,1.3246878224,-1.3229268867,-1.7358532045,-0.5956776917,-0.5174254152,,, +3.5000000000,3.7500000000,-1.8389984936,-0.0912575086,-0.1234290101,-1.2117474109,0.6679934029,0.4456384107,-0.7611641008,0.8470458326,-1.0909272040,0.4355042258,-0.3859075051,0.8702078730,2.8650857800,1.3630557893,0.8737882447,1.5190458612,0.4825889334,-0.5981556844,-0.4068856788,0.4843950700,0.8125103403,0.1532086532,-0.5766315153,-0.2412622290,1.1467688435,0.3428316999,-0.6407408097,2.4003691243,1.5387091828,-1.4887291762,-0.2453985203,-0.2134703607,,, +3.7500000000,4.0000000000,3.1385386313,-1.3353997060,0.0043701116,-1.0080375931,-2.4206456881,-0.9395340306,-1.7974455953,-2.7180780314,-0.6117828212,-1.0513076674,0.7816769419,-0.0203749932,-0.1516857685,1.3451047636,-0.4131300313,-1.9703264255,1.1069949952,2.2186267603,2.0590285388,0.9761195490,0.2464688260,0.5465998956,1.1687187342,0.9097323660,-1.0133258960,-0.5325571084,-1.6244991150,0.0997748588,2.4269124897,-0.2036214940,-0.1745101669,2.1418587490,,, +4.0000000000,4.2500000000,-0.7723189861,-1.2808655550,-1.6840958410,0.5621986200,0.0983659614,-0.2036004516,1.8606501325,0.9871376509,-0.9497739372,-1.9662756714,-2.3559666125,0.2326467119,0.4128262271,-0.2453224994,1.3211814381,0.4463823054,-0.4315280454,-1.7403637988,-1.8417807445,-0.8451463680,0.0114502696,-0.1722950538,-0.9238158916,-1.0182130516,0.3403443506,-0.7055335942,-0.8776538362,-1.5934803325,0.3268928833,-0.2224224967,-1.9913265080,1.2816197960,,, +4.2500000000,4.5000000000,0.4087503374,2.0306267967,0.6661389185,-0.0986454486,1.3163956500,-0.1688100058,-0.6897861214,0.9355137218,-1.2291006398,0.3530693071,0.6576534641,0.0272639229,2.2084155704,2.4783674333,0.5039915002,0.9639543981,-0.0063782440,1.1785364181,1.2700366680,0.1363600204,-1.0708097558,-1.2623176879,-0.6561812935,-0.4500766717,2.2316009870,-0.1218676333,0.5685098797,0.5013551605,-0.0630998880,0.2050039337,-2.1904913958,-1.6627065276,,, +4.5000000000,4.7500000000,-0.3034584827,-0.3386875992,1.5710854567,0.4983557018,0.7048895721,2.5225353348,1.1867185475,1.1942482732,0.3243588722,-1.9062872569,-0.7607044707,0.1958671810,-0.9995277474,0.1897809985,0.6782850799,-1.6946984350,-1.3229268867,-2.5598552254,-2.8525797785,-1.8324179939,-0.5174254152,-0.1405557019,-0.7450991679,-1.2063198145,1.3608217321,-0.4934669717,-0.9834341811,1.6467899274,1.2563684948,0.9485678810,0.3616207236,-3.3141503457,,, +4.7500000000,5.0000000000,2.5309068373,0.6771519036,0.3807813663,1.2989304814,-0.8266210987,-1.0543215730,-0.1052226362,-2.0168971580,-1.5904395907,-0.8753223314,-2.2268648350,-0.8191135751,1.3784805497,0.4731135773,0.9541473858,1.9524956297,-0.6407408097,0.4848661573,0.8733864765,-0.0657413107,-1.4887291762,-2.0684361890,-1.5028247523,-0.7998792476,0.4598607025,0.1463891898,-2.8719383531,-0.7095830712,1.1618134295,-0.1603183729,0.6044175730,0.6622647617,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-averaged-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-averaged-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..3db32e55d8d9511f793ea3a0860476cc5dd452a2 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-averaged-ref.csv @@ -0,0 +1,6 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.7500000000,1.0000000000,0.4494397255,0.5099780812,0.1775578989,0.3966588278,0.4030226732,0.0538853734,0.2690788236,-0.5095537327,0.0074027989,0.4121151002,1.4970136940,1.2594816883,0.2778481526,-0.1504255469,-0.4940123557,-0.8986773961,0.6008537662,0.6326139903,0.5987629748,0.6176308082,0.7479834365,0.9106716022,0.9744067703,0.9051301660,-0.4966645854,1.0250282839,0.6957540035,-0.9279198434,-0.3330586635,0.8738487553,0.2571507897,-0.7531589954,,, +1.7500000000,2.0000000000,-0.1641887740,0.2166796004,0.0841316544,-0.0124521412,0.3499786650,0.1813205395,0.0917254685,0.4382103940,-0.8371260478,0.2193313840,0.6518633452,0.5826349100,0.6750566406,-0.1501967603,-1.1870664831,-1.0958807036,-0.0460820088,-0.0036139963,-0.0792094244,-0.2056642277,-0.2648550239,-0.2338655673,-0.2150162399,-0.3135513143,-1.1631187074,0.2824292350,2.2372236446,-0.0001887712,-0.6290855366,-0.0820616098,0.9001911544,0.2619525850,,, +2.7500000000,3.0000000000,-0.4560420867,-0.3682701146,-0.1539055834,-0.4779823814,-0.3598119902,-0.1545272011,-0.4698630206,-0.3137013698,-0.8442882702,-0.6685370637,0.0951587739,1.1657757883,1.0192351505,0.5363169741,0.2776721924,-0.5909343360,-0.4958872220,-0.3167289426,-0.2378031710,-0.7829601243,-0.3458326118,-0.3154961878,-0.2042336342,-0.1262996228,-0.6588062271,-0.7293350947,0.2873513589,0.9637889339,-0.2166759664,-0.9309227476,0.6160799938,1.0022500180,,, +3.7500000000,4.0000000000,1.0439726795,-0.0235896099,0.2230402071,0.1477640054,-0.1753911478,0.0658915782,-0.0433827730,-0.3552148673,-0.9479159738,-0.6796444310,0.1052088514,0.3379514452,0.8681796486,1.0299885399,-0.0159083787,-1.2308537131,0.8231058376,0.8993203056,0.9501264177,0.8762508321,0.7084370982,0.5783504396,0.5705684279,0.6301278274,0.4823411966,-1.0062288681,-0.7282389005,0.9590705188,0.4671248743,-0.7872402866,-0.2554911557,0.7323443735,,, +4.7500000000,5.0000000000,0.4659699265,0.2720563865,0.2334774751,0.5652098386,0.3232575212,0.2739508261,0.5630899806,0.2750006220,-0.8612388239,-1.0987039882,-1.1714706135,-0.0908339398,0.7500486499,0.7239848774,0.8644013510,0.4170334746,-0.6003934964,-0.6592041122,-0.6377343446,-0.6517364131,-0.7663785194,-0.9109011581,-0.9569802763,-0.8686221964,1.0981569431,-0.2936197523,-1.0411291227,-0.0387295790,0.6704937299,0.1927077363,-0.8039449018,-0.7582430789,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-confidence-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-confidence-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..2a8ddfd30438f2df957a2079968d9edd6dacee5f --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-confidence-ref.csv @@ -0,0 +1,6 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.7500000000,1.0000000000,1.9578805668,2.0855769712,1.2306100743,1.8393273536,1.8540233828,0.6779316593,1.5149218432,-1.#IND000000,0.2512745150,1.8748206626,3.5732496019,3.2775278921,1.5394097192,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.2637833497,2.3228430348,2.2598412728,2.2951704456,2.5257854544,2.7869640361,2.8828404945,2.7784717602,-1.#IND000000,2.9567757796,2.4360058363,-1.#IND000000,-1.#IND000000,2.7300374424,1.4809636489,-1.#IND000000,,, +1.7500000000,2.0000000000,-1.#IND000000,1.3594382346,0.8470912231,-1.#IND000000,1.7277116135,1.2435806870,0.8844951113,1.9332668526,-1.#IND000000,1.3677315245,2.3579182722,2.2291983807,2.3994990061,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5520485140,4.3682266868,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7708807659,1.4947267668,,, +2.7500000000,3.0000000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9008964723,3.1532469412,2.9484085631,2.1387559887,1.5389221910,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5655145024,2.8670907211,-1.#IND000000,-1.#IND000000,2.2922871531,2.9237383466,,, +3.7500000000,4.0000000000,2.9839739963,-1.#IND000000,1.3792469976,1.1226252209,-1.#IND000000,0.7496618709,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9472761588,1.6977651768,2.7211674539,2.9639212724,-1.#IND000000,-1.#IND000000,2.6495877570,2.7695401605,2.8466964792,2.7337870955,2.4581088771,2.2209869281,2.2059940448,2.3182741735,2.0282787735,-1.#IND000000,-1.#IND000000,2.8600639116,1.9960295408,-1.#IND000000,-1.#IND000000,2.4992410301,,, +4.7500000000,5.0000000000,1.9935604615,1.5232806669,1.4111492897,2.1956106261,1.6604461159,1.5285750784,2.1914893645,1.5315010733,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.5292699503,2.4849360398,2.7152397689,1.8859749745,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,3.0604315701,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.3913757885,1.2820354742,-1.#IND000000,-1.#IND000000,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-variance-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-variance-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..445a116af29589b57968e4a6acf0ad096e6ad73a --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-block-variance-ref.csv @@ -0,0 +1,6 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.7500000000,1.0000000000,0.2941957023,0.6375241830,2.0928469822,1.7059063114,2.1398515876,3.0665182087,1.6902975840,4.6939605438,1.9062295191,0.6038222210,2.2569831333,2.1296577130,0.1627250257,1.3668373295,1.5338751836,0.2572638123,0.2034779550,1.9879092995,3.2488531480,1.0648816670,0.1870056301,0.2472754718,0.6470259148,0.9521460042,1.4849556080,1.1787346335,0.8132225539,2.0165453603,2.2617306866,0.4461523848,0.2584451582,1.6244386541,,, +1.7500000000,2.0000000000,1.8637366625,1.6520993946,0.0602445443,2.1632808770,1.7842661672,0.4994455719,2.6906816332,1.0143521879,1.3086388982,1.4641434459,0.1725410222,1.7579191233,1.0246288585,0.6342872140,2.0289074594,0.6183751884,0.3998942561,2.0144901877,4.3770627010,2.4631449631,0.2671053687,1.3837418779,1.1605217171,0.3464659110,0.5371193140,0.3568995230,6.9128742039,1.2897033504,0.1643270296,0.7404370028,2.7459336416,0.9599953587,,, +2.7500000000,3.0000000000,0.9237543079,0.4318780005,1.7544104093,0.1817372871,1.8074551246,2.0492933839,0.6046716366,2.3232723084,0.5014333602,2.0821106569,0.2948094746,1.2157419443,2.0154199109,0.0947537260,1.4137396114,1.4413007816,0.5082951836,0.6755898667,0.6013915491,2.9318617689,0.6281588298,3.7237531886,5.1507448393,1.9069683754,0.7191312502,1.9052018534,0.6258636694,0.3775136839,1.8725996425,2.3262562981,2.0250583938,0.3641057542,,, +3.7500000000,4.0000000000,3.6600078172,1.4130877971,0.3871437396,2.0586566814,1.7912063335,2.2488932695,2.9480322251,2.2060983945,0.3622392155,1.9177240646,0.8497374729,0.1669978819,2.3379694860,0.5297918084,0.7880626766,3.8905072660,0.3505371029,1.9630708967,1.3213360552,0.2972622584,0.3085983120,0.8228862404,2.0373706145,0.9365960933,1.8912401215,2.0046293042,0.3375622456,1.2899077604,2.5441621377,0.9440441001,0.0686253736,1.3471098473,,, +4.7500000000,5.0000000000,1.6226041748,1.5597230101,1.5058435214,0.2762199566,0.7616939261,1.9111993024,1.2387108247,2.0600173546,0.7094839729,1.2834272346,1.8095281516,0.1896566378,1.6256095340,1.3188637488,0.3316442042,1.8265342257,0.2987320134,2.6395882078,3.3913577976,0.7588583714,0.3955457025,0.7457745671,0.2910195076,0.2946259451,1.0462932587,0.1691601302,1.5460591847,1.5841481688,0.3620358700,0.2362093711,2.4195804353,3.7041196537,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-averaged-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-averaged-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..b6be08d5c5755f8f75116e8dae688e08d1055bc6 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-averaged-ref.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,0.0000000000,1.3687341120,0.0834505686,1.3965074831,2.3460347303,0.6652579106,1.6342771847,2.0374036140,0.0000000000,0.0834505686,3.3460347303,1.6342771847,0.0223674799,1.0605198516,0.2862985568,-0.8460419110,0.0000000000,1.3965074831,1.6342771847,0.8587778323,0.2862985568,0.7209285523,1.5912609145,1.6531536145,0.0000000000,2.3460347303,0.0223674799,0.2862985568,1.2564364343,0.3100244990,0.5189549878,-1.3302670931,,, +0.2500000000,0.5000000000,0.0111837400,1.1137559722,0.5719852101,0.2718578788,1.3161666435,0.6699148831,0.3941176368,1.3791660831,0.6282182172,0.8373557416,1.8280296146,1.4977719923,0.2706612339,-0.4822399437,-0.5219842681,-0.9596143451,0.2594774939,0.2914857677,0.2805452027,0.3495097620,0.5355398411,0.7375530398,0.8273448433,0.7938072884,-1.1041168690,1.5654079278,-0.0947664839,-0.7982368478,1.1189224668,0.9286194601,0.6504627891,-0.1897878636,,, +0.5000000000,0.7500000000,0.4262679714,0.7214703992,0.9117437782,0.8000570863,0.9807859287,0.9976611269,0.7165006912,-0.2607185786,-0.3172657679,0.4586584236,1.4802801182,0.7199926179,0.1098073400,-0.3003503718,-0.9755802629,-0.9092926791,0.5001211623,0.9966425583,1.1463464350,0.9170156598,0.6739236827,0.7387823795,1.0102928632,1.0967941613,-0.9311705060,1.1377316578,0.2378395367,-1.3586163019,0.1689212799,0.9424672060,0.2966881759,-0.1973300978,,, +0.7500000000,1.0000000000,0.4494397255,0.5099780812,0.1775578989,0.3966588278,0.4030226732,0.0538853734,0.2690788236,-0.5095537327,0.0074027989,0.4121151002,1.4970136940,1.2594816883,0.2778481526,-0.1504255469,-0.4940123557,-0.8986773962,0.6008537662,0.6326139903,0.5987629748,0.6176308082,0.7479834365,0.9106716022,0.9744067703,0.9051301660,-0.4966645854,1.0250282839,0.6957540035,-0.9279198434,-0.3330586635,0.8738487553,0.2571507897,-0.7531589954,,, +1.0000000000,1.2500000000,-0.0820949672,0.3760308033,0.0822990767,0.0874198016,0.4793743637,0.0951034356,0.0481498327,-0.2568074807,-0.1111333169,0.6049298608,1.2540867787,0.9998748568,0.4028888377,-0.3779241344,-0.8910849266,-0.9277393981,0.6420536483,0.9042491228,0.9965638479,0.8588111143,0.6712206556,0.6395081070,0.7548396142,0.8132318149,-0.5517954655,0.8396958194,1.6383532703,-0.4790567447,-0.3271386273,0.8400569186,0.7119019992,-0.7678514161,,, +1.2500000000,1.5000000000,-0.1037292139,0.0741148033,0.0791540259,-0.0880562121,0.0856832610,0.0683296900,-0.0946500306,-0.4138199328,-0.3811246131,0.2423346767,1.2067660986,0.9236438590,0.2672638563,-0.1704786968,-0.7779731999,-0.9963496779,0.5581344788,0.5855346701,0.5308956074,0.5021983361,0.5757448733,0.6974463643,0.7400561649,0.6495581782,-0.7509358187,0.7451988582,1.2275841651,-0.5573793880,-0.3650718607,0.5841583505,0.9205091307,-0.3782250429,,, +1.5000000000,1.7500000000,0.0512904594,0.1220861815,0.1067727550,0.2683741238,0.2944734267,0.2299544113,0.3300069594,-0.1466592019,-0.2114135003,0.3784592781,1.1325021077,1.1613757849,0.5247257917,-0.1724084772,-0.6148099525,-0.8829695434,0.4350497700,0.5730805318,0.6245845988,0.5271917029,0.3754068773,0.3096830040,0.3537187560,0.3926592222,-0.7926008525,0.8022482258,1.2666892589,-0.6551746719,-0.4623991399,0.3407816629,0.6830076493,-0.2216708015,,, +1.7500000000,2.0000000000,0.1426254757,0.3633288408,0.1308447766,0.1921033433,0.3765006691,0.1176029565,0.1804021461,-0.0356716694,-0.4148616244,0.3157232421,1.0744385196,0.9210582992,0.4764523966,-0.1503111536,-0.8405394194,-0.9972790499,0.2773858787,0.3144999970,0.2597767752,0.2059832903,0.2415642063,0.3384030175,0.3796952652,0.2957894259,-0.8298916464,0.6537287595,1.4664888241,-0.4640543073,-0.4810721001,0.3958935728,0.5786709721,-0.2456032052,,, +2.0000000000,2.2500000000,0.0617473362,0.2833131067,0.2692163463,0.1743586110,0.3660427190,0.2937323954,0.1560738555,-0.0378660191,-0.4545791091,0.0935211217,0.9659860131,1.0254573917,0.4689299456,-0.0595944789,-0.6008799673,-0.9631131689,0.1307217749,0.2043368456,0.2391091348,0.1812672550,0.0767296973,0.0182694013,0.0383866704,0.0746953737,-0.8432119009,0.3193181626,1.3494152022,-0.2656947801,-0.5641863823,0.4249780051,0.7597537052,-0.1623149046,,, +2.2500000000,2.5000000000,0.1458777604,0.1350518476,0.1135028632,0.1109755785,0.0815009261,0.0470915869,0.0360677294,-0.2970620305,-0.4394670464,0.2412775552,0.9398763690,1.0415835073,0.6751276348,-0.0155568944,-0.6234540804,-0.8773241157,0.0434494736,0.1046765640,0.0700994205,-0.1861357459,0.0304659770,0.1165220302,0.1708535823,0.1134741534,-0.7264548236,0.2113158992,1.1145209072,-0.1712967941,-0.6668117031,0.1597937211,0.8216263897,-0.0506686756,,, +2.5000000000,2.7500000000,-0.0247548627,0.0972722481,-0.0396011465,0.0659218652,0.1622883599,-0.0006748484,0.0821060149,-0.1403891849,-0.5583007317,0.0407699868,0.8792252493,0.9201407482,0.5386377261,0.0346588944,-0.6530484917,-1.0061017406,-0.0161170987,0.0289347109,0.0618744738,-0.1387852538,-0.0098609328,-0.0415970745,-0.0234308954,0.0146593525,-0.6749931444,0.2917857399,1.0703928212,-0.0589568160,-0.5623207361,-0.0730010213,0.6856337751,0.0278021441,,, +2.7500000000,3.0000000000,-0.0569303784,0.1194625223,0.0359279900,-0.0312585649,0.1310631160,0.0268929040,-0.0363529095,-0.1283482362,-0.5580038397,-0.0123635265,0.7480119377,1.0026307955,0.6573799812,0.0785648890,-0.4678022155,-0.8618308119,0.0196281785,0.1040903504,0.0939167931,-0.1236645146,0.0457652669,0.1204366157,0.1850522987,0.1550930763,-0.7728631733,0.1927074747,1.0734430024,0.0118934398,-0.3929400555,-0.0463785340,0.5911406460,0.1703478692,,, +3.0000000000,3.2500000000,0.0095145104,0.0724859003,0.1251032897,0.1242836057,0.1738211965,0.1984008051,0.1655024943,-0.0496046331,-0.5952797793,0.0339188836,0.7785144372,0.9311798122,0.7222984305,0.1738199868,-0.5273517662,-0.8740858479,0.0430690011,0.0723891671,0.1017591306,-0.0458194882,0.0944206372,0.0868875227,0.1034850195,0.1331636140,-0.7466066250,-0.0347608162,0.9762724382,0.0118593497,-0.4222673811,-0.0213307446,0.5451776544,0.2740453039,,, +3.2500000000,3.5000000000,0.1566561457,0.1975606459,0.1030254005,0.1739813033,0.1874175062,0.0771554843,0.1392031207,-0.0778575789,-0.6274999962,-0.1607954715,0.6429435158,0.8952530320,0.6177055970,0.1681837339,-0.4384227367,-1.0581502879,0.1384555402,0.2304210251,0.2339545949,0.0400367525,0.1659966021,0.2184880427,0.2793438626,0.2652255777,-0.5341740172,-0.1087643119,0.8738285965,0.1056328121,-0.4866002030,-0.1437966346,0.4636879869,0.2175116811,,, +3.5000000000,3.7500000000,0.0236125031,0.1783061023,0.0879284398,0.0815993890,0.2194558993,0.1017210127,0.0791786393,-0.0161973514,-0.6583951434,-0.1210421583,0.5743534477,0.8935833547,0.7675309425,0.2478418709,-0.3509420046,-0.8863372113,0.1613977665,0.1751825778,0.1912319100,0.0696606403,0.2090975180,0.2141360834,0.2222788374,0.2314597240,-0.4221111598,-0.0786579111,0.7728573027,0.2586152329,-0.3515795772,-0.2334588041,0.4164155530,0.1887795450,,, +3.7500000000,4.0000000000,0.2182953861,0.0836994893,0.0827060442,0.0134970776,0.0544495501,0.0366425725,-0.0381103754,-0.1850648939,-0.6554818732,-0.1791837526,0.5873111661,0.8364609579,0.7100798981,0.3164208017,-0.3548287563,-0.9540865372,0.2204975933,0.3028978392,0.3079691993,0.1263143221,0.2114332248,0.2349150717,0.2814313310,0.2738517641,-0.4590620808,-0.1070266110,0.6230225266,0.2486877095,-0.1779238231,-0.2315939722,0.3794826955,0.3108469953,,, +4.0000000000,4.2500000000,0.1600239524,0.0034309573,-0.0212234784,0.0457736390,0.0570328684,0.0225106299,0.0735814192,-0.1161118031,-0.6727931711,-0.2843068067,0.4141771791,0.8009424729,0.6925943880,0.2833770781,-0.2562399213,-0.8717060171,0.1821431439,0.1827059782,0.1815133202,0.0691695756,0.1996695215,0.2109615349,0.2105344355,0.1978479514,-0.4120381731,-0.1422329041,0.5347474465,0.1403248835,-0.1482287227,-0.2310544736,0.2400233306,0.3679512777,,, +4.2500000000,4.5000000000,0.1738420849,0.1160529483,0.0169633214,0.0377503563,0.1269974674,0.0118817057,0.0311721114,-0.0576881628,-0.7036991416,-0.2488970226,0.4277036394,0.7579603312,0.7768066759,0.4053209867,-0.2140048423,-0.7697248829,0.1716697335,0.2380298915,0.2419868395,0.0729023781,0.1290873394,0.1291126892,0.1623835617,0.1618521390,-0.2651693309,-0.1411015002,0.5366231372,0.1603821211,-0.1434993430,-0.2068290065,0.1049947347,0.2551369552,,, +4.5000000000,4.7500000000,0.1487210024,0.0921192353,0.0987592233,0.0619927429,0.1574128413,0.1440213704,0.0919903449,0.0082032286,-0.6495908251,-0.3361280876,0.3651558441,0.7283764812,0.6833153905,0.3939767768,-0.1670422148,-0.8184077014,0.0930067535,0.0907727801,0.0791149123,-0.0273776415,0.0950603524,0.1149196160,0.1146213128,0.0898430888,-0.1795908539,-0.1596470513,0.4566201204,0.2386141109,-0.0698220884,-0.1460186440,0.1185013657,0.0672797288,,, +4.7500000000,5.0000000000,0.2678302942,0.1213708687,0.1128603304,0.1238396298,0.1082111443,0.0841042232,0.0821296958,-0.0930517908,-0.6966332634,-0.3630877997,0.2355548102,0.6510019784,0.7180736484,0.3979336168,-0.1109827348,-0.6798625349,0.0563193753,0.1104774489,0.1188284905,-0.0292958249,0.0158708759,0.0057518257,0.0337490095,0.0453569720,-0.1476182761,-0.1443452392,0.2901921968,0.1912042518,-0.0082403125,-0.1467336305,0.1427971761,0.0970289804,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-confidence-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-confidence-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..27a549be915dcb65aba6df0aeac2645b6d6a1622 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-confidence-ref.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,,, +0.2500000000,0.5000000000,0.7119204392,16.2310774506,31.0985232231,71.5915287599,65.5580462301,0.2964476930,78.9445153382,41.9012561250,39.9903244429,47.9911464558,96.6312587308,8.6894757000,15.8055712276,98.2070609659,51.4526505742,7.2296510407,16.5174916668,70.3420813198,86.1741663789,32.4183457368,15.8658879218,1.0582607009,48.6284076177,54.7031866498,70.2844817403,49.6921583084,7.4563664182,69.0379895358,8.7536910386,39.3777393234,8.3713580683,72.5991911139,,, +0.5000000000,0.7500000000,4.1201443192,4.1584886307,4.3825937579,8.3073169584,6.7752811527,3.2529395342,7.7933472897,16.7069259324,10.0505524793,5.7261213064,9.3580424434,7.7588662424,2.1384272832,9.0226218326,6.4589537126,0.8203371327,2.8133426239,9.4378445307,11.5762785679,6.3434755206,1.9814213143,0.0960383362,4.7389704150,5.7697386694,6.5554206509,6.1664597914,3.3686067047,8.3398067092,9.4614817490,3.5472811656,3.5911100659,6.5355011562,,, +0.7500000000,1.0000000000,1.7198997166,2.1261923030,4.6600227369,4.1836304595,4.3974788830,5.6762853645,4.1650408342,7.1027536085,4.5922921947,2.3983384255,3.8955031853,4.5116041258,1.3248653663,3.8554602758,3.8905418121,0.3469619223,1.3102810892,4.4661076592,5.7824566924,3.1664432009,0.9311337790,1.0047844981,1.9831938171,2.6491917995,3.7259765603,2.6492151055,3.0197318615,4.2864004736,4.9090981091,1.5296157510,1.5121506978,4.2351883284,,, +1.0000000000,1.2500000000,2.6630312034,1.4372377385,2.8788995528,2.9244116927,2.7079073246,3.4709928360,2.7389536960,4.4901757237,2.8565595266,1.7124392197,2.6283469121,3.0028102100,0.9928735994,2.5765577979,2.9975031228,0.2505643561,0.8222059384,3.0000080564,3.9774068696,2.2295468758,0.6694262252,1.3910560445,1.5773994075,1.6719539847,2.2891066614,1.8288127308,4.7152424408,3.3347347885,2.9974993184,0.9468160065,2.2882534875,2.5867871672,,, +1.2500000000,1.5000000000,1.9062396286,1.5931709301,2.0586417817,2.2076037689,2.5038530709,2.4843350895,2.0414166582,3.2725927824,2.3146218662,1.9070828628,1.8891016056,2.1690958610,0.8961654443,2.0233924448,2.1913983550,0.3295984769,0.6783511858,2.5006768834,3.4080030094,2.1469284158,0.6142814093,1.0217619905,1.1295184230,1.3656127695,1.8232020467,1.3620997734,3.7565519861,2.4053766769,2.1488597167,1.2341106796,1.8397897474,2.4268515756,,, +1.5000000000,1.7500000000,1.5889087517,1.2507506650,1.6030289379,2.1654529954,2.0940487201,2.0214131328,2.2350073950,2.7291840946,1.9055487581,1.5655538257,1.4936030428,1.9021115530,1.1815622645,1.5723796188,1.8071685502,0.4922345487,0.6972182889,1.9438060257,2.6710150957,1.6709334586,0.8829083699,1.6423000013,1.6798700871,1.4259357811,1.4251927446,1.0794026022,2.9227867626,1.9040395640,1.7084038281,1.3167627723,1.6790830478,1.9731840242,,, +1.7500000000,2.0000000000,1.3376044183,1.3259236402,1.3131028112,1.7901616082,1.7356840475,1.6985381085,1.9005412851,2.2645313535,1.7126878093,1.2984586663,1.2377399596,1.7677447215,0.9805314087,1.2876676356,1.6752111685,0.5673862827,0.7932548105,1.8285665257,2.5292586295,1.7689599678,0.8603956558,1.3462569498,1.3762173665,1.2139263323,1.1723115105,1.0240548863,2.4894417638,1.6940748022,1.3980647048,1.0935310341,1.4203027726,1.6151544667,,, +2.0000000000,2.2500000000,1.1631822060,1.1529024795,1.2035251611,1.5149364662,1.4681190092,1.5531213820,1.6091751928,1.9149085982,1.4543725804,1.3271932986,1.1080936239,1.5353068650,0.8295243744,1.1306013844,1.6288983883,0.4932894772,0.8319381077,1.5898100151,2.1398726064,1.4981349866,0.9139119445,1.5651830860,1.6327309341,1.2665118467,0.9923171458,1.4173622454,2.1414183181,1.5795840618,1.2146560700,0.9298284964,1.3459611681,1.3940781286,,, +2.2500000000,2.5000000000,1.0440880195,1.1088977890,1.1589220646,1.3284424028,1.5724557714,1.5661156821,1.4475407996,1.8604801380,1.2608664618,1.2459808308,0.9636742483,1.3310543652,0.9825705662,0.9898304097,1.4130054745,0.5102375741,0.7744996188,1.4148081163,1.9334105217,1.7635114719,0.8058630720,1.3929933955,1.4784823298,1.1043817061,0.9396533678,1.2770294430,2.0060142695,1.4023459981,1.1038355604,1.1796362594,1.1832046139,1.2610039451,,, +2.5000000000,2.7500000000,1.0680298835,0.9854715223,1.1316090558,1.1805006281,1.4105128992,1.3897572448,1.2852006254,1.7146203561,1.1742580217,1.2695743939,0.8715292172,1.2356113078,0.9686854502,0.8875255160,1.2499513115,0.6075760986,0.7087972879,1.2708934077,1.7056814783,1.5628340377,0.7222584633,1.3270307450,1.4422327899,1.0232870820,0.8447719778,1.1549896969,1.7750448805,1.2872417605,1.0284790306,1.2755860477,1.1292056208,1.1398075387,,, +2.7500000000,3.0000000000,0.9606608362,0.8842829923,1.0391496928,1.0983485085,1.2655523623,1.2462080243,1.2071588692,1.5343384883,1.0504801994,1.1476750172,0.8797427249,1.1346678527,0.9417862646,0.8055967041,1.2575267420,0.7044147895,0.6437285320,1.1606427646,1.5291278251,1.3988846224,0.6688239627,1.2894099667,1.4435727827,1.0140188228,0.8145642409,1.0780911202,1.5879661272,1.1723895505,1.0598428292,1.1441185270,1.0519435533,1.1116242640,,, +3.0000000000,3.2500000000,0.8924765168,0.8127619710,0.9787667764,1.1014000621,1.1523479793,1.2431928936,1.2541279164,1.4087734491,0.9571471892,1.0478614257,0.8013225616,1.0494586777,0.8747883532,0.7847423190,1.1521116178,0.6383699756,0.5867547903,1.0544683177,1.3835820557,1.2876902822,0.6230580226,1.1709988273,1.3295282941,0.9198070354,0.7412732007,1.1975100918,1.4669457512,1.0606399203,0.9629965560,1.0378874722,0.9619747716,1.0543693112,,, +3.2500000000,3.5000000000,0.9275873255,0.8322263565,0.8960952264,1.0166715590,1.0529022044,1.1923598680,1.1477687108,1.2890369178,0.8792582079,1.1221905826,0.8378741946,0.9642586150,0.8585866551,0.7166787987,1.0854633400,0.8044366935,0.6079040476,1.0740012087,1.3245023428,1.2037838737,0.6083468730,1.1402602763,1.3244269089,0.9292485906,0.9314095735,1.1158327042,1.3744267735,1.0087319987,0.9003285534,1.0168761277,0.9119502470,0.9775965688,,, +3.5000000000,3.7500000000,0.9408036473,0.7677896001,0.8256304616,0.9749271116,0.9733524389,1.0994042627,1.0709570808,1.2000331234,0.8141278732,1.0391739751,0.7974267244,0.8871305680,0.9071171695,0.7006885352,1.0320214353,0.8996172952,0.5634254332,1.0016689657,1.2251592220,1.1109850106,0.5741967420,1.0491179300,1.2302555058,0.8607962432,0.9195404517,1.0304693077,1.2997046375,1.0337489694,0.9206707046,0.9728553237,0.8507127187,0.9034453579,,, +3.7500000000,4.0000000000,1.0430613084,0.7636373826,0.7646446168,0.9247669739,1.0240644571,1.0358946591,1.0501519362,1.2174979191,0.7538878411,0.9773532834,0.7393611788,0.8385040951,0.8568327745,0.6795432219,0.9556654055,0.8565864034,0.5500010491,1.0009362479,1.1854391961,1.0421706974,0.5317200868,0.9733549771,1.1524093236,0.8067807675,0.8583792379,0.9578144607,1.2818927563,0.9576432927,0.9942803246,0.9008288718,0.7951970443,0.9105961162,,, +4.0000000000,4.2500000000,0.9859642967,0.7486563695,0.7739517924,0.8661685409,0.9535057697,0.9653734902,1.0307516894,1.1513276607,0.7037412776,0.9603886313,0.8541718630,0.7875687284,0.7994045360,0.6400212901,0.9352261786,0.8330481409,0.5241997215,0.9958688643,1.1638870230,0.9845843357,0.4962596183,0.9089583769,1.0927730719,0.7832850585,0.8109271540,0.8977014428,1.2210636717,0.9461419276,0.9297989165,0.8387364126,0.8450366276,0.8640789888,,, +4.2500000000,4.5000000000,0.9232678601,0.7727136694,0.7324644987,0.8106599632,0.9147895447,0.9036607790,0.9721005855,1.0903293273,0.6644361880,0.9043141718,0.8000641793,0.7472506404,0.7866848730,0.6952834271,0.8834530173,0.8335054837,0.4913429228,0.9453617599,1.1028664741,0.9211714129,0.5073349528,0.8828248910,1.0318025129,0.7401753068,0.8699026622,0.8398327579,1.1423542584,0.8870506313,0.8699624830,0.7877977682,0.8821169255,0.8719912034,,, +4.5000000000,4.7500000000,0.8703695366,0.7291847089,0.7272764743,0.7647617353,0.8638436086,0.9302533725,0.9298640903,1.0417174340,0.6433394423,0.8858831827,0.7728797610,0.7071478569,0.7865189173,0.6539971791,0.8408933068,0.7954736610,0.5141348811,0.9840821544,1.1372156131,0.9122612935,0.4865737723,0.8303722343,0.9790241395,0.7255900940,0.8535452611,0.7907816868,1.0976097544,0.8632256303,0.8443504605,0.7605112787,0.8296130018,0.9815629402,,, +4.7500000000,5.0000000000,0.8886175615,0.6926325419,0.6869445516,0.7424952084,0.8266034209,0.8937416830,0.8772352900,1.0240757359,0.6213639999,0.8388647746,0.8176597065,0.7025642299,0.7482565926,0.6167667780,0.8089479449,0.8483528787,0.4960170889,0.9296154029,1.0782986937,0.8602011521,0.5116857695,0.8429626040,0.9516884643,0.6959059592,0.8100008949,0.7469228773,1.1392246545,0.8251711259,0.8154103711,0.7170994004,0.7853355404,0.9294342211,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-variance-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-variance-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..268eda114a24b61d07207acdf65531878109f226 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-cumul-variance-ref.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,0.0000000000,,, +0.2500000000,0.5000000000,0.0002501521,0.1300277036,0.4773321919,2.5296734649,2.1212565522,0.0000433748,3.0759914082,0.8665532940,0.7893162567,1.1367460196,4.6086790623,0.0372673351,0.1232995765,4.7602155720,1.3066422502,0.0257973956,0.1346571397,2.4421459832,3.6651805579,0.5187079350,0.1242424356,0.0005527472,1.1671355278,1.4769522164,2.4381481206,1.2187564094,0.0274407310,2.3524340879,0.0378201825,0.7653194518,0.0345886036,2.6013857458,,, +0.5000000000,0.7500000000,0.5170098336,0.5266777641,0.5849737498,2.1018199410,1.3980689478,0.3222744884,1.8497882053,8.5009417582,3.0764780261,0.9986079856,2.6671286679,1.8334559333,0.1392717138,2.4793592351,1.2705691046,0.0204955080,0.2410566953,2.7128112898,4.0814256001,1.2255427999,0.1195714806,0.0002809074,0.6839776979,1.0138792437,1.3088053936,1.1580991805,0.3456006604,2.1182924416,2.7264168565,0.3832350061,0.3927637327,1.3008635288,,, +0.7500000000,1.0000000000,0.3468209432,0.5300345117,2.5460981214,2.0521339139,2.2672874826,3.7777003503,2.0339374473,5.9149702412,2.4726240637,0.6744037809,1.7792058288,2.3864977837,0.2057986680,1.7428159692,1.7746766667,0.0141144089,0.2012926935,2.3386080532,3.9203409834,1.1755536909,0.1016537090,0.1183708912,0.4611363786,0.8228598442,1.6277185094,0.8228743223,1.0691430759,2.1541927186,2.8255466918,0.2743239712,0.2680953081,2.1030254060,,, +1.0000000000,1.2500000000,1.6727613550,0.4872352501,1.9549448071,2.0172443120,1.7296135151,2.8417699060,1.7695011806,4.7556310204,1.9247221016,0.6916904952,1.6294718024,2.1268518725,0.2325248656,1.5658900136,2.1193406327,0.0148088065,0.1594566715,2.1228842659,3.7314834108,1.1725049684,0.1057029044,0.4564263740,0.5869009641,0.6593714178,1.2359859518,0.7888963537,5.2443241956,2.6230349457,2.1193352530,0.2114524195,1.2350647938,1.5783483906,,, +1.2500000000,1.5000000000,1.3410173278,0.9367078263,1.5640151937,1.7985464380,2.3136469181,2.2777169255,1.5379517502,3.9524222771,1.9771494813,1.3422040011,1.3170129225,1.7363484882,0.2963847059,1.5109136684,1.7722380825,0.0400912682,0.1698198993,2.3077808267,4.2862681901,1.7010400162,0.1392560736,0.3852821492,0.4708320735,0.6882314905,1.2267300430,0.6846951370,5.2078469029,2.1352345753,1.7041017836,0.5620663987,1.2491534468,2.1735309766,,, +1.5000000000,1.7500000000,1.2857321336,0.7966986272,1.3086855542,2.3880867891,2.2331924316,2.0809552915,2.5439613726,3.7933092237,1.8492376004,1.2482126840,1.1361167512,1.8425723537,0.7109937921,1.2591207920,1.6632207859,0.1233947745,0.2475655015,1.9242364278,3.6333335482,1.4219060255,0.3969939165,1.3735914230,1.4371562156,1.0355057570,1.0344268611,0.5933616933,4.3505768776,1.8463095689,1.4863930146,0.8830141501,1.4358098811,1.9828404274,,, +1.7500000000,2.0000000000,1.1687927963,1.1484687027,1.1263661728,2.0934693892,1.9679926894,1.8846587594,2.3595911208,3.3499537651,1.9161899142,1.1013830680,1.0007854003,2.0413676832,0.6280658157,1.0831527269,1.8332481545,0.2103002558,0.4110622223,2.1842566535,4.1789638838,2.0441753480,0.4835913843,1.1839627902,1.2372464170,0.9626464227,0.8977764217,0.6850599922,4.0484248249,1.8747670091,1.2768405909,0.7811678524,1.3177833216,1.7041595887,,, +2.0000000000,2.2500000000,1.0815651578,1.0625327742,1.1578906227,1.8346195953,1.7229779217,1.9282706279,2.0699690222,2.9312528810,1.6908634822,1.4080742251,0.9815447407,1.8842892576,0.5500668742,1.0218242716,2.1210220123,0.1945184906,0.5532726785,2.0204478512,3.6604377606,1.7941513711,0.6676761996,1.9583372314,2.1310146269,1.2822588388,0.7871512316,1.6059015189,3.6657278183,1.9945396515,1.1794073722,0.6911350087,1.4481790126,1.5535721093,,, +2.2500000000,2.5000000000,1.0321705341,1.1642875866,1.2717029972,1.6709470616,2.3411762495,2.3223352201,1.9839871672,3.2773838395,1.5052735063,1.4699411698,0.8793013491,1.6775243006,0.9141232028,0.9276813299,1.8904488057,0.2465029416,0.5679624823,1.8952753626,3.5393652892,2.9446508693,0.6148932733,1.8372799966,2.0697100514,1.1548235720,0.8360121347,1.5441129057,3.8101780254,1.8620339323,1.1536816734,1.3175692748,1.3255525242,1.5056017906,,, +2.5000000000,2.7500000000,1.2492238935,1.0635591074,1.4023819131,1.5261805634,2.1788513286,2.1151996539,1.8089032115,3.2196556414,1.5100820480,1.7651831876,0.8318353557,1.6720036516,1.0276353294,0.8626510768,1.7110380461,0.4042730910,0.5501961759,1.7688529379,3.1861729075,2.6748485425,0.5712928022,1.9285701610,2.2779500869,1.1467492284,0.7815422700,1.4609309629,3.4505803906,1.8146535164,1.1584154900,1.7819396605,1.3964311752,1.4227759764,,, +2.7500000000,3.0000000000,1.1480812507,0.9727808151,1.3433484538,1.5007653079,1.9924741253,1.9320285479,1.8128476661,2.9286994874,1.3728029196,1.6385900317,0.9628171575,1.6016586145,1.1034106137,0.8073610880,1.9672833271,0.6172902022,0.5155110398,1.6758285672,2.9088413477,2.4344241342,0.5564883821,2.0683046021,2.5924466218,1.2791588680,0.8254354834,1.4459170888,3.1370029074,1.7099221198,1.3973827705,1.6284502278,1.3766303040,1.5372641109,,, +3.0000000000,3.2500000000,1.1098018154,0.9204041863,1.3347817924,1.6902153010,1.8502019097,2.1534206508,2.1914698800,2.7652484120,1.2764661201,1.5298876617,0.8946776266,1.5345552226,1.0662469949,0.8580369349,1.8494429867,0.5678017688,0.4796949246,1.5492407320,2.6672374314,2.3103334822,0.5408898359,1.9105779266,2.4629012768,1.1788140128,0.7656114754,1.9980677023,2.9983335395,1.5674286249,1.2921154027,1.5009021350,1.2893748676,1.5489498220,,, +3.2500000000,3.5000000000,1.3275416965,1.0686155521,1.2389303346,1.5947767955,1.7104667208,2.1935788977,2.0325784725,2.5637122010,1.1928104117,1.9429955167,1.0831689170,1.4345827827,1.1373832468,0.7924788366,1.8178953536,0.9984407629,0.5701756011,1.7797053221,2.7067242920,2.2358136388,0.5710065881,2.0060721500,2.7064159906,1.3323010836,1.3385048650,1.9210414299,2.9146188678,1.5699656636,1.2506638777,1.5954186435,1.2831601084,1.4745445427,,, +3.5000000000,3.7500000000,1.4982264523,0.9978469316,1.1538540840,1.6088804386,1.6036874059,2.0459466685,1.9414383715,2.4376196556,1.1219273198,1.8279150113,1.0763686702,1.3321544012,1.3928560988,0.8310544873,1.8028388628,1.3699195649,0.5373439586,1.6983528043,2.5407652596,2.0892762855,0.5580857375,1.8630653754,2.5619468192,1.2542387137,1.4312686347,1.7974201155,2.8593598383,1.8088795752,1.4347892841,1.6020497384,1.2250260600,1.3816029672,,, +3.7500000000,4.0000000000,2.0047674878,1.0745303824,1.0773668531,1.5758285397,1.9324084367,1.9773134780,2.0321165541,2.7313716291,1.0472679595,1.7601411304,1.0072971983,1.2955515992,1.3528089857,0.8508999708,1.6828913147,1.3520311325,0.5574056604,1.8461082920,2.5894224244,2.0013454344,0.5209673101,1.7457692787,2.4471346445,1.1993761605,1.3576966547,1.6904686378,3.0279432111,1.6898644951,1.8216378005,1.4953020641,1.1651822314,1.5279035013,,, +4.0000000000,4.2500000000,1.9371940395,1.1169038665,1.1936543013,1.4950494550,1.8117463595,1.8571264863,2.1171852381,2.6414878909,0.9869082896,1.8379968701,1.4539225400,1.2360261915,1.2734560561,0.8162808130,1.7429465000,1.3829005384,0.5475758910,1.9763099426,2.6994320417,1.9317752196,0.4907593933,1.6464128215,2.3796370155,1.2226170027,1.3104318281,1.6058855603,2.9711690867,1.7838704991,1.7227760208,1.4018506331,1.4229898878,1.4878448166,,, +4.2500000000,4.5000000000,1.8266783831,1.2795104708,1.1496875127,1.4082640845,1.7932838562,1.7499172843,2.0250188189,2.5475460416,0.9460480830,1.7524487577,1.3716910570,1.1965731295,1.3261976462,1.0359299979,1.6725286694,1.4887561790,0.5173400063,1.9151496535,2.6064687593,1.8183921918,0.5515643934,1.6701512123,2.2813914873,1.1740209287,1.6216158256,1.5114447451,2.7964577624,1.6861782104,1.6218388614,1.3299525497,1.6674735911,1.6294118179,,, +4.5000000000,4.7500000000,1.7371865576,1.2193101855,1.2129368058,1.3411933638,1.7112337797,1.9844565861,1.9827960664,2.4885075396,0.9491163446,1.7996664086,1.3698183054,1.1467257240,1.4185917878,0.9808234622,1.6215146892,1.4510778220,0.6061683189,2.2207609309,2.9656829685,1.9084359676,0.5429208083,1.5811924570,2.1979909318,1.2073183066,1.6706758963,1.4340104045,2.7627081689,1.7087862835,1.6348751216,1.3263264005,1.5783023219,2.2094053515,,, +4.7500000000,5.0000000000,1.9294961538,1.1722491264,1.1530748510,1.3471049878,1.6695849837,1.9518127931,1.8803830267,2.5625850374,0.9434226727,1.7194836456,1.6336511652,1.2061080122,1.3680917920,0.9295143064,1.5990251169,1.7586005685,0.6011839975,2.1116442562,2.8411377571,1.8080655579,0.6397654924,1.7363239300,2.2131137872,1.1833555296,1.6031905006,1.3632190817,3.1712675514,1.6638040581,1.6246753650,1.2565299720,1.5070395067,2.1108212188,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-averaged-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-averaged-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..3c4925e92d6188fa68e84ecf89d08b35cd82e637 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-averaged-ref.csv @@ -0,0 +1,18 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.7500000000,1.0000000000,0.4494397255,0.5099780812,0.1775578989,0.3966588278,0.4030226732,0.0538853734,0.2690788236,-0.5095537327,0.0074027989,0.4121151002,1.4970136940,1.2594816883,0.2778481526,-0.1504255469,-0.4940123557,-0.8986773961,0.6008537662,0.6326139903,0.5987629748,0.6176308082,0.7479834365,0.9106716022,0.9744067703,0.9051301660,-0.4966645854,1.0250282839,0.6957540035,-0.9279198434,-0.3330586635,0.8738487553,0.2571507897,-0.7531589954,,, +1.0000000000,1.2500000000,-0.1026187090,0.1278549761,0.0820112037,-0.2398521188,0.0127092720,-0.0474351832,-0.3483820053,-0.8303602543,-0.1389166462,0.7352996838,0.7310997908,0.8412742749,0.4980191771,-0.7375351309,-1.1854307975,-0.9481637698,0.8025670604,0.7811845327,0.8371355137,0.8588194348,0.7674511803,0.6191529957,0.5457342891,0.6032513650,-0.6897443319,0.4631110917,2.0423497179,-0.6703955701,-0.7230323927,0.9725650235,0.7601387521,-0.6272474968,,, +1.2500000000,1.5000000000,-0.1611856909,-0.4457057812,-0.1672615662,-0.2680132576,-0.5295584303,-0.2324629065,-0.3390338643,-1.3103129408,-0.8857960282,-0.0551758557,0.8961343406,0.6365797923,0.2655651675,-0.0145980733,-0.9059676658,-1.0147173443,0.7074629713,0.7325591214,0.6560708097,0.5785426231,0.5958473893,0.6773930265,0.6964118257,0.5774336230,-0.5743452935,0.3350943234,1.8887594897,-0.4369506582,-1.1070690244,0.4119277957,1.0555323015,-0.4724436325,,, +1.5000000000,1.7500000000,-0.2299426747,-0.3274519817,-0.4969555124,-0.1303880981,-0.2202609497,-0.3458256254,0.0401366606,-0.0611146694,-0.1320242996,0.3183099190,0.8716685997,1.4924131601,0.8359146304,-0.0764520563,-0.3442322196,-0.8632271916,0.3862462258,0.2554090119,0.2332632217,0.2348237351,0.1515192732,-0.0121415276,-0.1387118243,-0.1354419821,-0.6886736123,0.5506356518,2.0383265506,-0.1275934494,-0.9358894547,-0.1104824945,0.9727472544,-0.2399263292,,, +1.7500000000,2.0000000000,-0.1641887740,0.2166796004,0.0841316544,-0.0124521412,0.3499786650,0.1813205395,0.0917254685,0.4382103940,-0.8371260478,0.2193313840,0.6518633452,0.5826349100,0.6750566406,-0.1501967603,-1.1870664831,-1.0958807036,-0.0460820088,-0.0036139963,-0.0792094244,-0.2056642277,-0.2648550239,-0.2338655673,-0.2150162399,-0.3135513143,-1.1631187074,0.2824292350,2.2372236446,-0.0001887712,-0.6290855366,-0.0820616098,0.9001911544,0.2619525850,,, +2.0000000000,2.2500000000,0.2415502154,0.1674159860,0.5028629332,0.2830321227,0.2243781631,0.5420185953,0.2909788840,0.2358108078,-0.8838863492,-0.5457398020,0.6058600560,1.0574355604,0.5514813305,0.3383175904,-0.2381237681,-1.0073303825,-0.5084430668,-0.6705535010,-0.7077092565,-0.6656625691,-0.6663840006,-0.7582789809,-0.8571795094,-0.8484751777,-1.2074824452,-0.3311539084,0.9882426170,0.0010076758,-0.8604960759,-0.0938706368,0.8195683377,0.5946057347,,, +2.2500000000,2.5000000000,0.5202882219,0.2264574140,0.1650261191,0.4095232645,0.0752274237,0.0152344323,0.2321443694,-0.1219251770,-0.5269806965,0.2396918730,0.5395417746,1.2184929799,1.2869233025,0.2168258091,-0.3916754012,-0.6987857723,-0.7285780343,-0.6166105951,-0.6210948598,-1.2186368689,-0.7874523673,-0.7548644709,-0.6829502917,-0.6906518838,-0.6897333310,-0.5895085392,0.9449260203,0.4078270969,-1.1194214667,-0.4767532230,0.6733022782,0.4406658754,,, +2.5000000000,2.7500000000,-0.1578341764,0.0538478646,-0.2957554742,-0.2883695873,-0.0690355071,-0.4042760529,-0.3517206381,-0.1294166552,-1.1653533867,-0.5501862729,0.4359907472,0.4979794342,0.5629836113,0.3970267948,-0.7199659353,-1.2215830857,-0.8056591189,-0.9233204757,-0.9228682449,-1.3042449281,-0.6840796004,-0.6563372118,-0.6834427853,-0.6468404195,-0.4691796553,-0.6015236104,0.7268740551,0.9844244319,-0.7371835296,-0.7971207187,0.6902294952,0.4643797988,,, +2.7500000000,3.0000000000,-0.4560420867,-0.3682701146,-0.1539055834,-0.4779823814,-0.3598119902,-0.1545272011,-0.4698630206,-0.3137013698,-0.8442882702,-0.6685370637,0.0951587739,1.1657757883,1.0192351505,0.5363169741,0.2776721924,-0.5909343360,-0.4958872220,-0.3167289426,-0.2378031710,-0.7829601243,-0.3458326118,-0.3154961878,-0.2042336342,-0.1262996228,-0.6588062271,-0.7293350947,0.2873513589,0.9637889339,-0.2166759664,-0.9309227476,0.6160799938,1.0022500180,,, +3.0000000000,3.2500000000,-0.1080093475,-0.4018753140,-0.1991510875,0.0116148437,-0.2586772291,-0.0160952733,0.1867169318,-0.0760165146,-0.9118562875,-0.1001861521,0.3567033914,0.7190552582,1.2923775215,0.6990025346,-0.3619133138,-0.6737743756,-0.1541497402,-0.2244931095,-0.2072783788,-0.5567646603,0.1342252519,0.2412782958,0.2499563049,0.2647171545,-0.5292447542,-0.8314385186,0.1367012192,0.6363561418,-0.1029496286,-1.0255254316,0.0623815401,1.2558557732,,, +3.2500000000,3.5000000000,0.1836021090,0.3538326418,0.0768317437,0.3314956153,0.4522089564,0.1523152278,0.3970415991,0.4701535502,-1.0975823706,-1.1659780383,-0.0993886173,0.5294268435,0.4741505025,0.6275353046,0.0241556226,-1.5102157186,0.3759707069,0.5447821778,0.6435925307,0.6054679984,0.5048231648,0.4734030740,0.5505695636,0.6446041386,-0.0534720012,-0.9089648398,0.2720978197,0.7979568274,-0.0360714526,-0.9027725239,-0.4311580202,0.8879625729,,, +3.5000000000,3.7500000000,0.1566227591,0.4011492013,0.4386348020,0.1247125794,0.3766666327,0.3833096309,0.0711283566,0.3253301907,-0.9336547754,-0.5660255576,-0.2640440067,0.8205505224,1.3969872877,0.8340950563,0.4798508349,-0.5569847558,0.6495636456,0.5773642119,0.5469648593,0.6428868492,0.8112332577,0.9174022677,0.8979806026,0.8276607455,0.2733142977,-1.0973779515,-0.0453653730,1.1319383673,0.2279586098,-0.6747177066,-0.3239345576,0.6314673976,,, +3.7500000000,4.0000000000,1.0439726795,-0.0235896099,0.2230402071,0.1477640054,-0.1753911478,0.0658915782,-0.0433827730,-0.3552148673,-0.9479159738,-0.6796444310,0.1052088514,0.3379514452,0.8681796486,1.0299885399,-0.0159083787,-1.2308537131,0.8231058376,0.8993203056,0.9501264177,0.8762508321,0.7084370982,0.5783504396,0.5705684279,0.6301278274,0.4823411966,-1.0062288681,-0.7282389005,0.9590705188,0.4671248743,-0.7872402866,-0.2554911557,0.7323443735,,, +4.0000000000,4.2500000000,0.6491796389,-0.2209976077,-0.4967854748,-0.2093837528,-0.3225291979,-0.5491324392,-0.2251620749,-0.3322601054,-0.9247116944,-1.3185403003,-0.7699189096,0.3776711202,0.5960562499,0.6394376249,0.6248735746,-0.8639715668,0.6341341082,0.5412356142,0.4407144363,0.4428840329,0.5417283956,0.6142020746,0.5584450378,0.4080720480,0.6753092956,-0.4915171896,-0.9002087766,0.5578378683,0.7423969173,-0.9126565929,-0.7517282217,0.6731456923,,, +4.2500000000,4.5000000000,0.2339928722,-0.1692239932,-0.2842539553,-0.4390579582,-0.0844726684,-0.2165765193,-0.3469364213,0.0129047935,-0.9703961505,-0.5572524515,-0.3256359279,0.2774358787,1.3336604523,1.2353013717,0.5714577879,0.2397640348,0.2879194098,0.2646609238,0.2700996959,0.1879320679,-0.0000950800,-0.1837010482,-0.2469774915,-0.1999548966,0.6763470713,-0.2542816590,-0.6435959703,0.3520047028,1.0573536669,-0.4274423083,-1.1504316478,0.3868254142,,, +4.5000000000,4.7500000000,0.6178778750,-0.2310815159,0.1393746614,-0.0115321800,-0.0752486262,0.3026477117,0.1400342408,0.0997054036,-0.6165746315,-1.1427003221,-0.4193351693,0.1088507057,0.3675070704,0.9419826740,0.5225819967,-0.5636720392,-0.1634595452,-0.2257639615,-0.3413238291,-0.3912711981,-0.3325790189,-0.2571421370,-0.2890944047,-0.4412192930,0.7298602934,-0.4633563269,-0.7292693132,0.1636099035,0.9867684949,0.1818819560,-0.9986768368,-0.3883445821,,, +4.7500000000,5.0000000000,0.4659699265,0.2720563865,0.2334774751,0.5652098386,0.3232575212,0.2739508261,0.5630899806,0.2750006220,-0.8612388239,-1.0987039882,-1.1714706135,-0.0908339398,0.7500486499,0.7239848774,0.8644013510,0.4170334746,-0.6003934964,-0.6592041122,-0.6377343446,-0.6517364131,-0.7663785194,-0.9109011581,-0.9569802763,-0.8686221964,1.0981569431,-0.2936197523,-1.0411291227,-0.0387295790,0.6704937299,0.1927077363,-0.8039449018,-0.7582430789,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-confidence-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-confidence-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..401235598f45344382d8957e62b36f12bf452704 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-confidence-ref.csv @@ -0,0 +1,18 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.7500000000,1.0000000000,1.9578805668,2.0855769712,1.2306100743,1.8393273536,1.8540233828,0.6779316593,1.5149218432,-1.#IND000000,0.2512745150,1.8748206626,3.5732496019,3.2775278921,1.5394097192,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.2637833497,2.3228430348,2.2598412728,2.2951704456,2.5257854544,2.7869640361,2.8828404945,2.7784717602,-1.#IND000000,2.9567757796,2.4360058363,-1.#IND000000,-1.#IND000000,2.7300374424,1.4809636489,-1.#IND000000,,, +1.0000000000,1.2500000000,-1.#IND000000,1.0442615443,0.8363480730,-1.#IND000000,0.3292386446,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.5042786850,2.4971164596,2.6786703585,2.0609786868,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.6163216380,2.5812334552,2.6720731963,2.7064586696,2.5584435946,2.2979969965,2.1574517331,2.2682954630,-1.#IND000000,1.9874355720,4.1736451540,-1.#IND000000,-1.#IND000000,2.8801147472,2.5462257405,-1.#IND000000,,, +1.2500000000,1.5000000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7646300709,2.3301125100,1.5049983467,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4564183009,2.4996074339,2.3655156470,2.2213559100,2.2543325815,2.4036477789,2.4371571629,2.2192258460,-1.#IND000000,1.6905732890,4.0136435203,-1.#IND000000,-1.#IND000000,1.8743945653,3.0004488775,-1.#IND000000,,, +1.5000000000,1.7500000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.5850878575,-1.#IND000000,-1.#IND000000,1.6476901804,2.7266297456,3.5677548274,2.6701240018,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.8150249184,1.4759395687,1.4105016620,1.4152118725,1.1368008945,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.1671183573,4.1695323545,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.8803845601,-1.#IND000000,,, +1.7500000000,2.0000000000,-1.#IND000000,1.3594382346,0.8470912231,-1.#IND000000,1.7277116135,1.2435806870,0.8844951113,1.9332668526,-1.#IND000000,1.3677315245,2.3579182722,2.2291983807,2.3994990061,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5520485140,4.3682266868,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7708807659,1.4947267668,,, +2.0000000000,2.2500000000,1.4353379974,1.1949477886,2.0709770186,1.5537041712,1.3833776714,2.1500945612,1.5753650432,1.4181831482,-1.#IND000000,-1.#IND000000,2.2731946633,3.0031527546,2.1687818735,1.6986846289,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.9032354401,0.0927066487,-1.#IND000000,-1.#IND000000,2.6438879986,2.2519825149,,, +2.2500000000,2.5000000000,2.1065533612,1.3897725814,1.1863881787,1.8689158907,0.8010111508,0.3604654171,1.4071148443,-1.#IND000000,-1.#IND000000,1.4298060225,2.1451763754,3.2237546617,3.3130409190,1.3598968110,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.8388952724,1.8650415276,-1.#IND000000,-1.#IND000000,2.3963790238,1.9386757491,,, +2.5000000000,2.7500000000,-1.#IND000000,0.6776956691,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.9283643932,2.0608964500,2.1912823655,1.8401802967,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4898893708,2.8976215259,-1.#IND000000,-1.#IND000000,2.4263152304,1.9901560306,,, +2.7500000000,3.0000000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9008964723,3.1532469412,2.9484085631,2.1387559887,1.5389221910,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5655145024,2.8670907211,-1.#IND000000,-1.#IND000000,2.2922871531,2.9237383466,,, +3.0000000000,3.2500000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.3147437775,-1.#IND000000,-1.#IND000000,1.2619504956,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.7442313447,2.4764616141,3.3200541362,2.4416861667,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.0699600966,1.4345298706,1.4600997124,1.5025935159,-1.#IND000000,-1.#IND000000,1.0797834369,2.3297031532,-1.#IND000000,-1.#IND000000,0.7294214223,3.2728066629,,, +3.2500000000,3.5000000000,1.2513802610,1.7371983770,0.8095073795,1.6814709230,1.9639030622,1.1397828804,1.8402146048,2.0024898681,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.1249731466,2.0109838138,2.3135002426,0.4538993756,-1.#IND000000,1.7907191251,2.1555689205,2.3429119369,2.2724590416,2.0750095748,2.0093981786,2.1669883029,2.3447525250,-1.#IND000000,-1.#IND000000,1.5233966574,2.6087962705,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7519959974,,, +3.5000000000,3.7500000000,1.1557872588,1.8497091010,1.9342028132,1.0313488731,1.7923756788,1.8081120192,0.7788823357,1.6657608523,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.6454717645,3.4518085053,2.6672163272,2.0230359242,-1.#IND000000,2.3537553640,2.2190924596,2.1598827705,2.3416271152,2.6304093579,2.7972441361,2.7674765221,2.6569087947,1.5267982134,-1.#IND000000,-1.#IND000000,3.1071474111,1.3943714031,-1.#IND000000,-1.#IND000000,2.3207370407,,, +3.7500000000,4.0000000000,2.9839739963,-1.#IND000000,1.3792469976,1.1226252209,-1.#IND000000,0.7496618709,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9472761588,1.6977651768,2.7211674539,2.9639212724,-1.#IND000000,-1.#IND000000,2.6495877570,2.7695401605,2.8466964792,2.7337870955,2.4581088771,2.2209869281,2.2059940448,2.3182741735,2.0282787735,-1.#IND000000,-1.#IND000000,2.8600639116,1.9960295408,-1.#IND000000,-1.#IND000000,2.4992410301,,, +4.0000000000,4.2500000000,2.3530595187,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.7947640244,2.2547276492,2.3353370039,2.3085886013,-1.#IND000000,2.3256321580,2.1485410243,1.9387825662,1.9435489314,2.1495188981,2.2887908413,2.1824318226,1.8656015386,2.3999479970,-1.#IND000000,-1.#IND000000,2.1812450751,2.5163355161,-1.#IND000000,-1.#IND000000,2.3961003518,,, +4.2500000000,4.5000000000,1.4127059738,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.3317615083,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5382671993,3.3726642095,3.2459134036,2.2077126459,1.4300212354,1.5670611329,1.5024339183,1.5177928934,1.2660501635,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4017913387,-1.#IND000000,-1.#IND000000,1.7327052859,3.0030364622,-1.#IND000000,-1.#IND000000,1.8163852521,,, +4.5000000000,4.7500000000,2.2956294607,-1.#IND000000,1.0902908821,-1.#IND000000,-1.#IND000000,1.6066421808,1.0928676940,0.9221675066,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9635318873,1.7704485759,2.8344703922,2.1111917953,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4949987716,-1.#IND000000,-1.#IND000000,1.1812865571,2.9010693118,1.2455044269,-1.#IND000000,-1.#IND000000,,, +4.7500000000,5.0000000000,1.9935604615,1.5232806669,1.4111492897,2.1956106261,1.6604461159,1.5285750784,2.1914893645,1.5315010733,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.5292699503,2.4849360398,2.7152397689,1.8859749745,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,3.0604315701,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.3913757885,1.2820354742,-1.#IND000000,-1.#IND000000,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-variance-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-variance-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..495d946d5aba24644c411e52f3ffaba759d12575 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-moving-variance-ref.csv @@ -0,0 +1,18 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.7500000000,1.0000000000,0.2941957023,0.6375241830,2.0928469822,1.7059063114,2.1398515876,3.0665182087,1.6902975840,4.6939605438,1.9062295191,0.6038222210,2.2569831333,2.1296577130,0.1627250257,1.3668373295,1.5338751836,0.2572638123,0.2034779550,1.9879092995,3.2488531480,1.0648816670,0.1870056301,0.2472754718,0.6470259148,0.9521460042,1.4849556080,1.1787346335,0.8132225539,2.0165453603,2.2617306866,0.4461523848,0.2584451582,1.6244386541,,, +1.0000000000,1.2500000000,1.7720672523,0.2172182437,2.1330589353,1.5186002480,0.6610703492,2.8667585732,1.0102421268,3.6333237542,1.9726422731,0.7452921076,0.4342903646,2.2867944595,0.2195587187,1.1424431426,2.0447150651,0.2678940952,0.2034840786,2.1406320450,3.7083063241,1.3017534780,0.2874890008,0.6906407517,0.5223559282,0.5754821970,1.4872284658,0.1804723898,4.5979204642,3.2432528272,1.5070590032,0.5169447091,1.2444504879,1.5686517422,,, +1.2500000000,1.5000000000,1.7687637083,0.3310673881,1.7213731860,1.6133084699,1.2510202486,2.6745396140,1.0208501786,3.3936793490,1.7113846124,1.1678697908,0.4731417771,2.0990021497,0.3925633602,0.6463484766,2.1738984331,0.2688329943,0.3566619152,2.7321771399,5.0444854899,2.4014986496,0.3462727172,0.6513960749,0.5288954717,0.7499310492,0.8448013045,0.0916055467,6.8560260141,2.2719982509,1.1095429608,0.6121512537,1.6094377600,2.4346758839,,, +1.5000000000,1.7500000000,1.6259088428,0.5237981509,1.1244315673,2.4329366496,2.1984424629,2.6184873330,2.9487264159,1.5207964254,1.2813731882,1.4228744799,0.4947795149,2.1702202896,0.8766121856,0.6500529212,1.8193869053,0.4857382219,0.3943461410,1.3534358598,3.1256767180,1.3733092397,0.5182094767,1.9617374317,1.3164893831,0.4180575592,0.9466918680,0.2092698760,7.1399073047,1.1336060330,0.6609076245,0.7158722377,2.3574879228,2.7234221679,,, +1.7500000000,2.0000000000,1.8637366625,1.6520993946,0.0602445443,2.1632808770,1.7842661672,0.4994455719,2.6906816332,1.0143521879,1.3086388982,1.4641434459,0.1725410222,1.7579191233,1.0246288585,0.6342872140,2.0289074594,0.6183751884,0.3998942561,2.0144901877,4.3770627010,2.4631449631,0.2671053687,1.3837418779,1.1605217171,0.3464659110,0.5371193140,0.3568995230,6.9128742039,1.2897033504,0.1643270296,0.7404370028,2.7459336416,0.9599953587,,, +2.0000000000,2.2500000000,0.4955960087,1.7004434646,0.2734152165,1.7186421635,1.7642979814,0.9352070828,2.4706330809,1.0241589271,1.3645534577,1.4483950019,0.2896140552,1.9670816972,0.9834615184,0.2279565861,1.9945046552,0.6899699870,0.2331656285,0.6505844376,2.2265993376,1.3123298011,0.2891287948,2.4221999444,2.2871170349,0.4680633171,0.6387638216,1.7268574578,2.1371424834,1.3929201355,0.2432761820,0.7871756817,1.7901088848,0.7310871847,,, +2.2500000000,2.5000000000,0.5262357016,1.6569364182,0.9893057539,1.6641074368,2.7164262760,2.5162106354,2.8153337549,2.6228545887,1.0062563774,1.6911117860,0.1571251006,2.0441003101,1.3959275413,0.1149467280,2.0509564657,0.6863345522,0.1990817691,0.5968359423,1.8866124578,2.8105662481,0.3160975206,2.8536945696,3.3240500920,0.9533838910,0.6609003660,1.6419557742,2.9351653015,1.0154386731,0.3779912294,1.6172454992,1.4485044988,0.2946213595,,, +2.5000000000,2.7500000000,1.2053731159,1.6136054004,1.5033022194,0.0528153389,2.0961170560,1.9691968313,0.5224636616,2.4589641281,0.8117739234,2.0613976332,0.1333223816,1.2822355671,1.7057080395,0.0939933767,2.0008762717,1.0888329944,0.2535477597,0.4388769650,1.4846666296,3.2371362076,0.3191187239,2.2778027806,2.9680105871,0.7731105304,0.5085762319,1.9235918405,2.4181585592,0.3447131192,0.9420893875,2.3751608424,1.6717844311,0.3096435992,,, +2.7500000000,3.0000000000,0.9237543079,0.4318780005,1.7544104093,0.1817372871,1.8074551246,2.0492933839,0.6046716366,2.3232723084,0.5014333602,2.0821106569,0.2948094746,1.2157419443,2.0154199109,0.0947537260,1.4137396114,1.4413007816,0.5082951836,0.6755898667,0.6013915491,2.9318617689,0.6281588298,3.7237531886,5.1507448393,1.9069683754,0.7191312502,1.9052018534,0.6258636694,0.3775136839,1.8725996425,2.3262562981,2.0250583938,0.3641057542,,, +3.0000000000,3.2500000000,1.2095743550,0.4126670662,1.8241399775,1.4810709345,2.0717308174,2.8942403000,2.5323698922,2.6364587162,0.5337444667,1.8226027361,0.4958632173,0.9796433655,2.1034879373,0.1982020855,1.3475511161,1.4349285354,0.3444553061,0.5480228809,0.6537375525,3.6297333820,0.3018488336,1.8437319907,3.2152268181,0.9862680300,0.7162217249,1.8865878758,0.6803604856,0.3565077779,1.4512537675,2.6132602510,0.6863608539,0.4872588004,,, +3.2500000000,3.5000000000,2.1862565526,0.8244186744,1.2309764702,1.4430065542,0.2682611848,1.9937952163,2.1350135676,0.7352118051,0.5872580687,1.8908614633,0.7865193850,0.8162628238,1.7970826492,0.3455317682,1.3899090688,2.7048223922,0.5051260253,1.3934621925,0.6102038738,0.2320086766,0.3340793077,2.3514035948,4.1247742547,1.5682715087,2.3544673684,2.0356290724,0.5135529021,0.4097501492,1.2979500691,1.7041769221,0.1290069089,1.2696527154,,, +3.5000000000,3.7500000000,2.2300297484,0.8288578633,0.5425157373,1.9157986529,0.1523593301,1.9309914551,2.3653098787,0.3446266208,0.2533936278,1.8739835489,0.7528241625,0.7544520362,2.2505056910,0.4445943048,1.1675003483,3.9413961249,0.2883738832,1.5037936839,0.9076927518,0.2861198124,0.2001145849,1.4103851742,3.1928580362,1.4126266884,2.5758168528,1.9861155375,0.5158212431,0.8751616681,1.7310410442,0.9243446378,0.0805561075,1.4516928295,,, +3.7500000000,4.0000000000,3.6600078172,1.4130877971,0.3871437396,2.0586566814,1.7912063335,2.2488932695,2.9480322251,2.2060983945,0.3622392155,1.9177240646,0.8497374729,0.1669978819,2.3379694860,0.5297918084,0.7880626766,3.8905072660,0.3505371029,1.9630708967,1.3213360552,0.2972622584,0.3085983120,0.8228862404,2.0373706145,0.9365960933,1.8912401215,2.0046293042,0.3375622456,1.2899077604,2.5441621377,0.9440441001,0.0686253736,1.3471098473,,, +4.0000000000,4.2500000000,4.4332741102,1.7756109106,0.4791125176,0.8824384796,1.5731060968,0.6935991032,1.9566824816,2.3283683121,0.3106674059,1.8485983312,1.3823961959,0.1791258852,2.0692391157,0.7333889180,0.5006353223,4.4712315085,0.7793375980,3.5751884049,3.1080451113,0.8400314913,0.3851241341,0.9531825585,2.3988063436,1.5875644377,1.8554574586,0.3378332792,0.3810183520,2.8356635305,2.1604057655,1.0214102838,0.5812443822,1.2409089706,,, +4.2500000000,4.5000000000,3.5556516279,2.0555828874,0.8113426244,0.7002824292,2.1352484870,0.2602662830,1.9752406425,2.5927554583,0.2843922768,1.1616723445,1.6661340225,0.1813996685,2.0691736676,1.2593267715,0.4933357082,1.8243673746,0.4136817506,2.4168921158,2.3406866053,0.5019772124,0.5279092416,0.4690869624,0.7011296186,0.5043752712,1.4344459920,0.1836820511,0.9427832413,2.2840446291,1.7349180403,0.5868351036,1.0161381799,2.4035255457,,, +4.5000000000,4.7500000000,2.7770323795,2.0490152865,1.4978213182,0.4289280995,2.2745861893,1.8188415093,2.2001952993,2.8855265786,0.5637410613,1.2373946086,1.6992195041,0.0137059953,1.5112922882,1.4542462689,0.4467496758,1.7887328202,0.8081005698,4.0867755703,4.3643797642,1.1294611952,0.2746192666,0.4448643580,0.7509257198,0.7098491809,1.5423776375,0.1216143626,0.9063783757,1.4185395924,1.3526155048,0.2307674398,1.7275858780,5.2480969627,,, +4.7500000000,5.0000000000,1.6226041748,1.5597230101,1.5058435214,0.2762199566,0.7616939261,1.9111993024,1.2387108247,2.0600173546,0.7094839729,1.2834272346,1.8095281516,0.1896566378,1.6256095340,1.3188637488,0.3316442042,1.8265342257,0.2987320134,2.6395882078,3.3913577976,0.7588583714,0.3955457025,0.7457745671,0.2910195076,0.2946259451,1.0462932587,0.1691601302,1.5460591847,1.5841481688,0.3620358700,0.2362093711,2.4195804353,3.7041196537,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-averaged-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-averaged-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..6f4b368cda514a6f140129235f913f6aae0720ee --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-averaged-ref.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,0.0000000000,1.3687341120,0.0834505686,1.3965074831,2.3460347303,0.6652579106,1.6342771847,2.0374036140,0.0000000000,0.0834505686,3.3460347303,1.6342771847,0.0223674799,1.0605198516,0.2862985568,-0.8460419110,0.0000000000,1.3965074831,1.6342771847,0.8587778323,0.2862985568,0.7209285523,1.5912609145,1.6531536145,0.0000000000,2.3460347303,0.0223674799,0.2862985568,1.2564364343,0.3100244990,0.5189549878,-1.3302670931,,, +0.2500000000,0.5000000000,0.0111837400,1.1137559722,0.5719852101,0.2718578788,1.3161666435,0.6699148831,0.3941176368,1.3791660831,0.6282182172,0.8373557416,1.8280296146,1.4977719923,0.2706612339,-0.4822399437,-0.5219842681,-0.9596143451,0.2594774939,0.2914857676,0.2805452027,0.3495097620,0.5355398411,0.7375530398,0.8273448433,0.7938072884,-1.1041168690,1.5654079278,-0.0947664840,-0.7982368478,1.1189224668,0.9286194601,0.6504627891,-0.1897878636,,, +0.5000000000,0.7500000000,0.4262679714,0.7214703992,0.9117437782,0.8000570863,0.9807859287,0.9976611269,0.7165006912,-0.2607185786,-0.3172657679,0.4586584236,1.4802801182,0.7199926179,0.1098073400,-0.3003503718,-0.9755802629,-0.9092926791,0.5001211623,0.9966425583,1.1463464350,0.9170156598,0.6739236827,0.7387823795,1.0102928632,1.0967941613,-0.9311705060,1.1377316578,0.2378395367,-1.3586163019,0.1689212799,0.9424672060,0.2966881759,-0.1973300978,,, +0.7500000000,1.0000000000,0.4494397255,0.5099780812,0.1775578989,0.3966588278,0.4030226732,0.0538853734,0.2690788236,-0.5095537327,0.0074027989,0.4121151002,1.4970136940,1.2594816883,0.2778481526,-0.1504255469,-0.4940123557,-0.8986773961,0.6008537662,0.6326139903,0.5987629748,0.6176308082,0.7479834365,0.9106716022,0.9744067703,0.9051301660,-0.4966645854,1.0250282839,0.6957540035,-0.9279198434,-0.3330586635,0.8738487553,0.2571507897,-0.7531589954,,, +1.0000000000,1.2500000000,-0.1026187090,0.1278549761,0.0820112037,-0.2398521188,0.0127092720,-0.0474351832,-0.3483820053,-0.8303602543,-0.1389166462,0.7352996838,0.7310997908,0.8412742749,0.4980191771,-0.7375351309,-1.1854307975,-0.9481637698,0.8025670604,0.7811845327,0.8371355137,0.8588194348,0.7674511803,0.6191529957,0.5457342891,0.6032513650,-0.6897443319,0.4631110917,2.0423497179,-0.6703955701,-0.7230323927,0.9725650235,0.7601387521,-0.6272474968,,, +1.2500000000,1.5000000000,-0.1611856909,-0.4457057812,-0.1672615662,-0.2680132576,-0.5295584303,-0.2324629065,-0.3390338643,-1.3103129408,-0.8857960282,-0.0551758557,0.8961343406,0.6365797923,0.2655651675,-0.0145980733,-0.9059676658,-1.0147173443,0.7074629713,0.7325591214,0.6560708097,0.5785426231,0.5958473893,0.6773930265,0.6964118257,0.5774336230,-0.5743452935,0.3350943234,1.8887594897,-0.4369506582,-1.1070690244,0.4119277957,1.0555323015,-0.4724436325,,, +1.5000000000,1.7500000000,-0.2299426747,-0.3274519817,-0.4969555124,-0.1303880981,-0.2202609497,-0.3458256254,0.0401366606,-0.0611146694,-0.1320242996,0.3183099190,0.8716685997,1.4924131601,0.8359146304,-0.0764520563,-0.3442322196,-0.8632271916,0.3862462258,0.2554090119,0.2332632217,0.2348237351,0.1515192732,-0.0121415276,-0.1387118243,-0.1354419821,-0.6886736123,0.5506356518,2.0383265506,-0.1275934494,-0.9358894547,-0.1104824945,0.9727472544,-0.2399263292,,, +1.7500000000,2.0000000000,-0.1641887740,0.2166796004,0.0841316544,-0.0124521412,0.3499786650,0.1813205395,0.0917254685,0.4382103940,-0.8371260478,0.2193313840,0.6518633452,0.5826349100,0.6750566406,-0.1501967603,-1.1870664831,-1.0958807036,-0.0460820088,-0.0036139963,-0.0792094244,-0.2056642277,-0.2648550239,-0.2338655673,-0.2150162399,-0.3135513143,-1.1631187074,0.2824292350,2.2372236446,-0.0001887712,-0.6290855366,-0.0820616098,0.9001911544,0.2619525850,,, +2.0000000000,2.2500000000,0.2415502154,0.1674159860,0.5028629332,0.2830321227,0.2243781631,0.5420185953,0.2909788840,0.2358108078,-0.8838863492,-0.5457398020,0.6058600560,1.0574355604,0.5514813305,0.3383175904,-0.2381237681,-1.0073303825,-0.5084430668,-0.6705535010,-0.7077092565,-0.6656625691,-0.6663840006,-0.7582789809,-0.8571795094,-0.8484751777,-1.2074824452,-0.3311539084,0.9882426170,0.0010076758,-0.8604960759,-0.0938706368,0.8195683377,0.5946057347,,, +2.2500000000,2.5000000000,0.5202882219,0.2264574140,0.1650261191,0.4095232645,0.0752274237,0.0152344323,0.2321443694,-0.1219251770,-0.5269806965,0.2396918730,0.5395417746,1.2184929799,1.2869233025,0.2168258091,-0.3916754012,-0.6987857723,-0.7285780343,-0.6166105951,-0.6210948598,-1.2186368689,-0.7874523673,-0.7548644709,-0.6829502917,-0.6906518838,-0.6897333310,-0.5895085392,0.9449260203,0.4078270969,-1.1194214667,-0.4767532230,0.6733022782,0.4406658754,,, +2.5000000000,2.7500000000,-0.1578341764,0.0538478646,-0.2957554742,-0.2883695873,-0.0690355071,-0.4042760529,-0.3517206381,-0.1294166552,-1.1653533867,-0.5501862729,0.4359907472,0.4979794342,0.5629836113,0.3970267948,-0.7199659353,-1.2215830857,-0.8056591189,-0.9233204757,-0.9228682449,-1.3042449281,-0.6840796004,-0.6563372118,-0.6834427853,-0.6468404195,-0.4691796553,-0.6015236104,0.7268740551,0.9844244319,-0.7371835296,-0.7971207187,0.6902294952,0.4643797988,,, +2.7500000000,3.0000000000,-0.4560420867,-0.3682701146,-0.1539055834,-0.4779823814,-0.3598119902,-0.1545272011,-0.4698630206,-0.3137013698,-0.8442882702,-0.6685370637,0.0951587739,1.1657757883,1.0192351505,0.5363169741,0.2776721924,-0.5909343360,-0.4958872220,-0.3167289426,-0.2378031710,-0.7829601243,-0.3458326118,-0.3154961878,-0.2042336342,-0.1262996228,-0.6588062271,-0.7293350947,0.2873513589,0.9637889339,-0.2166759664,-0.9309227476,0.6160799938,1.0022500180,,, +3.0000000000,3.2500000000,-0.1080093475,-0.4018753140,-0.1991510875,0.0116148437,-0.2586772291,-0.0160952733,0.1867169318,-0.0760165146,-0.9118562875,-0.1001861521,0.3567033914,0.7190552582,1.2923775215,0.6990025346,-0.3619133138,-0.6737743756,-0.1541497402,-0.2244931095,-0.2072783788,-0.5567646603,0.1342252519,0.2412782958,0.2499563049,0.2647171545,-0.5292447542,-0.8314385186,0.1367012192,0.6363561418,-0.1029496286,-1.0255254316,0.0623815401,1.2558557732,,, +3.2500000000,3.5000000000,0.1836021090,0.3538326418,0.0768317437,0.3314956153,0.4522089564,0.1523152278,0.3970415991,0.4701535502,-1.0975823706,-1.1659780383,-0.0993886173,0.5294268435,0.4741505025,0.6275353046,0.0241556226,-1.5102157186,0.3759707069,0.5447821778,0.6435925307,0.6054679984,0.5048231648,0.4734030740,0.5505695636,0.6446041386,-0.0534720012,-0.9089648398,0.2720978197,0.7979568274,-0.0360714526,-0.9027725239,-0.4311580202,0.8879625729,,, +3.5000000000,3.7500000000,0.1566227591,0.4011492013,0.4386348020,0.1247125794,0.3766666327,0.3833096309,0.0711283566,0.3253301907,-0.9336547754,-0.5660255576,-0.2640440067,0.8205505224,1.3969872877,0.8340950563,0.4798508349,-0.5569847558,0.6495636456,0.5773642119,0.5469648593,0.6428868492,0.8112332577,0.9174022677,0.8979806026,0.8276607455,0.2733142977,-1.0973779515,-0.0453653730,1.1319383673,0.2279586098,-0.6747177066,-0.3239345576,0.6314673976,,, +3.7500000000,4.0000000000,1.0439726795,-0.0235896099,0.2230402071,0.1477640054,-0.1753911478,0.0658915782,-0.0433827730,-0.3552148673,-0.9479159738,-0.6796444310,0.1052088514,0.3379514452,0.8681796486,1.0299885399,-0.0159083787,-1.2308537131,0.8231058376,0.8993203056,0.9501264177,0.8762508321,0.7084370982,0.5783504396,0.5705684279,0.6301278274,0.4823411966,-1.0062288681,-0.7282389005,0.9590705188,0.4671248743,-0.7872402866,-0.2554911557,0.7323443735,,, +4.0000000000,4.2500000000,0.6491796389,-0.2209976077,-0.4967854748,-0.2093837528,-0.3225291979,-0.5491324392,-0.2251620749,-0.3322601054,-0.9247116944,-1.3185403003,-0.7699189096,0.3776711202,0.5960562499,0.6394376249,0.6248735746,-0.8639715668,0.6341341082,0.5412356142,0.4407144363,0.4428840329,0.5417283956,0.6142020746,0.5584450378,0.4080720480,0.6753092956,-0.4915171896,-0.9002087766,0.5578378683,0.7423969173,-0.9126565929,-0.7517282217,0.6731456923,,, +4.2500000000,4.5000000000,0.2339928722,-0.1692239932,-0.2842539553,-0.4390579582,-0.0844726684,-0.2165765193,-0.3469364213,0.0129047935,-0.9703961505,-0.5572524515,-0.3256359279,0.2774358787,1.3336604523,1.2353013717,0.5714577879,0.2397640348,0.2879194098,0.2646609238,0.2700996959,0.1879320679,-0.0000950800,-0.1837010482,-0.2469774915,-0.1999548966,0.6763470713,-0.2542816590,-0.6435959703,0.3520047028,1.0573536669,-0.4274423083,-1.1504316478,0.3868254142,,, +4.5000000000,4.7500000000,0.6178778750,-0.2310815159,0.1393746614,-0.0115321800,-0.0752486262,0.3026477117,0.1400342408,0.0997054036,-0.6165746315,-1.1427003221,-0.4193351693,0.1088507057,0.3675070704,0.9419826740,0.5225819967,-0.5636720392,-0.1634595452,-0.2257639615,-0.3413238291,-0.3912711981,-0.3325790189,-0.2571421370,-0.2890944047,-0.4412192930,0.7298602934,-0.4633563269,-0.7292693132,0.1636099035,0.9867684949,0.1818819560,-0.9986768368,-0.3883445821,,, +4.7500000000,5.0000000000,0.4659699265,0.2720563865,0.2334774751,0.5652098386,0.3232575212,0.2739508261,0.5630899806,0.2750006220,-0.8612388239,-1.0987039882,-1.1714706135,-0.0908339398,0.7500486499,0.7239848774,0.8644013510,0.4170334746,-0.6003934964,-0.6592041122,-0.6377343446,-0.6517364131,-0.7663785194,-0.9109011581,-0.9569802763,-0.8686221964,1.0981569431,-0.2936197523,-1.0411291227,-0.0387295790,0.6704937299,0.1927077363,-0.8039449018,-0.7582430789,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-confidence-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-confidence-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..d1c5ec48008b99d541b9380bda61aa9f051e058d --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-confidence-ref.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,0.0000000000,3.4167249022,0.8436554522,3.4512156811,4.4731935085,2.3820204804,3.7334756773,4.1685882836,0.0000000000,0.8436554522,5.3421452204,3.7334756773,0.4367762299,3.0075293112,1.5626439932,-1.#IND000000,0.0000000000,3.4512156811,3.7334756773,2.7063931164,1.5626439932,2.4796853743,3.6840130946,3.7549751994,0.0000000000,4.4731935085,0.4367762299,1.5626439932,3.2735631877,1.6261045860,2.1038526176,-1.#IND000000,,, +0.2500000000,0.5000000000,0.3088474340,3.0820912346,2.2087312059,1.5227248296,3.3504713410,2.3903433112,1.8334260703,3.4297206762,2.3147587286,2.6724246485,3.9485903611,3.5741544854,1.5193698219,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.4876484525,1.5767365849,1.5468631400,1.7265538275,2.1372058789,2.5081129821,2.6564017007,2.6020042914,-1.#IND000000,3.6539637281,-1.#IND000000,-1.#IND000000,3.0892315707,2.8142933060,2.3553838664,-1.#IND000000,,, +0.5000000000,0.7500000000,1.9067414978,2.4806170598,2.7886041646,2.6122272500,2.8922616605,2.9170373691,2.4720586731,-1.#IND000000,-1.#IND000000,1.9778582105,3.5532226391,2.4780752449,0.9677566248,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.0653234845,2.9155479048,3.1268598052,2.7966546725,2.3974846025,2.5102023497,2.9354460975,3.0585320261,-1.#IND000000,3.1150884947,1.4242705441,-1.#IND000000,1.2003078575,2.8351992883,1.5907450726,-1.#IND000000,,, +0.7500000000,1.0000000000,1.9578805668,2.0855769712,1.2306100743,1.8393273536,1.8540233828,0.6779316593,1.5149218432,-1.#IND000000,0.2512745150,1.8748206626,3.5732496019,3.2775278921,1.5394097192,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.2637833497,2.3228430348,2.2598412728,2.2951704456,2.5257854544,2.7869640361,2.8828404945,2.7784717602,-1.#IND000000,2.9567757796,2.4360058363,-1.#IND000000,-1.#IND000000,2.7300374424,1.4809636489,-1.#IND000000,,, +1.0000000000,1.2500000000,-1.#IND000000,1.0442615443,0.8363480730,-1.#IND000000,0.3292386446,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.5042786850,2.4971164596,2.6786703585,2.0609786868,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.6163216380,2.5812334552,2.6720731963,2.7064586696,2.5584435946,2.2979969965,2.1574517331,2.2682954630,-1.#IND000000,1.9874355720,4.1736451540,-1.#IND000000,-1.#IND000000,2.8801147472,2.5462257405,-1.#IND000000,,, +1.2500000000,1.5000000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7646300709,2.3301125100,1.5049983467,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4564183009,2.4996074339,2.3655156470,2.2213559100,2.2543325815,2.4036477789,2.4371571629,2.2192258460,-1.#IND000000,1.6905732890,4.0136435203,-1.#IND000000,-1.#IND000000,1.8743945653,3.0004488775,-1.#IND000000,,, +1.5000000000,1.7500000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.5850878575,-1.#IND000000,-1.#IND000000,1.6476901804,2.7266297456,3.5677548274,2.6701240018,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.8150249184,1.4759395687,1.4105016620,1.4152118725,1.1368008945,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.1671183573,4.1695323545,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.8803845601,-1.#IND000000,,, +1.7500000000,2.0000000000,-1.#IND000000,1.3594382346,0.8470912231,-1.#IND000000,1.7277116135,1.2435806870,0.8844951113,1.9332668526,-1.#IND000000,1.3677315245,2.3579182722,2.2291983807,2.3994990061,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5520485140,4.3682266868,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7708807659,1.4947267668,,, +2.0000000000,2.2500000000,1.4353379974,1.1949477886,2.0709770186,1.5537041712,1.3833776714,2.1500945612,1.5753650432,1.4181831482,-1.#IND000000,-1.#IND000000,2.2731946633,3.0031527546,2.1687818735,1.6986846289,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.9032354401,0.0927066487,-1.#IND000000,-1.#IND000000,2.6438879986,2.2519825149,,, +2.2500000000,2.5000000000,2.1065533612,1.3897725814,1.1863881787,1.8689158907,0.8010111508,0.3604654171,1.4071148443,-1.#IND000000,-1.#IND000000,1.4298060225,2.1451763754,3.2237546617,3.3130409190,1.3598968110,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.8388952724,1.8650415276,-1.#IND000000,-1.#IND000000,2.3963790238,1.9386757491,,, +2.5000000000,2.7500000000,-1.#IND000000,0.6776956691,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.9283643932,2.0608964500,2.1912823655,1.8401802967,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4898893708,2.8976215259,-1.#IND000000,-1.#IND000000,2.4263152304,1.9901560306,,, +2.7500000000,3.0000000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9008964723,3.1532469412,2.9484085631,2.1387559887,1.5389221910,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5655145024,2.8670907211,-1.#IND000000,-1.#IND000000,2.2922871531,2.9237383466,,, +3.0000000000,3.2500000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.3147437775,-1.#IND000000,-1.#IND000000,1.2619504956,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.7442313447,2.4764616141,3.3200541362,2.4416861667,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.0699600966,1.4345298706,1.4600997124,1.5025935159,-1.#IND000000,-1.#IND000000,1.0797834369,2.3297031532,-1.#IND000000,-1.#IND000000,0.7294214223,3.2728066629,,, +3.2500000000,3.5000000000,1.2513802610,1.7371983770,0.8095073795,1.6814709230,1.9639030622,1.1397828804,1.8402146048,2.0024898681,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.1249731466,2.0109838138,2.3135002426,0.4538993756,-1.#IND000000,1.7907191251,2.1555689205,2.3429119369,2.2724590416,2.0750095748,2.0093981786,2.1669883029,2.3447525250,-1.#IND000000,-1.#IND000000,1.5233966574,2.6087962705,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.7519959974,,, +3.5000000000,3.7500000000,1.1557872588,1.8497091010,1.9342028132,1.0313488731,1.7923756788,1.8081120192,0.7788823357,1.6657608523,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.6454717645,3.4518085053,2.6672163272,2.0230359242,-1.#IND000000,2.3537553640,2.2190924596,2.1598827705,2.3416271152,2.6304093579,2.7972441361,2.7674765221,2.6569087947,1.5267982134,-1.#IND000000,-1.#IND000000,3.1071474111,1.3943714031,-1.#IND000000,-1.#IND000000,2.3207370407,,, +3.7500000000,4.0000000000,2.9839739963,-1.#IND000000,1.3792469976,1.1226252209,-1.#IND000000,0.7496618709,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9472761588,1.6977651768,2.7211674539,2.9639212724,-1.#IND000000,-1.#IND000000,2.6495877570,2.7695401605,2.8466964792,2.7337870955,2.4581088771,2.2209869281,2.2059940448,2.3182741735,2.0282787735,-1.#IND000000,-1.#IND000000,2.8600639116,1.9960295408,-1.#IND000000,-1.#IND000000,2.4992410301,,, +4.0000000000,4.2500000000,2.3530595187,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.7947640244,2.2547276492,2.3353370039,2.3085886013,-1.#IND000000,2.3256321580,2.1485410243,1.9387825662,1.9435489314,2.1495188981,2.2887908413,2.1824318226,1.8656015386,2.3999479970,-1.#IND000000,-1.#IND000000,2.1812450751,2.5163355161,-1.#IND000000,-1.#IND000000,2.3961003518,,, +4.2500000000,4.5000000000,1.4127059738,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.3317615083,-1.#IND000000,-1.#IND000000,-1.#IND000000,1.5382671993,3.3726642095,3.2459134036,2.2077126459,1.4300212354,1.5670611329,1.5024339183,1.5177928934,1.2660501635,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4017913387,-1.#IND000000,-1.#IND000000,1.7327052859,3.0030364622,-1.#IND000000,-1.#IND000000,1.8163852521,,, +4.5000000000,4.7500000000,2.2956294607,-1.#IND000000,1.0902908821,-1.#IND000000,-1.#IND000000,1.6066421808,1.0928676940,0.9221675066,-1.#IND000000,-1.#IND000000,-1.#IND000000,0.9635318873,1.7704485759,2.8344703922,2.1111917953,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.4949987716,-1.#IND000000,-1.#IND000000,1.1812865571,2.9010693118,1.2455044269,-1.#IND000000,-1.#IND000000,,, +4.7500000000,5.0000000000,1.9935604615,1.5232806669,1.4111492897,2.1956106261,1.6604461159,1.5285750784,2.1914893645,1.5315010733,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.5292699503,2.4849360398,2.7152397689,1.8859749745,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,3.0604315701,-1.#IND000000,-1.#IND000000,-1.#IND000000,2.3913757885,1.2820354742,-1.#IND000000,-1.#IND000000,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-variance-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-variance-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..a4ac5c1d0d0f54018c2197a872c0e2b2218c4f98 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-o-movingI-variance-ref.csv @@ -0,0 +1,21 @@ +Time:4x8,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 2:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 3:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,sinusOsc 4:,Event Id,Event Date,Event Duration +0.0000000000,0.2500000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,-1.#IND000000,,, +0.2500000000,0.5000000000,0.0001250760,0.5333721191,0.2404070953,1.7523950200,2.4365980150,0.1106637093,2.2057111832,1.4710300186,0.3946581284,0.5701140092,5.1033266352,0.6863491467,0.0617748643,2.6612833749,0.6738128410,0.1918454266,0.0673285698,1.7086312792,2.5003057581,0.4437288088,0.0826129337,0.1302108680,1.2165955884,1.4217053265,1.2190740603,1.9853479436,0.0138454415,1.1967087598,0.4135682196,0.4066885234,0.0846228716,1.7430955077,,, +0.5000000000,0.7500000000,0.3447010171,0.7308542056,0.4630731843,1.5259832926,1.6227713813,0.3391669861,1.4160908459,6.3205950514,2.1386871571,0.8219399098,3.1426811955,1.8692009377,0.1091550491,1.7670685906,0.9121481346,0.2580650987,0.1756663680,1.9357680244,2.8868217534,0.8851467366,0.1480020176,0.1499470452,0.7487689795,0.9677771023,1.1434422758,1.6223931691,0.2324239431,1.5583446902,2.1835324854,0.4524595372,0.3708270240,0.9735583676,,, +0.7500000000,1.0000000000,0.2941957023,0.6375241830,2.0928469822,1.7059063114,2.1398515876,3.0665182087,1.6902975840,4.6939605438,1.9062295191,0.6038222210,2.2569831333,2.1296577130,0.1627250257,1.3668373295,1.5338751836,0.2572638123,0.2034779550,1.9879092995,3.2488531480,1.0648816670,0.1870056301,0.2472754718,0.6470259148,0.9521460042,1.4849556080,1.1787346335,0.8132225539,2.0165453603,2.2617306866,0.4461523848,0.2584451582,1.6244386541,,, +1.0000000000,1.2500000000,1.7720672523,0.2172182437,2.1330589353,1.5186002480,0.6610703492,2.8667585732,1.0102421268,3.6333237542,1.9726422731,0.7452921076,0.4342903646,2.2867944595,0.2195587187,1.1424431426,2.0447150651,0.2678940952,0.2034840786,2.1406320450,3.7083063241,1.3017534780,0.2874890008,0.6906407517,0.5223559282,0.5754821970,1.4872284658,0.1804723898,4.5979204642,3.2432528272,1.5070590032,0.5169447091,1.2444504879,1.5686517422,,, +1.2500000000,1.5000000000,1.7687637083,0.3310673881,1.7213731860,1.6133084699,1.2510202486,2.6745396140,1.0208501786,3.3936793490,1.7113846124,1.1678697908,0.4731417771,2.0990021497,0.3925633602,0.6463484766,2.1738984331,0.2688329943,0.3566619152,2.7321771399,5.0444854899,2.4014986496,0.3462727172,0.6513960749,0.5288954717,0.7499310492,0.8448013045,0.0916055467,6.8560260141,2.2719982509,1.1095429608,0.6121512537,1.6094377600,2.4346758839,,, +1.5000000000,1.7500000000,1.6259088428,0.5237981509,1.1244315673,2.4329366496,2.1984424629,2.6184873330,2.9487264159,1.5207964254,1.2813731882,1.4228744799,0.4947795149,2.1702202896,0.8766121856,0.6500529212,1.8193869053,0.4857382219,0.3943461410,1.3534358598,3.1256767180,1.3733092397,0.5182094767,1.9617374317,1.3164893831,0.4180575592,0.9466918680,0.2092698760,7.1399073047,1.1336060330,0.6609076245,0.7158722377,2.3574879228,2.7234221679,,, +1.7500000000,2.0000000000,1.8637366625,1.6520993946,0.0602445443,2.1632808770,1.7842661672,0.4994455719,2.6906816332,1.0143521879,1.3086388982,1.4641434459,0.1725410222,1.7579191233,1.0246288585,0.6342872140,2.0289074594,0.6183751884,0.3998942561,2.0144901877,4.3770627010,2.4631449631,0.2671053687,1.3837418779,1.1605217171,0.3464659110,0.5371193140,0.3568995230,6.9128742039,1.2897033504,0.1643270296,0.7404370028,2.7459336416,0.9599953587,,, +2.0000000000,2.2500000000,0.4955960087,1.7004434646,0.2734152165,1.7186421635,1.7642979814,0.9352070828,2.4706330809,1.0241589271,1.3645534577,1.4483950019,0.2896140552,1.9670816972,0.9834615184,0.2279565861,1.9945046552,0.6899699870,0.2331656285,0.6505844376,2.2265993376,1.3123298011,0.2891287948,2.4221999444,2.2871170349,0.4680633171,0.6387638216,1.7268574578,2.1371424834,1.3929201355,0.2432761820,0.7871756817,1.7901088848,0.7310871847,,, +2.2500000000,2.5000000000,0.5262357016,1.6569364182,0.9893057539,1.6641074368,2.7164262760,2.5162106354,2.8153337549,2.6228545887,1.0062563774,1.6911117860,0.1571251006,2.0441003101,1.3959275413,0.1149467280,2.0509564657,0.6863345522,0.1990817691,0.5968359423,1.8866124578,2.8105662481,0.3160975206,2.8536945696,3.3240500920,0.9533838910,0.6609003660,1.6419557742,2.9351653015,1.0154386731,0.3779912294,1.6172454992,1.4485044988,0.2946213595,,, +2.5000000000,2.7500000000,1.2053731159,1.6136054004,1.5033022194,0.0528153389,2.0961170560,1.9691968313,0.5224636616,2.4589641281,0.8117739234,2.0613976332,0.1333223816,1.2822355671,1.7057080395,0.0939933767,2.0008762717,1.0888329944,0.2535477597,0.4388769650,1.4846666296,3.2371362076,0.3191187239,2.2778027806,2.9680105871,0.7731105304,0.5085762319,1.9235918405,2.4181585592,0.3447131192,0.9420893875,2.3751608424,1.6717844311,0.3096435992,,, +2.7500000000,3.0000000000,0.9237543079,0.4318780005,1.7544104093,0.1817372871,1.8074551246,2.0492933839,0.6046716366,2.3232723084,0.5014333602,2.0821106569,0.2948094746,1.2157419443,2.0154199109,0.0947537260,1.4137396114,1.4413007816,0.5082951836,0.6755898667,0.6013915491,2.9318617689,0.6281588298,3.7237531886,5.1507448393,1.9069683754,0.7191312502,1.9052018534,0.6258636694,0.3775136839,1.8725996425,2.3262562981,2.0250583938,0.3641057542,,, +3.0000000000,3.2500000000,1.2095743550,0.4126670662,1.8241399775,1.4810709345,2.0717308174,2.8942403000,2.5323698922,2.6364587162,0.5337444667,1.8226027361,0.4958632173,0.9796433655,2.1034879373,0.1982020855,1.3475511161,1.4349285354,0.3444553061,0.5480228809,0.6537375525,3.6297333820,0.3018488336,1.8437319907,3.2152268181,0.9862680300,0.7162217249,1.8865878758,0.6803604856,0.3565077779,1.4512537675,2.6132602510,0.6863608539,0.4872588004,,, +3.2500000000,3.5000000000,2.1862565526,0.8244186744,1.2309764702,1.4430065542,0.2682611848,1.9937952163,2.1350135676,0.7352118051,0.5872580687,1.8908614633,0.7865193850,0.8162628238,1.7970826492,0.3455317682,1.3899090688,2.7048223922,0.5051260253,1.3934621925,0.6102038738,0.2320086766,0.3340793077,2.3514035948,4.1247742547,1.5682715087,2.3544673684,2.0356290724,0.5135529021,0.4097501492,1.2979500691,1.7041769221,0.1290069089,1.2696527154,,, +3.5000000000,3.7500000000,2.2300297484,0.8288578633,0.5425157373,1.9157986529,0.1523593301,1.9309914551,2.3653098787,0.3446266208,0.2533936278,1.8739835489,0.7528241625,0.7544520362,2.2505056910,0.4445943048,1.1675003483,3.9413961249,0.2883738832,1.5037936839,0.9076927518,0.2861198124,0.2001145849,1.4103851742,3.1928580362,1.4126266884,2.5758168528,1.9861155375,0.5158212431,0.8751616681,1.7310410442,0.9243446378,0.0805561075,1.4516928295,,, +3.7500000000,4.0000000000,3.6600078172,1.4130877971,0.3871437396,2.0586566814,1.7912063335,2.2488932695,2.9480322251,2.2060983945,0.3622392155,1.9177240646,0.8497374729,0.1669978819,2.3379694860,0.5297918084,0.7880626766,3.8905072660,0.3505371029,1.9630708967,1.3213360552,0.2972622584,0.3085983120,0.8228862404,2.0373706145,0.9365960933,1.8912401215,2.0046293042,0.3375622456,1.2899077604,2.5441621377,0.9440441001,0.0686253736,1.3471098473,,, +4.0000000000,4.2500000000,4.4332741102,1.7756109106,0.4791125176,0.8824384796,1.5731060968,0.6935991032,1.9566824816,2.3283683121,0.3106674059,1.8485983312,1.3823961959,0.1791258852,2.0692391157,0.7333889180,0.5006353223,4.4712315085,0.7793375980,3.5751884049,3.1080451113,0.8400314913,0.3851241341,0.9531825585,2.3988063436,1.5875644377,1.8554574586,0.3378332792,0.3810183520,2.8356635305,2.1604057655,1.0214102838,0.5812443822,1.2409089706,,, +4.2500000000,4.5000000000,3.5556516279,2.0555828874,0.8113426244,0.7002824292,2.1352484870,0.2602662830,1.9752406425,2.5927554583,0.2843922768,1.1616723445,1.6661340225,0.1813996685,2.0691736676,1.2593267715,0.4933357082,1.8243673746,0.4136817506,2.4168921158,2.3406866053,0.5019772124,0.5279092416,0.4690869624,0.7011296186,0.5043752712,1.4344459920,0.1836820511,0.9427832413,2.2840446291,1.7349180403,0.5868351036,1.0161381799,2.4035255457,,, +4.5000000000,4.7500000000,2.7770323795,2.0490152865,1.4978213182,0.4289280995,2.2745861893,1.8188415093,2.2001952993,2.8855265786,0.5637410613,1.2373946086,1.6992195041,0.0137059953,1.5112922882,1.4542462689,0.4467496758,1.7887328202,0.8081005698,4.0867755703,4.3643797642,1.1294611952,0.2746192666,0.4448643580,0.7509257198,0.7098491809,1.5423776375,0.1216143626,0.9063783757,1.4185395924,1.3526155048,0.2307674398,1.7275858780,5.2480969627,,, +4.7500000000,5.0000000000,1.6226041748,1.5597230101,1.5058435214,0.2762199566,0.7616939261,1.9111993024,1.2387108247,2.0600173546,0.7094839729,1.2834272346,1.8095281516,0.1896566378,1.6256095340,1.3188637488,0.3316442042,1.8265342257,0.2987320134,2.6395882078,3.3913577976,0.7588583714,0.3955457025,0.7457745671,0.2910195076,0.2946259451,1.0462932587,0.1691601302,1.5460591847,1.5841481688,0.3620358700,0.2362093711,2.4195804353,3.7041196537,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-test.xml b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..36402b47b7d386802fee38aef628fd85cabe054d --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/Epoch-Variance-test.xml @@ -0,0 +1,1564 @@ +<OpenViBE-Scenario> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings> + <Setting> + <Identifier>(0x00425137, 0xf2a30c29)</Identifier> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Test Name</Name> + <DefaultValue>Covariance-Matrix-Calculator</DefaultValue> + <Value>Epoch-Variance</Value> + </Setting> + </Settings> + <Inputs></Inputs> + <Outputs></Outputs> + <Boxes> + <Box> + <Identifier>(0x000015a8, 0x000079e9)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>864</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x568d148e, 0x650792b3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x01165f9f)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x00001175)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-block-confidence-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>800</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x00001176)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-block-variance-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x00001177)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-block-averaged-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>576</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x00001178)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-cumul-confidence-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>464</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x00001179)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-cumul-variance-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117a)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-cumul-averaged-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>240</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117b)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-moving-confidence-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1136</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117c)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-moving-variance-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1024</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117d)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-moving-averaged-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>912</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117e)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-movingI-confidence-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1472</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117f)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-movingI-variance-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1360</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x00001180)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-o-movingI-averaged-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1248</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003dd7, 0x00002b4e)</Identifier> + <Name>Epoch variance</Name> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input epochs</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Averaged epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Variance of epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Confidence bounds</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x6530bdb1, 0xd057bbfe)</TypeIdentifier> + <Name>Averaging type</Name> + <DefaultValue>Moving epoch average</DefaultValue> + <Value>Epoch block average</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Epoch count</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Significance level</Name> + <DefaultValue>0.01</DefaultValue> + <Value>0.01</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>688</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xe7fb819b, 0x3ff4203d)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003dd7, 0x00002b4f)</Identifier> + <Name>Epoch variance</Name> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input epochs</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Averaged epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Variance of epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Confidence bounds</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x6530bdb1, 0xd057bbfe)</TypeIdentifier> + <Name>Averaging type</Name> + <DefaultValue>Moving epoch average</DefaultValue> + <Value>Moving epoch average</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Epoch count</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Significance level</Name> + <DefaultValue>0.01</DefaultValue> + <Value>0.01</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1024</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xe7fb819b, 0x3ff4203d)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003dd7, 0x00002b50)</Identifier> + <Name>Epoch variance</Name> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input epochs</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Averaged epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Variance of epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Confidence bounds</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x6530bdb1, 0xd057bbfe)</TypeIdentifier> + <Name>Averaging type</Name> + <DefaultValue>Moving epoch average</DefaultValue> + <Value>Cumulative average</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Epoch count</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Significance level</Name> + <DefaultValue>0.01</DefaultValue> + <Value>0.01</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xe7fb819b, 0x3ff4203d)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00003dd7, 0x00002b51)</Identifier> + <Name>Epoch variance</Name> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input epochs</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Averaged epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Variance of epochs</Name> + </Output> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Confidence bounds</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x6530bdb1, 0xd057bbfe)</TypeIdentifier> + <Name>Averaging type</Name> + <DefaultValue>Moving epoch average</DefaultValue> + <Value>Moving epoch average (Immediate)</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Epoch count</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Significance level</Name> + <DefaultValue>0.01</DefaultValue> + <Value>0.01</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1360</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xe7fb819b, 0x3ff4203d)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00005b5f, 0x000050b0)</Identifier> + <Name>Timeout</Name> + <AlgorithmClassIdentifier>(0x24fcd292, 0x5c8f6aa8)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input Stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output Stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Timeout delay</Name> + <DefaultValue>5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Output Stimulation</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>864</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x1eaee00e, 0xdb05d34e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x017178bd)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00007814, 0x00001538)</Identifier> + <Name>CSV File Reader</Name> + <AlgorithmClassIdentifier>(0x336a3d9a, 0x753f1ba4)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stimulation</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-input.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>96</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>864</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + </Boxes> + <Links> + <Link> + <Identifier>(0x000001a0, 0x0000156e)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b51)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00001a66, 0x00001ca2)</Identifier> + <Source> + <BoxIdentifier>(0x00005b5f, 0x000050b0)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000015a8, 0x000079e9)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002339, 0x00001abb)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b51)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002691, 0x000044b3)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b50)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x00001178)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002bcc, 0x00002181)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b4f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117d)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004270, 0x000033cd)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b50)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x00001179)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004559, 0x00005501)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b4e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x00001177)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000046fa, 0x00005451)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003dd7, 0x00002b50)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004785, 0x0000537f)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b4e)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x00001175)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004da2, 0x000024f5)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b4f)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117c)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000051e7, 0x00007c48)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b51)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x00001180)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000655c, 0x00005a20)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005b5f, 0x000050b0)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000700a, 0x000017dc)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003dd7, 0x00002b4f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000743e, 0x00004b05)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b50)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117a)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00007671, 0x0000761e)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003dd7, 0x00002b4e)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00007979, 0x000018bc)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00003dd7, 0x00002b51)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00007be1, 0x00004d3a)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b4f)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117b)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00007ffe, 0x00003eed)</Identifier> + <Source> + <BoxIdentifier>(0x00003dd7, 0x00002b4e)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x00001176)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + </Links> + <Comments></Comments> + <Metadata> + <Entry> + <Identifier>(0x000062ac, 0x00003721)</Identifier> + <Type>(0x3bcce5d2, 0x43f2d968)</Type> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000041e, 0x000069b5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004c5d, 0x000021d4)","index":0,"name":"Default tab","parentIdentifier":"(0x0000041e, 0x000069b5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000420e, 0x000074bb)","index":0,"name":"Empty","parentIdentifier":"(0x00004c5d, 0x000021d4)","type":0}]</Data> + </Entry> + </Metadata> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/signal-processing/test/scenarios-tests/IFFT-input-imag.csv b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-input-imag.csv new file mode 100644 index 0000000000000000000000000000000000000000..765da35cdf0c973b12bef92dfd5650b364e43bbf --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-input-imag.csv @@ -0,0 +1,11 @@ +Time:1x65:256,End Time,sinusOsc 1:0.000000,sinusOsc 1:2.000000,sinusOsc 1:4.000000,sinusOsc 1:6.000000,sinusOsc 1:8.000000,sinusOsc 1:10.000000,sinusOsc 1:12.000000,sinusOsc 1:14.000000,sinusOsc 1:16.000000,sinusOsc 1:18.000000,sinusOsc 1:20.000000,sinusOsc 1:22.000000,sinusOsc 1:24.000000,sinusOsc 1:26.000000,sinusOsc 1:28.000000,sinusOsc 1:30.000000,sinusOsc 1:32.000000,sinusOsc 1:34.000000,sinusOsc 1:36.000000,sinusOsc 1:38.000000,sinusOsc 1:40.000000,sinusOsc 1:42.000000,sinusOsc 1:44.000000,sinusOsc 1:46.000000,sinusOsc 1:48.000000,sinusOsc 1:50.000000,sinusOsc 1:52.000000,sinusOsc 1:54.000000,sinusOsc 1:56.000000,sinusOsc 1:58.000000,sinusOsc 1:60.000000,sinusOsc 1:62.000000,sinusOsc 1:64.000000,sinusOsc 1:66.000000,sinusOsc 1:68.000000,sinusOsc 1:70.000000,sinusOsc 1:72.000000,sinusOsc 1:74.000000,sinusOsc 1:76.000000,sinusOsc 1:78.000000,sinusOsc 1:80.000000,sinusOsc 1:82.000000,sinusOsc 1:84.000000,sinusOsc 1:86.000000,sinusOsc 1:88.000000,sinusOsc 1:90.000000,sinusOsc 1:92.000000,sinusOsc 1:94.000000,sinusOsc 1:96.000000,sinusOsc 1:98.000000,sinusOsc 1:100.000000,sinusOsc 1:102.000000,sinusOsc 1:104.000000,sinusOsc 1:106.000000,sinusOsc 1:108.000000,sinusOsc 1:110.000000,sinusOsc 1:112.000000,sinusOsc 1:114.000000,sinusOsc 1:116.000000,sinusOsc 1:118.000000,sinusOsc 1:120.000000,sinusOsc 1:122.000000,sinusOsc 1:124.000000,sinusOsc 1:126.000000,sinusOsc 1:128.000000,Event Id,Event Date,Event Duration +0.0000000000,0.5000000000,0.0000000000,-66.1288878498,7.6470806286,3.5044136134,-0.7694150672,-17.7468406900,18.3832845389,8.7988783648,6.3010184746,5.0526377455,4.2689010127,3.7167146905,3.2999213783,2.9706370978,2.7019042604,2.4771819429,2.2856552806,2.1199007933,1.9746235633,1.8459279457,1.7308735395,1.6271928219,1.5331049345,1.4471890305,1.3682958209,1.2954843632,1.2279759711,1.1651200066,1.1063680868,1.0512543587,0.9993802215,0.9504023565,0.9040232487,0.8599836107,0.8180562708,0.7780412052,0.7397614671,0.7030598279,0.6677959888,0.6338442495,0.6010915506,0.5694358173,0.5387845545,0.5090536457,0.4801663237,0.4520522834,0.4246469133,0.3978906278,0.3717282841,0.3461086701,0.3209840542,0.2963097857,0.2720439404,0.2481470036,0.2245815856,0.2013121642,0.1783048519,0.1555271821,0.1329479133,0.1105368470,0.0882646581,0.0661027351,0.0440230280,0.0219979027,0.0000000000,,, +0.5000000000,1.0000000000,0.0000000000,-145.9746891132,-24.9352774987,-11.6602499940,0.2108128581,44.4822405617,-48.5874435223,-23.6573549004,-17.0792051690,-13.7583697620,-11.6578916953,-10.1698043648,-9.0419509101,-8.1481000906,-7.4168397880,-6.8041608474,-6.2811784582,-5.8279992323,-5.4303925575,-5.0778620004,-4.7624674789,-4.4780741317,-4.2198556651,-3.9839557454,-3.7672509967,-3.5671812935,-3.3816257937,-3.2088107766,-3.0472400470,-2.8956416382,-2.7529264788,-2.6181559707,-2.4905162895,-2.3692978204,-2.2538785576,-2.1437105953,-2.0383090515,-1.9372429242,-1.8401274914,-1.7466179585,-1.6564041143,-1.5692058149,-1.4847691434,-1.4028631312,-1.3232769438,-1.2458174548,-1.1703071448,-1.0965822736,-1.0244912840,-0.9538934005,-0.8846573949,-0.8166604929,-0.7497874021,-0.6839294432,-0.6189837694,-0.5548526613,-0.4914428871,-0.4286651170,-0.3664333848,-0.3046645891,-0.2432780270,-0.1821949553,-0.1213381732,-0.0606316226,0.0000000000,,, +1.0000000000,1.5000000000,0.0000000000,-41.1659696235,14.4938460372,4.3866087796,-7.2673006899,-58.7475190534,53.5100124280,24.3745330661,17.0141630464,13.4360930021,11.2389088622,9.7172891961,8.5840574150,7.6981474762,6.9811925696,6.3857030140,5.8809805227,5.4461685399,5.0665266937,4.7312982706,4.4324229603,4.1637249825,3.9203818293,3.6985655659,3.4951940211,3.3077541066,3.1341737485,2.9727273523,2.8219648808,2.6806578707,2.5477578002,2.4223635994,2.3036960208,2.1910772206,2.0839143430,1.9816862118,1.8839324577,1.7902445704,1.7002584857,1.6136484053,1.5301216129,1.4494141030,1.3712868738,1.2955227677,1.2219237662,1.1503086617,1.0805110450,1.0123775581,0.9457663695,0.8805458398,0.8165933458,0.7537942424,0.6920409392,0.6312320776,0.5712717915,0.5120690408,0.4535370068,0.3955925398,0.3381556515,0.2811490453,0.2244976776,0.1681283447,0.1119692913,0.0559498346,0.0000000000,,, +1.5000000000,2.0000000000,0.0000000000,-81.4578164460,0.4370964253,4.4395911768,11.2435304656,48.5299584435,-36.0855229428,-14.8868148694,-9.8120618141,-7.4696525908,-6.0937375776,-5.1751709185,-4.5112444752,-4.0047629944,-3.6030334066,-3.2748711632,-3.0005640986,-2.7669955762,-2.5650713155,-2.3882700302,-2.2317824425,-2.0919767013,-1.9660538352,-1.8518184777,-1.7475220207,-1.6517526920,-1.5633568610,-1.4813816243,-1.4050322056,-1.3336398619,-1.2666373721,-1.2035400818,-1.1439310767,-1.0874494651,-1.0337810278,-0.9826506907,-0.9338164157,-0.8870642046,-0.8422039830,-0.7990661889,-0.7574989250,-0.7173655692,-0.6785427579,-0.6409186745,-0.6043915897,-0.5688686106,-0.5342646031,-0.5005012600,-0.4675062900,-0.4352127106,-0.4035582269,-0.3724846844,-0.3419375844,-0.3118656524,-0.2822204521,-0.2529560376,-0.2240286394,-0.1953963775,-0.1670189987,-0.1388576335,-0.1108745703,-0.0830330423,-0.0552970261,-0.0276310486,0.0000000000,,, +2.0000000000,2.5000000000,0.0000000000,-121.4294337275,-23.3940183378,-16.0832223390,-13.8586896330,-20.6752541986,1.4786789137,-2.6211295845,-3.0555854922,-3.0015049108,-2.8357750081,-2.6484835759,-2.4664274018,-2.2976818044,-2.1439591907,-2.0047109473,-1.8786373939,-1.7642722684,-1.6602080257,-1.5651746544,-1.4780577298,-1.3978918979,-1.3238454696,-1.2552029195,-1.1913481240,-1.1317493917,-1.0759465396,-1.0235399308,-0.9741812583,-0.9275658288,-0.8834261105,-0.8415263332,-0.8016579636,-0.7636359014,-0.7272952752,-0.6924887325,-0.6590841416,-0.6269626340,-0.5960169337,-0.5661499243,-0.5372734154,-0.5093070798,-0.4821775305,-0.4558175204,-0.4301652431,-0.4051637213,-0.3807602700,-0.3569060232,-0.3335555152,-0.3106663095,-0.2881986679,-0.2661152545,-0.2443808702,-0.2229622131,-0.2018276615,-0.1809470766,-0.1602916211,-0.1398335934,-0.1195462735,-0.0994037789,-0.0793809298,-0.0594531218,-0.0395962038,-0.0197863608,0.0000000000,,, +2.5000000000,3.0000000000,0.0000000000,-10.3177339241,22.4758318320,12.4326660072,4.4398860905,-20.7345256469,29.6690378205,15.5654368257,11.6291492177,9.5506003399,8.1916946029,7.2054069937,6.4443135987,5.8328364479,5.3272642637,4.9001207704,4.5330559862,4.2132392781,3.9313710607,3.6805134921,3.4553662709,3.2517987317,3.0665367241,2.8969467717,2.7408834725,2.5965792243,2.4625629983,2.3375994922,2.2206428637,2.1108010752,2.0073080837,1.9095019101,1.8168071733,1.7287210517,1.6448019049,1.5646599795,1.4879497627,1.4143636496,1.3436266644,1.2754920351,1.2097374632,1.1461619613,1.0845831602,1.0248350040,0.9667657678,0.9102363464,0.8551187686,0.8012949043,0.7486553318,0.6970983434,0.6465290673,0.5968586898,0.5480037618,0.4998855793,0.4524296251,0.4055650653,0.3592242903,0.3133424959,0.2678572970,0.2227083692,0.1778371140,0.1331863436,0.0886999805,0.0443227697,0.0000000000,,, +3.0000000000,3.5000000000,0.0000000000,-85.4246959168,-10.2579142816,-1.7552742375,8.3242737226,54.7300342529,-47.4046995544,-21.1212165376,-14.5655094522,-11.4163887572,-9.5017033487,-8.1862586121,-7.2127992108,-6.4556727324,-5.8454699199,-5.3403570636,-4.9134286274,-4.5464896404,-4.2267350049,-3.9448558462,-3.6939006802,-3.4685597297,-3.2646982234,-3.0790423157,-2.9089619021,-2.7523168440,-2.6073458069,-2.4725844148,-2.3468039944,-2.2289650521,-2.1181814697,-2.0136926167,-1.9148413906,-1.8210567507,-1.7318396986,-1.6467519289,-1.5654065691,-1.4874605689,-1.4126084031,-1.3405768261,-1.2711204786,-1.2040181847,-1.1390698160,-1.0760936204,-1.0149239374,-0.9554092331,-0.8974104025,-0.8407992977,-0.7854574432,-0.7312749128,-0.6781493410,-0.6259850494,-0.5746922716,-0.5241864619,-0.4743876744,-0.4252200046,-0.3766110814,-0.3284916051,-0.2807949215,-0.2334566284,-0.1864142088,-0.1396066846,-0.0929742893,-0.0464581535,0.0000000000,,, +3.5000000000,4.0000000000,0.0000000000,-74.8050089460,-16.1676430464,-15.6407799609,-21.9660552100,-69.3302415032,42.5454561086,15.4624983768,9.3341157818,6.6702011852,5.1920164721,4.2546562501,3.6072593351,3.1326381784,2.7689872682,2.4807394212,2.2460278314,2.0506904534,1.8851604235,1.7427457024,1.6186257221,1.5092398651,1.4119005695,1.3245405542,1.2455429873,1.1736245424,1.1077530994,1.0470886902,0.9909403783,0.9387342713,0.8899894513,0.8442996245,0.8013189631,0.7607510612,0.7223402320,0.6858645846,0.6511304701,0.6179679874,0.5862273212,0.5557757353,0.5264950875,0.4982797635,0.4710349478,0.4446751689,0.4191230684,0.3943083541,0.3701669053,0.3466400037,0.3236736697,0.3012180867,0.2792270991,0.2576577726,0.2364700068,0.2156261931,0.1950909093,0.1748306467,0.1548135646,0.1350092670,0.1153885999,0.0959234630,0.0765866371,0.0573516207,0.0381924765,0.0190836844,0.0000000000,,, +4.0000000000,4.5000000000,0.0000000000,19.7968811446,27.5460313601,21.5070590195,22.8106678070,52.1552777082,-22.3116030174,-5.3701965715,-1.9625737443,-0.6916609541,-0.1041419607,0.1970612618,0.3593036210,0.4475835558,0.4939781945,0.5156178176,0.5221995236,0.5194616138,0.5109183090,0.4987798307,0.4844648387,0.4688975674,0.4526860309,0.4362319982,0.4198005387,0.4035649333,0.3876362049,0.3720828402,0.3569441379,0.3422393448,0.3279739693,0.3141441766,0.3007398675,0.2877468423,0.2751483250,0.2629260363,0.2510609462,0.2395337986,0.2283254712,0.2174172192,0.2067908335,0.1964287395,0.1863140511,0.1764305950,0.1667629121,0.1572962446,0.1480165117,0.1389102792,0.1299647238,0.1211675957,0.1125071791,0.1039722527,0.0955520506,0.0872362231,0.0790147998,0.0708781521,0.0628169580,0.0548221679,0.0468849711,0.0389967633,0.0311491159,0.0233337448,0.0155424811,0.0077672416,0.0000000000,,, +4.5000000000,5.0000000000,0.0000000000,-76.2297577803,-22.8181686560,-15.0514477033,-11.5775602159,-11.1654397233,-5.4990830696,-5.4814242163,-4.9341739257,-4.4285279489,-3.9982831228,-3.6347813084,-3.3255783481,-3.0599677959,-2.8294966006,-2.6276090746,-2.4492134735,-2.2903232782,-2.1477854054,-2.0190793436,-1.9021692324,-1.7953943929,-1.6973876271,-1.6070136362,-1.5233221279,-1.4455117439,-1.3729020397,-1.3049115136,-1.2410402274,-1.1808559441,-1.1239829824,-1.0700931912,-1.0188985878,-0.9701453148,-0.9236086480,-0.8790888495,-0.8364077010,-0.7954055945,-0.7559390740,-0.7178787521,-0.6811075339,-0.6455190973,-0.6110165861,-0.5775114831,-0.5449226325,-0.5131753904,-0.4822008821,-0.4519353514,-0.4223195876,-0.3932984198,-0.3648202668,-0.3368367384,-0.3093022762,-0.2821738327,-0.2554105806,-0.2289736490,-0.2028258831,-0.1769316227,-0.1512564986,-0.1257672426,-0.1004315094,-0.0752177088,-0.0500948450,-0.0250323632,0.0000000000,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/IFFT-input-real.csv b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-input-real.csv new file mode 100644 index 0000000000000000000000000000000000000000..a1a1beb06fbf5311e4300b59e7a813c6ef2c4a51 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-input-real.csv @@ -0,0 +1,11 @@ +Time:1x65:256,End Time,sinusOsc 1:0.000000,sinusOsc 1:2.000000,sinusOsc 1:4.000000,sinusOsc 1:6.000000,sinusOsc 1:8.000000,sinusOsc 1:10.000000,sinusOsc 1:12.000000,sinusOsc 1:14.000000,sinusOsc 1:16.000000,sinusOsc 1:18.000000,sinusOsc 1:20.000000,sinusOsc 1:22.000000,sinusOsc 1:24.000000,sinusOsc 1:26.000000,sinusOsc 1:28.000000,sinusOsc 1:30.000000,sinusOsc 1:32.000000,sinusOsc 1:34.000000,sinusOsc 1:36.000000,sinusOsc 1:38.000000,sinusOsc 1:40.000000,sinusOsc 1:42.000000,sinusOsc 1:44.000000,sinusOsc 1:46.000000,sinusOsc 1:48.000000,sinusOsc 1:50.000000,sinusOsc 1:52.000000,sinusOsc 1:54.000000,sinusOsc 1:56.000000,sinusOsc 1:58.000000,sinusOsc 1:60.000000,sinusOsc 1:62.000000,sinusOsc 1:64.000000,sinusOsc 1:66.000000,sinusOsc 1:68.000000,sinusOsc 1:70.000000,sinusOsc 1:72.000000,sinusOsc 1:74.000000,sinusOsc 1:76.000000,sinusOsc 1:78.000000,sinusOsc 1:80.000000,sinusOsc 1:82.000000,sinusOsc 1:84.000000,sinusOsc 1:86.000000,sinusOsc 1:88.000000,sinusOsc 1:90.000000,sinusOsc 1:92.000000,sinusOsc 1:94.000000,sinusOsc 1:96.000000,sinusOsc 1:98.000000,sinusOsc 1:100.000000,sinusOsc 1:102.000000,sinusOsc 1:104.000000,sinusOsc 1:106.000000,sinusOsc 1:108.000000,sinusOsc 1:110.000000,sinusOsc 1:112.000000,sinusOsc 1:114.000000,sinusOsc 1:116.000000,sinusOsc 1:118.000000,sinusOsc 1:120.000000,sinusOsc 1:122.000000,sinusOsc 1:124.000000,sinusOsc 1:126.000000,sinusOsc 1:128.000000,Event Id,Event Date,Event Duration +0.0000000000,0.5000000000,98.9034920167,-16.2636595967,5.7217666462,10.9753050576,19.2187117722,66.1242215493,-41.8395944958,-15.2976754129,-9.1966949416,-6.5258546352,-5.0475224929,-4.1202783429,-3.4912160780,-3.0406911289,-2.7049198787,-2.4468877355,-2.2437049505,-2.0804983082,-1.9472121674,-1.8368227617,-1.7442884186,-1.6659053499,-1.5988977603,-1.5411488542,-1.4910195161,-1.4472231975,-1.4087377834,-1.3747423602,-1.3445710953,-1.3176790982,-1.2936168068,-1.2720105354,-1.2525475361,-1.2349644075,-1.2190380158,-1.2045783218,-1.1914226667,-1.1794311866,-1.1684831065,-1.1584737259,-1.1493119509,-1.1409182639,-1.1332230431,-1.1261651647,-1.1196908357,-1.1137526142,-1.1083085842,-1.1033216584,-1.0987589857,-1.0945914488,-1.0907932341,-1.0873414654,-1.0842158894,-1.0813986074,-1.0788738437,-1.0766277490,-1.0746482314,-1.0729248125,-1.0714485053,-1.0702117123,-1.0692081397,-1.0684327287,-1.0678815998,-1.0675520111,-0.7547957094,,, +0.5000000000,1.0000000000,-25.3823371653,-16.1093551801,-3.1152591262,-5.1974448111,-9.6792176353,-36.8788830807,26.1456376036,10.7186885126,7.1924609162,5.6563597831,4.8094997078,4.2800115450,3.9217011904,3.6656038622,3.4750503114,3.3288111226,3.2137856398,3.1214771442,3.0461504534,2.9838053467,2.9315740864,2.8873522818,2.8495643584,2.8170098494,2.7887599122,2.7640860012,2.7424096746,2.7232666159,2.7062804134,2.6911431674,2.6776009498,2.6654427692,2.6544921013,2.6446003205,2.6356415584,2.6275086428,2.6201098648,2.6133663845,2.6072101364,2.6015821247,2.5964310298,2.5917120608,2.5873860065,2.5834184468,2.5797790934,2.5764412371,2.5733812822,2.5705783534,2.5680139615,2.5656717201,2.5635371033,2.5615972388,2.5598407313,2.5582575104,2.5568387013,2.5555765128,2.5544641429,2.5534956972,2.5526661209,2.5519711404,2.5514072158,2.5509715017,2.5506618162,2.5504766172,1.8034157314,,, +1.0000000000,1.5000000000,-64.0003577119,-19.1937288569,-0.5657245395,-2.1851453230,-3.2500775108,-7.0639144921,1.1480480534,-0.9626028532,-1.4750973773,-1.7099403544,-1.8446201073,-1.9314304984,-1.9915840865,-2.0353878713,-2.0684703067,-2.0941674615,-2.1145806546,-2.1310972101,-2.1446681226,-2.1559656557,-2.1654774164,-2.1735648920,-2.1805011678,-2.1864959634,-2.1917126828,-2.1962802906,-2.2003017471,-2.2038601083,-2.2070230048,-2.2098459785,-2.2123750008,-2.2146483942,-2.2166983162,-2.2185519149,-2.2202322381,-2.2217589543,-2.2231489288,-2.2244166877,-2.2255747936,-2.2266341528,-2.2276042662,-2.2284934375,-2.2293089452,-2.2300571856,-2.2307437935,-2.2313737426,-2.2319514308,-2.2324807525,-2.2329651594,-2.2334077130,-2.2338111289,-2.2341778152,-2.2345099045,-2.2348092829,-2.2350776130,-2.2353163551,-2.2355267846,-2.2357100072,-2.2358669711,-2.2359984785,-2.2361051937,-2.2361876510,-2.2362462601,-2.2362813106,-1.5812979273,,, +1.5000000000,2.0000000000,109.4018393917,-53.5163601734,3.5211563410,8.5192776068,14.7550010594,48.0160781886,-27.9969210458,-9.2225805323,-4.8812797139,-2.9709267444,-1.9091355243,-1.2409717816,-0.7864995977,-0.4603396889,-0.2168502402,-0.0294793086,0.1182285663,0.2369862295,0.3340486946,0.4144909762,0.4819606367,0.5391403510,0.5880426620,0.6302036810,0.6668138169,0.6988080845,0.7269297859,0.7517762431,0.7738321821,0.7934944654,0.8110906602,0.8268931500,0.8411299782,0.8539932667,0.8656458128,0.8762263047,0.8858534771,0.8946294478,0.9026424149,0.9099688526,0.9166753077,0.9228198797,0.9284534451,0.9336206766,0.9383608939,0.9427087786,0.9466949759,0.9503466036,0.9536876837,0.9567395104,0.9595209628,0.9620487732,0.9643377560,0.9664010048,0.9682500599,0.9698950536,0.9713448325,0.9726070633,0.9736883213,0.9745941658,0.9753292020,0.9758971317,0.9763007936,0.9765421941,0.6905764126,,, +2.0000000000,2.5000000000,-71.0017563267,-46.1328036749,-8.2497158692,-12.4281820996,-20.5842615039,-69.1351412531,43.1366042046,15.6185917032,9.3177117964,6.5686916497,5.0512444092,4.1015307234,3.4583353769,2.9983248280,2.6558674492,2.3929379885,2.1860555395,2.0199821153,1.8844269416,1.7722090569,1.6781783987,1.5985544286,1.5305057364,1.4718744026,1.4209903547,1.3765433661,1.3374929520,1.3030037627,1.2723984893,1.2451230208,1.2207203158,1.1988105688,1.1790759831,1.1612489621,1.1451028617,1.1304446871,1.1171092769,1.1049546361,1.0938581667,1.0837136007,1.0744284919,1.0659221506,1.0581239357,1.0509718345,1.0444112761,1.0383941366,1.0328779006,1.0278249525,1.0232019759,1.0189794424,1.0151311756,1.0116339787,1.0084673157,1.0056130384,1.0030551524,1.0007796164,0.9987741713,0.9970281942,0.9955325745,0.9942796100,0.9932629208,0.9924773784,0.9919190503,0.9915851569,0.7010780188,,, +2.5000000000,3.0000000000,-12.6229555487,-48.3107272656,8.6643318567,11.2530489710,18.1705265831,61.8650360332,-39.8003372261,-14.9838449820,-9.3321678001,-6.8782330072,-5.5290031419,-4.6872371221,-4.1185923935,-3.7127302574,-3.4110858218,-3.1798075064,-2.9980353748,-2.8522574115,-2.7333633946,-2.6350053469,-2.5526364193,-2.4829226477,-2.4233695819,-2.3720778036,-2.3275784688,-2.2887200388,-2.2545886291,-2.2244509503,-2.1977127520,-2.1738881005,-2.1525763582,-2.1334447193,-2.1162148113,-2.1006523090,-2.0865588060,-2.0737653981,-2.0621275756,-2.0515211269,-2.0418388303,-2.0329877639,-2.0248871061,-2.0174663249,-2.0106636816,-2.0044249859,-1.9987025568,-1.9934543514,-1.9886432307,-1.9842363394,-1.9802045800,-1.9765221655,-1.9731662383,-1.9701165437,-1.9673551520,-1.9648662191,-1.9626357817,-1.9606515829,-1.9589029213,-1.9573805246,-1.9560764407,-1.9549839470,-1.9540974751,-1.9534125492,-1.9529257370,-1.9526346127,-1.3806526703,,, +3.0000000000,3.5000000000,91.0957472073,-89.5558173824,-8.2702612548,-6.5292713507,-8.8634109999,-29.2855697424,19.4837414094,7.7772273603,5.1701357631,4.0608600320,3.4611685062,3.0921371882,2.8456069559,2.6712404217,2.5426100342,2.4445920575,2.3679505335,2.3067508416,2.2570202466,2.2160081306,2.1817554342,2.1528328968,2.1281759412,2.1069771782,2.0886144782,2.0726016731,2.0585540454,2.0461637071,2.0351817374,2.0254050221,2.0166664250,2.0088273532,2.0017720689,1.9954032914,1.9896387634,1.9844085454,1.9796528679,1.9753204103,1.9713669149,1.9677540607,1.9644485444,1.9614213250,1.9586469998,1.9561032868,1.9537705921,1.9516316488,1.9496712116,1.9478758004,1.9462334819,1.9447336851,1.9433670432,1.9421252592,1.9410009906,1.9399877510,1.9390798254,1.9382721986,1.9375604926,1.9369409150,1.9364102136,1.9359656399,1.9356049172,1.9353262158,1.9351281327,1.9350096764,1.3682305897,,, +3.5000000000,4.0000000000,-94.1492125607,-58.6102310453,0.0999932168,-2.3800247253,-4.7457769260,-15.7354929983,8.9262843927,2.7599778145,1.3116608739,0.6657380182,0.3028859056,0.0726407362,-0.0849956819,-0.1987153294,-0.2839659211,-0.3497912951,-0.4018276926,-0.4437623680,-0.4781030805,-0.5066105887,-0.5305545269,-0.5508713434,-0.5682653299,-0.5832752453,-0.5963194230,-0.6077270218,-0.6177601200,-0.6266296201,-0.6345068848,-0.6415323740,-0.6478221409,-0.6534727776,-0.6585652206,-0.6631677095,-0.6673381090,-0.6711257460,-0.6745728753,-0.6777158581,-0.6805861145,-0.6832109006,-0.6856139444,-0.6878159699,-0.6898351312,-0.6916873740,-0.6933867377,-0.6949456091,-0.6963749361,-0.6976844090,-0.6988826137,-0.6999771627,-0.7009748065,-0.7018815288,-0.7027026286,-0.7034427898,-0.7041061414,-0.7046963089,-0.7052164582,-0.7056693332,-0.7060572873,-0.7063823106,-0.7066460516,-0.7068498355,-0.7069946786,-0.7070812993,-0.5000023647,,, +4.0000000000,4.5000000000,35.6529274256,-79.1430096323,6.2019674243,9.8724455258,16.3246761433,54.2962936834,-33.4351948807,-11.9218744656,-6.9932186686,-4.8419360686,-3.6540346811,-2.9103790879,-2.4066364275,-2.0463055315,-1.7780218900,-1.5720203713,-1.4099176273,-1.2797819890,-1.1735545374,-1.0856110945,-1.0119177108,-0.9495129134,-0.8961785641,-0.8502240312,-0.8103408149,-0.7755023025,-0.7448931979,-0.7178589169,-0.6938686980,-0.6724883076,-0.6533595710,-0.6361848338,-0.6207150324,-0.6067404410,-0.5940834268,-0.5825927267,-0.5721388902,-0.5626106229,-0.5539118319,-0.5459592231,-0.5386803348,-0.5320119200,-0.5258986073,-0.5202917883,-0.5151486875,-0.5104315824,-0.5061071465,-0.5021458942,-0.4985217095,-0.4952114457,-0.4921945835,-0.4894529391,-0.4869704146,-0.4847327837,-0.4827275083,-0.4809435815,-0.4793713934,-0.4780026165,-0.4768301091,-0.4758478332,-0.4750507876,-0.4744349521,-0.4739972438,-0.4737354839,-0.3349199773,,, +4.5000000000,5.0000000000,55.5863205928,-107.0548534443,-14.5885221446,-15.2023494121,-22.2674276374,-71.0484346514,43.3491841182,15.5652400211,9.2793250063,6.5659687954,5.0812641405,4.1585526013,3.5371586736,3.0947587414,2.7666302515,2.5154687852,2.3183451781,2.1604406112,2.0317837375,1.9254388203,1.8364457779,1.7611726770,1.6969054668,1.6415797722,1.5936007436,1.5517191486,1.5149443480,1.4824820260,1.4536888866,1.4280391932,1.4050997183,1.3845107551,1.3659715601,1.3492290768,1.3340691165,1.3203093999,1.3077940214,1.2963890119,1.2859787566,1.2764630837,1.2677548849,1.2597781577,1.2524663869,1.2457612001,1.2396112450,1.2339712481,1.2288012220,1.2240657964,1.2197336498,1.2157770275,1.2121713300,1.2088947614,1.2059280290,1.2032540856,1.2008579090,1.1987263132,1.1968477867,1.1952123553,1.1938114658,1.1926378875,1.1916856313,1.1909498835,1.1904269525,1.1901142297,0.8414642544,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/IFFT-ref.csv b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..7291eae065fd836d614e98473f244cbfb2d5d01b --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-ref.csv @@ -0,0 +1,11 @@ +Time:1x128,End Time,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,sinusOsc 1:,Event Id,Event Date,Event Duration +0.0000000000,0.5000000000,-0.3176134464,0.1404641721,0.5823335553,0.9642763035,1.2851302287,1.5095603292,1.6473108941,1.6757161049,1.6180688981,1.4651870432,1.2528420660,0.9824555156,0.6977888586,0.4050830331,0.1494127657,-0.0652649152,-0.1995965205,-0.2583840085,-0.2134591781,-0.0824548980,0.1492159699,0.4505371537,0.8238441097,1.2278557792,1.6573463762,2.0667052918,2.4499116993,2.7641508253,3.0095945371,3.1525867421,3.2047862906,3.1455523440,3.0001806870,2.7613391620,2.4663769440,2.1179204779,1.7604893344,1.4005931576,1.0830777558,0.8112003169,0.6232033133,0.5128511889,0.5066672111,0.5852883494,0.7616185047,1.0031340482,1.3109556991,1.6429766364,1.9936035128,2.3173536031,2.6088320437,2.8263159235,2.9714700909,3.0124396640,2.9628783897,2.8042057734,2.5637103766,2.2358567123,1.8594793953,1.4382853747,1.0174040160,0.6034507722,0.2408747926,-0.0679296726,-0.2859810530,-0.4210781110,-0.4484467733,-0.3892564081,-0.2323342220,-0.0117330645,0.2724525438,0.5773042266,0.8968818111,1.1858485977,1.4394418269,1.6170155682,1.7216837624,1.7233134751,1.6374344216,1.4473659730,1.1821881109,0.8379229898,0.4546195065,0.0367693470,-0.3701997077,-0.7598835132,-1.0885423425,-1.3549436626,-1.5236430705,-1.6042494276,-1.5739506351,-1.4558987452,-1.2407922187,-0.9643198139,-0.6278695496,-0.2752281243,0.0872738555,0.4144061461,0.7019933190,0.9104077551,1.0441324147,1.0746490575,1.0192253235,0.8629104424,0.6363752205,0.3369721220,0.0057163372,-0.3523764462,-0.6918443046,-1.0067523270,-1.2543118918,-1.4346683929,-1.5140973913,-1.5041611155,-1.3841093040,-1.1791317691,-0.8818097087,-0.5294393581,-0.1246397807,0.2880227895,0.7019334898,1.0720825387,1.3949941595,1.6321608836,1.7895185828,1.8402240464,1.8033162500,1.6655798800,,, +0.5000000000,1.0000000000,1.8531718601,1.5934575360,1.2726047654,0.9623144802,0.6417892244,0.3826673560,0.1605231208,0.0400539171,-0.0129355175,0.0543355628,0.1944392796,0.4465307932,0.7501141138,1.1327453805,1.5246078899,1.9468657635,2.3266851809,2.6857989529,2.9554886516,3.1648627980,3.2553252933,3.2681484154,3.1580937388,2.9800543994,2.7017269624,2.3893524936,2.0195979342,1.6646725003,1.3037937655,1.0081271064,0.7523255065,0.5997882538,0.5147432655,0.5482337401,0.6510631043,0.8607188007,1.1152635325,1.4411485187,1.7678753494,2.1164072552,2.4142146767,2.6838291871,2.8577807051,2.9667996045,2.9541831881,2.8632479295,2.6508192389,2.3737412912,2.0014243848,1.6014780871,1.1515087667,0.7241820515,0.2986686098,-0.0544016814,-0.3613512339,-0.5601168017,-0.6880629068,-0.6958732341,-0.6344745550,-0.4679818049,-0.2596848654,0.0158689725,0.2876161596,0.5764369157,0.8102155963,1.0123744023,1.1167567548,1.1557456814,1.0745224976,0.9183946898,0.6461534092,0.3164523242,-0.0997655800,-0.5337366061,-1.0071546699,-1.4471535268,-1.8748713978,-2.2204722112,-2.5114992378,-2.6874500466,-2.7874796803,-2.7641663344,-2.6703028717,-2.4717120293,-2.2331149252,-1.9301150877,-1.6343855721,-1.3251689021,-1.0742111564,-0.8572575806,-0.7392313443,-0.6862057614,-0.7512583554,-0.8872699939,-1.1336998101,-1.4303349180,-1.8049793503,-2.1880174863,-2.6007596549,-2.9704593836,-3.3188783334,-3.5772730911,-3.7746819811,-3.8524054608,-3.8515935710,-3.7268827727,-3.5330544631,-3.2377222766,-2.9070866767,-2.5178269755,-2.1422247406,-1.7596327398,-1.4414128837,-1.1624702462,-0.9865020828,-0.8780672351,-0.8885575012,-0.9691259892,-1.1575941344,-1.3923271480,-1.7000335342,-2.0104162041,-2.3445767310,-2.6300581058,-2.8894002242,-3.0550829157,-3.1577377015,-3.1405270583,,, +1.0000000000,1.5000000000,-2.9106890135,-2.7186399642,-2.4194338908,-2.0699832959,-1.6501901966,-1.2252520727,-0.7802318006,-0.3820038366,-0.0137072789,0.2631737769,0.4739813167,0.5682117162,0.5839212422,0.4841679261,0.3204715889,0.0683171266,-0.2102517153,-0.5318625627,-0.8297702531,-1.1194144517,-1.3364578404,-1.5021752944,-1.5610845897,-1.5457174731,-1.4134647427,-1.2104489551,-0.9074210543,-0.5627006817,-0.1572214785,0.2432394890,0.6535372965,1.0072242688,1.3220731986,1.5379399018,1.6818478020,1.7052063553,1.6480909228,1.4755520140,1.2409449072,0.9213138324,0.5798862261,0.2007694951,-0.1490462670,-0.4852529014,-0.7442344731,-0.9483956153,-1.0437027356,-1.0643431857,-0.9694438671,-0.8068117390,-0.5487017647,-0.2546410559,0.0936213437,0.4299532217,0.7693508384,1.0460054520,1.2787931753,1.4090716875,1.4656710604,1.4019970217,1.2601822679,1.0072626913,0.6983787768,0.3120452715,-0.0874473996,-0.5154010859,-0.9047392957,-1.2715690861,-1.5531540007,-1.7731730641,-1.8791654983,-1.9070730057,-1.8178292617,-1.6609681007,-1.4102651742,-1.1264506628,-0.7920702632,-0.4735864703,-0.1558400149,0.0960086658,0.3019269172,0.4047327907,0.4349857996,0.3479708029,0.1877189538,-0.0769483368,-0.3893429411,-0.7697492443,-1.1531079945,-1.5544399371,-1.9068974111,-2.2273134252,-2.4541276422,-2.6125675482,-2.6519898873,-2.6103013993,-2.4504169667,-2.2237358014,-1.9056596398,-1.5581991232,-1.1647529827,-0.7921577368,-0.4251313387,-0.1282318767,0.1195388916,0.2623772206,0.3324623602,0.2868175349,0.1711994484,-0.0439885461,-0.3007409851,-0.6183922650,-0.9313777863,-1.2547040191,-1.5220124050,-1.7511057286,-1.8818179442,-1.9411096232,-1.8803000554,-1.7393626373,-1.4832503701,-1.1652413193,-0.7623370973,-0.3377688632,0.1242975620,0.5567546213,0.9751176011,1.3155392155,,, +1.5000000000,2.0000000000,1.0316573681,1.2208076807,1.3042447605,1.2995741696,1.1954642438,1.0226905045,0.7817139847,0.5129030753,0.2234427341,-0.0429126750,-0.2791663663,-0.4453132006,-0.5414052036,-0.5372940301,-0.4450090192,-0.2476642751,0.0290883244,0.3891022521,0.7951924258,1.2419829353,1.6860071328,2.1189938407,2.4981698284,2.8194981997,3.0476861749,3.1889024572,3.2200740004,3.1607519458,3.0014759170,2.7746914640,2.4822159831,2.1653705504,1.8318277767,1.5253362178,1.2523998585,1.0520849418,0.9230269143,0.8937869196,0.9505922802,1.1085592466,1.3403720422,1.6484510340,1.9945181271,2.3725304028,2.7388367179,3.0854870550,3.3705231399,3.5911707699,3.7137705236,3.7463923941,3.6680112969,3.5002416554,3.2355693818,2.9081452476,2.5211435958,2.1168112811,1.7032626994,1.3241850986,0.9855339940,0.7253898221,0.5410451021,0.4594659202,0.4651548264,0.5715048628,0.7496095726,1.0005526620,1.2850769168,1.5965961534,1.8913994338,2.1619739976,2.3672744538,2.5058601518,2.5457412163,2.4968846706,2.3402651520,2.0994671044,1.7687859852,1.3839015824,0.9491357548,0.5074265069,0.0670794720,-0.3285359796,-0.6742655521,-0.9332544250,-1.1097720920,-1.1786399651,-1.1572423919,-1.0340401620,-0.8396308939,-0.5743416658,-0.2784624976,0.0408362923,0.3397471604,0.6111525863,0.8148637479,0.9506946745,0.9882167815,0.9391516007,0.7862941285,0.5549825700,0.2410712661,-0.1185111409,-0.5185979468,-0.9158765457,-1.3021708037,-1.6347440498,-1.9095422710,-2.0912106464,-2.1858229800,-2.1701929908,-2.0637561969,-1.8569504519,-1.5821487722,-1.2411386917,-0.8752646240,-0.4922825856,-0.1360873169,0.1866098910,0.4364802962,0.6145805683,0.6920093165,0.6821819562,0.5696245838,0.3813116919,0.1145137449,-0.1927545609,-0.5346573075,-0.8676870737,,, +2.0000000000,2.5000000000,-0.6002117245,-0.8577383381,-1.0538919710,-1.1546480586,-1.1682195425,-1.0731599810,-0.8912018230,-0.6144171161,-0.2771134030,0.1178822084,0.5280769165,0.9455987713,1.3264022179,1.6646628477,1.9218401358,2.1006883335,2.1737210612,2.1564514809,2.0349673389,1.8382247880,1.5646862711,1.2537517270,0.9116685514,0.5824203343,0.2733176333,0.0258130615,-0.1587309161,-0.2478115452,-0.2513932731,-0.1498868019,0.0331446010,0.3039550581,0.6268404281,0.9979556669,1.3742442341,1.7477690019,2.0749278829,2.3508236730,2.5382686085,2.6417078502,2.6355735180,2.5373988491,2.3352605379,2.0599424039,1.7114547237,1.3303667369,0.9236446174,0.5354999312,0.1729746255,-0.1232147918,-0.3528475418,-0.4848777423,-0.5309293508,-0.4731483923,-0.3367770347,-0.1170552362,0.1491191787,0.4571025556,0.7635019585,1.0605409793,1.3052755654,1.4939293190,1.5908311532,1.6022441528,1.5046038391,1.3175034566,1.0310033032,0.6776664995,0.2589644284,-0.1834827284,-0.6421316728,-1.0726984556,-1.4685695460,-1.7899191407,-2.0378090784,-2.1827706949,-2.2381823223,-2.1879921462,-2.0591600231,-1.8484332220,-1.5938957380,-1.3009683767,-1.0133533486,-0.7386427409,-0.5191119119,-0.3574277203,-0.2877856778,-0.3021819643,-0.4222950790,-0.6266311499,-0.9233467766,-1.2783377945,-1.6889420450,-2.1127831786,-2.5420509211,-2.9327045605,-3.2788699983,-3.5419089798,-3.7244402067,-3.7988171588,-3.7803835700,-3.6550647711,-3.4516776609,-3.1685834482,-2.8451313769,-2.4875779805,-2.1399812230,-1.8097923957,-1.5386679534,-1.3282298941,-1.2112851161,-1.1782039367,-1.2489250981,-1.4002326583,-1.6387094416,-1.9289463085,-2.2673468977,-2.6110477355,-2.9522437934,-3.2474030689,-3.4916397338,-3.6477261034,-3.7200270997,-3.6828680468,-3.5536643942,-3.3203803184,-3.0137081982,-2.6336021773,,, +2.5000000000,3.0000000000,-2.4028020759,-1.9774336673,-1.5435742302,-1.1623229291,-0.8207231885,-0.5731541951,-0.3970695149,-0.3350578297,-0.3514042026,-0.4750695103,-0.6572023888,-0.9150350327,-1.1902132952,-1.4933553750,-1.7628433114,-2.0096093992,-2.1759058634,-2.2798214287,-2.2735519378,-2.1872234577,-1.9863233834,-1.7145965210,-1.3505263049,-0.9493243689,-0.4986118427,-0.0597713724,0.3768023019,0.7505441770,1.0754118744,1.2984244923,1.4438271954,1.4709132884,1.4173335299,1.2559840715,1.0373679170,0.7455873817,0.4399248906,0.1102240304,-0.1819291713,-0.4479849675,-0.6311575020,-0.7508678898,-0.7609150641,-0.6931797994,-0.5149257439,-0.2715635302,0.0569926586,0.4144441352,0.8125114016,1.1896375408,1.5557595896,1.8511373029,2.0909988473,2.2240015954,2.2762932164,2.2092119984,2.0624646255,1.8108819404,1.5066567780,1.1352299461,0.7567890888,0.3615980358,0.0111601894,-0.3065430582,-0.5357289853,-0.6971754410,-0.7462859689,-0.7166709595,-0.5773172631,-0.3752215150,-0.0916257017,0.2162046437,0.5594614582,0.8765440159,1.1778426647,1.4045449592,1.5732252837,1.6342200293,1.6155794692,1.4806428674,1.2710837565,0.9635351391,0.6117077890,0.2021760465,-0.2041971811,-0.6169734725,-0.9749835021,-1.2910616637,-1.5106627076,-1.6561347429,-1.6846727964,-1.6317735163,-1.4682722740,-1.2428471591,-0.9381374147,-0.6124248705,-0.2550832758,0.0722092486,0.3802570385,0.6111213081,0.7826454800,0.8467379760,0.8332100662,0.7072232719,0.5122021763,0.2263316461,-0.0954394218,-0.4657054298,-0.8232442657,-1.1777630414,-1.4687405898,-1.7101253074,-1.8488828841,-1.9091730609,-1.8501862934,-1.7094690413,-1.4598279372,-1.1517065784,-0.7691913325,-0.3716025466,0.0511176724,0.4372216212,0.7979365344,1.0761982699,1.2911043260,1.3960978119,1.4226868872,1.3377624484,,, +3.0000000000,3.5000000000,0.8418452549,0.6213841448,0.3344930932,0.0403941007,-0.2706783558,-0.5375899861,-0.7717934851,-0.9173241273,-0.9939266180,-0.9564729614,-0.8373340910,-0.6049176858,-0.3050962852,0.0811960796,0.4974089956,0.9545234074,1.3910603384,1.8165721799,2.1717509429,2.4717681200,2.6659911107,2.7807181808,2.7781190914,2.6980774662,2.5161842765,2.2846445583,1.9894119866,1.6903733158,1.3779476766,1.1129600644,0.8831756913,0.7433590662,0.6722315307,0.7131616039,0.8319178434,1.0582631131,1.3446569296,1.7087785665,2.0930728158,2.5079722681,2.8919492568,3.2550160248,3.5388068810,3.7598587959,3.8692395119,3.8951712799,3.8018450973,3.6311303134,3.3604382186,3.0435107743,2.6674573116,2.2928680161,1.9103741113,1.5805167846,1.2903118200,1.0933716676,0.9669542615,0.9527665482,1.0148445152,1.1812797166,1.4030497199,1.6966561923,2.0037644829,2.3344919935,2.6274938456,2.8934620277,3.0751718303,3.1906944861,3.1929298008,3.1121135197,2.9145023926,2.6439507872,2.2796467145,1.8767872939,1.4235243625,0.9810153706,0.5399538216,0.1604433487,-0.1713979860,-0.4032442278,-0.5594145869,-0.5999519184,-0.5626130785,-0.4210102188,-0.2256548249,0.0387904489,0.3132383159,0.6075229816,0.8605103228,1.0835865871,1.2206601386,1.2912982757,1.2501581862,1.1293738697,0.8971103848,0.5990083885,0.2157960411,-0.1961430410,-0.6479075847,-1.0780812484,-1.4962220108,-1.8429728790,-2.1334083867,-2.3167613639,-2.4191712188,-2.4026399286,-2.3068907273,-2.1073777175,-1.8562073878,-1.5392856123,-1.2165112643,-0.8783807773,-0.5858626098,-0.3269281994,-0.1566034933,-0.0539152921,-0.0625675236,-0.1486781165,-0.3423564632,-0.5963892955,-0.9287487822,-1.2821257764,-1.6671429271,-2.0224014185,-2.3579802426,-2.6155218096,-2.8115200909,-2.8969598181,,, +3.5000000000,4.0000000000,-2.2944476382,-2.1911590163,-1.9870687380,-1.7078609873,-1.3588553161,-0.9755167357,-0.5701154339,-0.1817528808,0.1772313663,0.4712377635,0.6947551813,0.8218622848,0.8589005304,0.7931485583,0.6445742881,0.4135587133,0.1317339924,-0.1911064300,-0.5168263350,-0.8324903524,-1.1004017158,-1.3116153409,-1.4356973762,-1.4737318168,-1.4073806501,-1.2510468940,-1.0000058214,-0.6816185112,-0.3025592284,0.1007661978,0.5156240431,0.9029572310,1.2509743026,1.5250887152,1.7211965739,1.8150803992,1.8149643774,1.7100590777,1.5221809844,1.2533500777,0.9365168569,0.5823842746,0.2295300632,-0.1091629134,-0.3965354966,-0.6246220851,-0.7643356801,-0.8183739226,-0.7701596219,-0.6358734941,-0.4124535066,-0.1286841864,0.2076839254,0.5595999539,0.9141706713,1.2326857935,1.5041926769,1.6953872899,1.8038129068,1.8071596189,1.7156973502,1.5206888632,1.2458772617,0.8949604040,0.5022121839,0.0792234960,-0.3350260160,-0.7277542911,-1.0623873429,-1.3319770425,-1.5088040278,-1.5971772927,-1.5822514028,-1.4819276825,-1.2947229679,-1.0507384133,-0.7586769640,-0.4561013466,-0.1559307596,0.1035955695,0.3124692436,0.4387464892,0.4816602977,0.4208100244,0.2684687794,0.0178638392,-0.3054661875,-0.6963159500,-1.1192914630,-1.5621419970,-1.9857295845,-2.3776221407,-2.7020758152,-2.9533916765,-3.1054288336,-3.1642918162,-3.1170209892,-2.9833611944,-2.7635014576,-2.4889272505,-2.1693420473,-1.8428567146,-1.5224496977,-1.2459287145,-1.0224127959,-0.8825638567,-0.8255678180,-0.8700596579,-1.0019440526,-1.2262474404,-1.5158885242,-1.8644368078,-2.2356829659,-2.6170348667,-2.9695185881,-3.2813682156,-3.5179702470,-3.6751503382,-3.7285893461,-3.6863932425,-3.5376538430,-3.3040845640,-2.9876332909,-2.6212226678,-2.2155823314,-1.8093778328,-1.4156434022,-1.0717511523,,, +4.0000000000,4.5000000000,-1.2065145915,-1.0071067779,-0.8949606794,-0.8827421501,-0.9589065094,-1.1225876249,-1.3495878051,-1.6281500241,-1.9257080463,-2.2252429582,-2.4924009291,-2.7119750678,-2.8548974579,-2.9143530034,-2.8721868295,-2.7342576371,-2.4959617856,-2.1766420992,-1.7841720350,-1.3484947526,-0.8854683706,-0.4298484758,0.0012020174,0.3752212068,0.6807783063,0.8941822246,1.0152000605,1.0329848738,0.9608986230,0.8014920773,0.5803936928,0.3104343919,0.0248198698,-0.2592726670,-0.5078248851,-0.7064368187,-0.8272631100,-0.8650415218,-0.8033914129,-0.6500421763,-0.4022251268,-0.0809520552,0.3045198221,0.7232486610,1.1588362751,1.5764877068,1.9595090421,2.2763884703,2.5170660453,2.6595530511,2.7055386214,2.6461907570,2.4968464544,2.2618619962,1.9683844138,1.6303792296,1.2817328470,0.9398113502,0.6383267800,0.3909091098,0.2242340670,0.1420867846,0.1591771381,0.2660388076,0.4637696639,0.7298810076,1.0539469994,1.4042584192,1.7641159861,2.0989224763,2.3926782999,2.6150256673,2.7574493491,2.7997997157,2.7457823993,2.5886298502,2.3456585034,2.0229918537,1.6492192944,1.2393336568,0.8277720861,0.4319462805,0.0851151286,-0.2000024940,-0.3980274939,-0.5067579780,-0.5132353850,-0.4287155729,-0.2537963382,-0.0124430642,0.2837700990,0.6024000172,0.9264845390,1.2216579187,1.4726347230,1.6502081529,1.7473739747,1.7457510956,1.6509502648,1.4581146019,1.1863448036,0.8432985221,0.4587423986,0.0484071354,-0.3530240066,-0.7284036026,-1.0452310121,-1.2919892606,-1.4448640815,-1.5034758242,-1.4568226409,-1.3181197589,-1.0897954949,-0.7973948656,-0.4537166963,-0.0919949735,0.2704992942,0.5995876376,0.8806471673,1.0855545018,1.2087255863,1.2334283240,1.1670270509,1.0063912375,0.7721904846,0.4733744121,0.1406242751,-0.2098662769,,, +4.5000000000,5.0000000000,-0.6117578657,-0.9042001626,-1.1468577928,-1.2991888727,-1.3695926408,-1.3292114160,-1.1995658323,-0.9654426527,-0.6615793600,-0.2846311157,0.1209715021,0.5517307334,0.9597003519,1.3414383893,1.6526213294,1.8967436161,2.0392475966,2.0955415130,2.0442981879,1.9145499863,1.6980370657,1.4353907739,1.1276727741,0.8219081806,0.5221786285,0.2749446683,0.0801781040,-0.0230290737,-0.0448185196,0.0417486875,0.2131857782,0.4828252540,0.8142616290,1.2094974927,1.6231766078,2.0513544693,2.4461464897,2.8046752903,3.0836449402,3.2879687754,3.3848009182,3.3914359740,3.2884777975,3.1068019663,2.8397782095,2.5293434174,2.1774535035,1.8315584788,1.4956707007,1.2156974080,0.9906174408,0.8581656910,0.8065806396,0.8610387196,0.9962785652,1.2239777475,1.5063193408,1.8442452065,2.1917722116,2.5448159912,2.8558586891,3.1228807694,3.3038857967,3.4054482456,3.3966400106,3.2968073956,3.0886080033,2.8048413363,2.4405485242,2.0389803363,1.6029690441,1.1803540463,0.7750346420,0.4323221128,0.1501696265,-0.0350602306,-0.1367407534,-0.1314230122,-0.0460799342,0.1294008194,0.3559034087,0.6334382957,0.9155337895,1.1981039850,1.4341264286,1.6225488878,1.7227558479,1.7430288378,1.6543623395,1.4781147505,1.1989125916,0.8513510059,0.4319750186,-0.0148510352,-0.4856434919,-0.9324138406,-1.3516215326,-1.6987925809,-1.9772274919,-2.1521430649,-2.2387048496,-2.2153419009,-2.1108582923,-1.9167972461,-1.6736386315,-1.3823494237,-1.0899246164,-0.8004839620,-0.5605936715,-0.3703937344,-0.2691978537,-0.2471272550,-0.3314100431,-0.4988585903,-0.7630978021,-1.0879919682,-1.4757768318,-1.8812815582,-2.3006917896,-2.6861944611,-3.0349260787,-3.3035522143,-3.4969044720,-3.5820243877,-3.5760778611,-3.4595399658,-3.2631736409,-2.9802673601,,, diff --git a/plugins/processing/signal-processing/test/scenarios-tests/IFFT-test.xml b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..1d5416d60cefcb81be7dc253c624fd4a0647489c --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/IFFT-test.xml @@ -0,0 +1,425 @@ +<OpenViBE-Scenario> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings> + <Setting> + <Identifier>(0x00425137, 0xf2a30c29)</Identifier> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Test Name</Name> + <DefaultValue>IFFT</DefaultValue> + <Value>IFFT</Value> + </Setting> + </Settings> + <Inputs></Inputs> + <Outputs></Outputs> + <Boxes> + <Box> + <Identifier>(0x00000454, 0x00006270)</Identifier> + <Name>IFFT</Name> + <AlgorithmClassIdentifier>(0xd533e997, 0x4afd2423)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier> + <Name>real part</Name> + </Input> + <Input> + <TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier> + <Name>imaginary part</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Signal output</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>992</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x9e5c01e9, 0xe6051e24)</Value> + </Attribute> + <Attribute> + <Identifier>(0x666fffff, 0x666fffff)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000015a8, 0x000079e9)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>208</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>864</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x568d148e, 0x650792b3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x01165f9f)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000021d4, 0x0000117d)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>992</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00005b5f, 0x000050b0)</Identifier> + <Name>Timeout</Name> + <AlgorithmClassIdentifier>(0x24fcd292, 0x5c8f6aa8)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input Stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output Stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Timeout delay</Name> + <DefaultValue>5</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Output Stimulation</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>160</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>864</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x1eaee00e, 0xdb05d34e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> + <Value>(0x00000000, 0x017178bd)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> + <Value>false</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00007814, 0x00001538)</Identifier> + <Name>CSV File Reader</Name> + <AlgorithmClassIdentifier>(0x336a3d9a, 0x753f1ba4)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stimulation</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-input-real.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>96</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>944</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00007814, 0x00001539)</Identifier> + <Name>CSV File Reader</Name> + <AlgorithmClassIdentifier>(0x336a3d9a, 0x753f1ba4)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stimulation</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-input-imag.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>96</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1056</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + </Boxes> + <Links> + <Link> + <Identifier>(0x00001a66, 0x00001ca2)</Identifier> + <Source> + <BoxIdentifier>(0x00005b5f, 0x000050b0)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000015a8, 0x000079e9)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00005788, 0x0000238c)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000454, 0x00006270)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00005cc1, 0x000041c9)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001539)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00000454, 0x00006270)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000655c, 0x00005a20)</Identifier> + <Source> + <BoxIdentifier>(0x00007814, 0x00001538)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005b5f, 0x000050b0)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000078c4, 0x0000541b)</Identifier> + <Source> + <BoxIdentifier>(0x00000454, 0x00006270)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000021d4, 0x0000117d)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + </Links> + <Comments></Comments> + <Metadata> + <Entry> + <Identifier>(0x000062ac, 0x00003721)</Identifier> + <Type>(0x3bcce5d2, 0x43f2d968)</Type> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000041e, 0x000069b5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004c5d, 0x000021d4)","index":0,"name":"Default tab","parentIdentifier":"(0x0000041e, 0x000069b5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000420e, 0x000074bb)","index":0,"name":"Empty","parentIdentifier":"(0x00004c5d, 0x000021d4)","type":0}]</Data> + </Entry> + </Metadata> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/signal-processing/test/scenarios-tests/xDawn-ref.xml b/plugins/processing/signal-processing/test/scenarios-tests/xDawn-ref.xml new file mode 100644 index 0000000000000000000000000000000000000000..40394563a31da23763f32b7d35300b25569644b9 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/xDawn-ref.xml @@ -0,0 +1,6 @@ +<OpenViBE-SettingsOverride> + <SettingValue>-1.094409e+000 -1.212745e+000 -5.737162e-002 4.234640e-001 9.609772e-002 -1.716753e-001 -2.266858e-001 1.165435e-001 2.252655e-001 2.791997e-001 3.109574e-002 -3.486828e+000 -5.280103e+000 -4.414339e+000 -5.695985e+000 -3.500290e+000 -3.834677e+000 -3.760950e+000 -4.868992e+000 -4.318055e+000 -5.461150e+000 -4.017892e+000 2.345253e+001 2.650432e+001 2.624513e+001 2.694902e+001 2.673245e+001 2.697152e+001 2.681321e+001 2.586150e+001 2.541670e+001 2.683034e+001 2.694381e+001 3.232667e+001 3.440663e+001 3.227739e+001 3.224659e+001 3.172575e+001 3.243387e+001 3.223004e+001 3.216303e+001 3.209145e+001 3.211259e+001 3.078896e+001 </SettingValue> + <SettingValue>4</SettingValue> + <SettingValue>11</SettingValue> + <SettingValue></SettingValue> +</OpenViBE-SettingsOverride> \ No newline at end of file diff --git a/plugins/processing/signal-processing/test/scenarios-tests/xDawn-test.xml b/plugins/processing/signal-processing/test/scenarios-tests/xDawn-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..63a7363e20b4ae45b2045ddf758c8b2e363ed777 --- /dev/null +++ b/plugins/processing/signal-processing/test/scenarios-tests/xDawn-test.xml @@ -0,0 +1,747 @@ +<OpenViBE-Scenario> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings> + <Setting> + <Identifier>(0x00425137, 0xf2a30c29)</Identifier> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Test Name</Name> + <DefaultValue>IFFT</DefaultValue> + <Value>xDawn</Value> + </Setting> + </Settings> + <Inputs></Inputs> + <Outputs></Outputs> + <Boxes> + <Box> + <Identifier>(0x00002514, 0x00001614)</Identifier> + <Name>Generic stream reader</Name> + <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> + <Name>Output stream 1</Name> + </Output> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output stream 2</Name> + </Output> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream 3</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue></DefaultValue> + <Value>${Path_Data}/scenarios/signals/bci-motor-imagery.ov</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000267a, 0x0000427f)</Identifier> + <Name>Time based epoching</Name> + <AlgorithmClassIdentifier>(0x00777fa0, 0x5dc3f560)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Epoched signal 1</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch 1 duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>0.25</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch 1 intervals (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0.25</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc5ff41e9, 0xccc59a01)</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000026c4, 0x00005276)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1120</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000026c4, 0x00005277)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1120</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000026c4, 0x00005278)</Identifier> + <Name>Identity</Name> + <AlgorithmClassIdentifier>(0x5dffe431, 0x35215c50)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output stream</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1344</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xa8ffe2a3, 0x27038f03)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000029e3, 0x00001bb2)</Identifier> + <Name>xDAWN Trainer</Name> + <AlgorithmClassIdentifier>(0x27542f6e, 0x14aa3548)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Input> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Session signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Evoked potential epochs</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Train-completed Flag</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Train stimulation</Name> + <DefaultValue>OVTK_StimulationId_Train</DefaultValue> + <Value>OVTK_StimulationId_Train</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Spatial filter configuration</Name> + <DefaultValue></DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-output.xml</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter dimension</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Save as box config</Name> + <DefaultValue>true</DefaultValue> + <Value>true</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>464</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x4b49a133, 0x42f38d94)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>3</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00004aea, 0x00001465)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_TrainCompleted</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>512</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x568d148e, 0x650792b3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00005d09, 0x00006b71)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>20</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00006be0, 0x000074b5)</Identifier> + <Name>Signal Decimation</Name> + <AlgorithmClassIdentifier>(0x012f4bea, 0x3be37c66)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Decimation factor</Name> + <DefaultValue>8</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>304</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1216</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5082af41, 0xd0fbf4cb)</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000716a, 0x000074b8)</Identifier> + <Name>Stimulation based epoching</Name> + <AlgorithmClassIdentifier>(0x426163d1, 0x324237b0)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Epoched signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch duration (in sec)</Name> + <DefaultValue>1</DefaultValue> + <Value>0.6</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Epoch offset (in sec)</Name> + <DefaultValue>0.5</DefaultValue> + <Value>0</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation 1</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_GDF_Feedback_Continuous</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1344</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x5de31172, 0xa1304456)</Value> + </Attribute> + <Attribute> + <Identifier>(0x61d11811, 0x71e65362)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>3</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + </Boxes> + <Links> + <Link> + <Identifier>(0x00000451, 0x000077cc)</Identifier> + <Source> + <BoxIdentifier>(0x000026c4, 0x00005276)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000026c4, 0x00005277)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000153c, 0x000064f8)</Identifier> + <Source> + <BoxIdentifier>(0x000026c4, 0x00005277)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000029e3, 0x00001bb2)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000015af, 0x00007a6b)</Identifier> + <Source> + <BoxIdentifier>(0x000026c4, 0x00005278)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000716a, 0x000074b8)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00001cd6, 0x0000373c)</Identifier> + <Source> + <BoxIdentifier>(0x00002514, 0x00001614)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005d09, 0x00006b71)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000022fc, 0x000013b0)</Identifier> + <Source> + <BoxIdentifier>(0x00002514, 0x00001614)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000026c4, 0x00005278)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000028f7, 0x000063b8)</Identifier> + <Source> + <BoxIdentifier>(0x0000267a, 0x0000427f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000716a, 0x000074b8)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000028fb, 0x00003e32)</Identifier> + <Source> + <BoxIdentifier>(0x00002514, 0x00001614)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000026c4, 0x00005276)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002a54, 0x00001915)</Identifier> + <Source> + <BoxIdentifier>(0x0000716a, 0x000074b8)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000029e3, 0x00001bb2)</BoxIdentifier> + <BoxInputIndex>2</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000319c, 0x00006583)</Identifier> + <Source> + <BoxIdentifier>(0x00005d09, 0x00006b71)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006be0, 0x000074b5)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003563, 0x00007368)</Identifier> + <Source> + <BoxIdentifier>(0x0000267a, 0x0000427f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000029e3, 0x00001bb2)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00003582, 0x00002c04)</Identifier> + <Source> + <BoxIdentifier>(0x00006be0, 0x000074b5)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000267a, 0x0000427f)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00006b50, 0x00003d10)</Identifier> + <Source> + <BoxIdentifier>(0x000029e3, 0x00001bb2)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00004aea, 0x00001465)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + </Links> + <Comments></Comments> + <Metadata> + <Entry> + <Identifier>(0x000062ac, 0x00003721)</Identifier> + <Type>(0x3bcce5d2, 0x43f2d968)</Type> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000041e, 0x000069b5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004c5d, 0x000021d4)","index":0,"name":"Default tab","parentIdentifier":"(0x0000041e, 0x000069b5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000420e, 0x000074bb)","index":0,"name":"Empty","parentIdentifier":"(0x00004c5d, 0x000021d4)","type":0}]</Data> + </Entry> + </Metadata> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/signal-processing/test/test-regularizedcsp-test.xml b/plugins/processing/signal-processing/test/test-regularizedcsp-test.xml index 6547759219063cffc1bbc7fee8a852a383c5b625..9ae816e55661bdfec5e3873e1f9a23ac5df0af9b 100644 --- a/plugins/processing/signal-processing/test/test-regularizedcsp-test.xml +++ b/plugins/processing/signal-processing/test/test-regularizedcsp-test.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -34,11 +34,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>108</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>340</Value> + <Value>336</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -107,7 +107,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>32</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -266,7 +266,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -343,11 +343,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -432,7 +432,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -508,7 +508,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> + <Value>448</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -573,11 +573,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>80</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>96</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -679,7 +679,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Shrinkage coefficient (-1 == auto)</Name> <DefaultValue>-1.000000</DefaultValue> - <Value>-1.000000</Value> + <Value>-1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -766,11 +766,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>512</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -822,11 +822,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -894,7 +894,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -981,11 +981,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>576</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1052,7 +1052,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -1103,7 +1103,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>528</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1146,7 +1146,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>688</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -1209,11 +1209,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>64</Value> + <Value>240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>720</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/signal-processing/test/test-regularizedcsp-train.xml b/plugins/processing/signal-processing/test/test-regularizedcsp-train.xml index ce2e4599822bc41dc0102a4d53e6bb0827731a74..76c96bc19cf5cfa7518a19db99c7f24fdf928db3 100644 --- a/plugins/processing/signal-processing/test/test-regularizedcsp-train.xml +++ b/plugins/processing/signal-processing/test/test-regularizedcsp-train.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -414,11 +414,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>160</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/simple-visualization/CMakeLists.txt b/plugins/processing/simple-visualization/CMakeLists.txt index 7fbc4dcdcb712326ad74d201238bc234c770fd3e..d906633707598f3c1223e57c28620d22ae019ed9 100755 --- a/plugins/processing/simple-visualization/CMakeLists.txt +++ b/plugins/processing/simple-visualization/CMakeLists.txt @@ -16,6 +16,7 @@ target_link_libraries(${PROJECT_NAME} openvibe-module-ebml openvibe-module-system openvibe-visualization-toolkit + Boost::boost ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -28,7 +29,6 @@ add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) include("FindOpenViBEModuleTCPTagging") include("FindThirdPartyGTK") -include("FindThirdPartyBoost") # need boost for erp plot # ----------------------------- # Install files diff --git a/plugins/processing/simple-visualization/box-tutorials/cue-image.xml b/plugins/processing/simple-visualization/box-tutorials/cue-image.xml index 2ce2081d1572de414d616cc4a90e37d912e34541..2913782253222849d5742320e16c7a897068bb27 100644 --- a/plugins/processing/simple-visualization/box-tutorials/cue-image.xml +++ b/plugins/processing/simple-visualization/box-tutorials/cue-image.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00000f94, 0x0000209a)</Identifier> @@ -73,15 +76,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -91,18 +90,10 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>127</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x032e05cb)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -143,24 +134,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>135</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x029a5eb7)</Value> @@ -201,24 +184,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>413.000000</Value> + <Value>413</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>53</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1024</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1024.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>195</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0013879a)</Value> @@ -227,10 +206,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -331,15 +306,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> + <Value>352</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>912</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -349,10 +324,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>100</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x001333b9)</Value> @@ -361,10 +332,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>9</Value> @@ -397,24 +364,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>144.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>144</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624.000000</Value> + <Value>624</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8d89d3b7, 0x8339d210)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>140</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x01ca3a3d)</Value> @@ -474,24 +433,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>288.000000</Value> + <Value>288</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>944</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>944.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0012dfda)</Value> @@ -500,10 +455,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>5</Value> @@ -526,24 +477,6 @@ <BoxIdentifier>(0x000039c5, 0x00003d32)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>929</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>326</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>897</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00003bc6, 0x00005ab0)</Identifier> @@ -555,24 +488,6 @@ <BoxIdentifier>(0x000039c5, 0x00003d32)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>944</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>326</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>912</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00004468, 0x000059d6)</Identifier> @@ -584,24 +499,6 @@ <BoxIdentifier>(0x00001596, 0x000018ff)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>279</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>342</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>624</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000058d2, 0x00002fa9)</Identifier> @@ -613,24 +510,6 @@ <BoxIdentifier>(0x00000f94, 0x0000209a)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>162</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>235</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>624</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000063f2, 0x00002eeb)</Identifier> @@ -642,24 +521,6 @@ <BoxIdentifier>(0x00001596, 0x00001900)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>311</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>944</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>382</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1024</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -674,11 +535,11 @@ in the image folder for details.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>912.000000</Value> + <Value>912</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>112.000000</Value> + <Value>112</Value> </Attribute> </Attributes> </Comment> @@ -706,11 +567,11 @@ from the box output directly is not recommended. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>272.000000</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>208.000000</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -720,11 +581,11 @@ from the box output directly is not recommended. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>272.000000</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>400.000000</Value> + <Value>400</Value> </Attribute> </Attributes> </Comment> @@ -736,11 +597,11 @@ TCP Tagging module.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>944.000000</Value> + <Value>944</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>224.000000</Value> + <Value>224</Value> </Attribute> </Attributes> </Comment> @@ -749,7 +610,7 @@ TCP Tagging module.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00001c26, 0x00002268)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x0000413b, 0x00007194)","childCount":0,"identifier":"(0x00004185, 0x00006764)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x00000f94, 0x0000209a)","childCount":0,"identifier":"(0x00006aaf, 0x00005171)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x000039c5, 0x00003d32)","childCount":0,"identifier":"(0x00007dc4, 0x00002e75)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000042b4, 0x0000350e)","index":0,"name":"Default tab","parentIdentifier":"(0x00001c26, 0x00002268)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00005ef1, 0x00002e5f)","index":0,"name":"Empty","parentIdentifier":"(0x000042b4, 0x0000350e)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00001c26, 0x00002268)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x0000413b, 0x00007194)","childCount":0,"identifier":"(0x00004185, 0x00006764)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x00000f94, 0x0000209a)","childCount":0,"identifier":"(0x00006aaf, 0x00005171)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0x000039c5, 0x00003d32)","childCount":0,"identifier":"(0x00007dc4, 0x00002e75)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000042b4, 0x0000350e)","index":0,"name":"Default tab","parentIdentifier":"(0x00001c26, 0x00002268)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00005ef1, 0x00002e5f)","index":0,"name":"Empty","parentIdentifier":"(0x000042b4, 0x0000350e)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/simple-visualization/box-tutorials/erp-plot.mxs b/plugins/processing/simple-visualization/box-tutorials/erp-plot.xml similarity index 99% rename from plugins/processing/simple-visualization/box-tutorials/erp-plot.mxs rename to plugins/processing/simple-visualization/box-tutorials/erp-plot.xml index 0ee3407f1f547aec687fa796c4980b6da1c6383d..a486673d2666844396026346c238c5c0259ca161 100644 --- a/plugins/processing/simple-visualization/box-tutorials/erp-plot.mxs +++ b/plugins/processing/simple-visualization/box-tutorials/erp-plot.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -397,7 +397,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -467,7 +467,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa79941ae, 0x80708445)</Value> + <Value>(0x5de31172, 0xa1304456)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -1348,7 +1348,7 @@ <Box> <Identifier>(0x00007d40, 0x0000458c)</Identifier> <Name>Epoch variance</Name> - <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d9)</AlgorithmClassIdentifier> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> @@ -1426,7 +1426,7 @@ <Box> <Identifier>(0x00007d40, 0x0000458d)</Identifier> <Name>Epoch variance</Name> - <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d9)</AlgorithmClassIdentifier> + <AlgorithmClassIdentifier>(0x335384ea, 0x88c917d0)</AlgorithmClassIdentifier> <Inputs> <Input> <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> diff --git a/plugins/processing/simple-visualization/box-tutorials/multimodal-graz-visualization.xml b/plugins/processing/simple-visualization/box-tutorials/multimodal-graz-visualization.xml index 90be2dacf69e004d6135d6207599da81ef563c5e..376c8b8a6a30b1d99805842e637219f4a607494e 100644 --- a/plugins/processing/simple-visualization/box-tutorials/multimodal-graz-visualization.xml +++ b/plugins/processing/simple-visualization/box-tutorials/multimodal-graz-visualization.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>3.0.0-beta</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -292,28 +292,28 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Display Cue Duration (in sec)</Name> <DefaultValue>1.250</DefaultValue> - <Value>1.250</Value> + <Value>1.25</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Feedback Duration (in sec)</Name> <DefaultValue>3.750</DefaultValue> - <Value>3.750</Value> + <Value>3.75</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Minimum Duration (in sec)</Name> <DefaultValue>1.500</DefaultValue> - <Value>1.500</Value> + <Value>1.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>End of Trial Maximum Duration (in sec)</Name> <DefaultValue>3.500</DefaultValue> - <Value>3.500</Value> + <Value>3.5</Value> <Modifiability>false</Modifiability> </Setting> <Setting> diff --git a/plugins/processing/simple-visualization/box-tutorials/power-spectrum.xml b/plugins/processing/simple-visualization/box-tutorials/power-spectrum.xml index d41c447c7cfcb6e785b60ef8d72b242a09a1f375..9adadf715036a31edf09b7dc5234f8cd243f470f 100644 --- a/plugins/processing/simple-visualization/box-tutorials/power-spectrum.xml +++ b/plugins/processing/simple-visualization/box-tutorials/power-spectrum.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -81,14 +81,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -192,6 +192,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>128</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>16</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>336</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00006157, 0x00000331)</Identifier> <Name>Reference Channel</Name> @@ -337,11 +414,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>96.000000</Value> + <Value>96</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>160.000000</Value> + <Value>160</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -365,81 +442,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x00006e55, 0x000045b4)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>128.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>16</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>336</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x79b6f114, 0x5bfc044f)</Identifier> <Name>Power spectrum display</Name> @@ -524,24 +526,24 @@ </Boxes> <Links> <Link> - <Identifier>(0x00000916, 0x000011ea)</Identifier> + <Identifier>(0x00001266, 0x00007734)</Identifier> <Source> - <BoxIdentifier>(0x00006157, 0x00000331)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006e55, 0x000045b4)</BoxIdentifier> + <BoxIdentifier>(0x000016b3, 0x00001395)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> <Link> - <Identifier>(0x000021b1, 0x00004dc0)</Identifier> + <Identifier>(0x0000386b, 0x00007901)</Identifier> <Source> - <BoxIdentifier>(0x00006e55, 0x000045b4)</BoxIdentifier> + <BoxIdentifier>(0x00006157, 0x00000331)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006394, 0x00005e7d)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -568,13 +570,13 @@ </Target> </Link> <Link> - <Identifier>(0x00007484, 0x00001d51)</Identifier> + <Identifier>(0x00007127, 0x000065c6)</Identifier> <Source> - <BoxIdentifier>(0x00006e55, 0x000045b4)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000016b3, 0x00001395)</BoxIdentifier> + <BoxIdentifier>(0x00006394, 0x00005e7d)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -754,4 +756,4 @@ splits the signals in blocks of 1 seconds every <Value>Inria</Value> </Attribute> </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/simple-visualization/box-tutorials/signal-display.xml b/plugins/processing/simple-visualization/box-tutorials/signal-display.xml index a114a71cb2292bf4952e456a7881f02c639b3c1a..3cddfa87c7e20cf252cc6e10399f4159e903f024 100644 --- a/plugins/processing/simple-visualization/box-tutorials/signal-display.xml +++ b/plugins/processing/simple-visualization/box-tutorials/signal-display.xml @@ -1,8 +1,88 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>40</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>272</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>752</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x00005174, 0x00007bed)</Identifier> <Name>Filtered signal (fixed scale)</Name> @@ -89,15 +169,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>352.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864.000000</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,10 +183,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>187</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0017ebaf)</Value> @@ -215,15 +287,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240.000000</Value> + <Value>928</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -233,10 +301,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>157</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0029ae51)</Value> @@ -291,13 +355,9 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>176</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>912</Value> + <Value>816</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -307,327 +367,68 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0022574e)</Value> </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x224f7f2d, 0x2178fca3)</Identifier> - <Name>Generic stream reader</Name> - <AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x403488e7, 0x565d70b6)</TypeIdentifier> - <Name>Output stream 1</Name> - </Output> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Output stream 2</Name> - </Output> - <Output> - <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> - <Name>Output stream 3</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> - <Name>Filename</Name> - <DefaultValue></DefaultValue> - <Value>${Path_Data}/scenarios/signals/bci-motor-imagery.ov</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>190.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xf37b8e7a, 0x1bc33e4e)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>153</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00577d72)</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x549b2de2, 0x5ce25cec)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>40</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>105</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x004f4c72)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> - </Attribute> - <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> - </Attribute> - </Attributes> - </Box> </Boxes> <Links> <Link> - <Identifier>(0x00000b25, 0x0000448a)</Identifier> + <Identifier>(0x00001084, 0x000075d8)</Identifier> <Source> - <BoxIdentifier>(0x224f7f2d, 0x2178fca3)</BoxIdentifier> + <BoxIdentifier>(0x112053af, 0x3da33f80)</BoxIdentifier> <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00006c69, 0x00002365)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>213</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>278</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>225</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000036bb, 0x00003055)</Identifier> + <Identifier>(0x000021ad, 0x000069f9)</Identifier> <Source> - <BoxIdentifier>(0x224f7f2d, 0x2178fca3)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x112053af, 0x3da33f80)</BoxIdentifier> + <BoxOutputIndex>1</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00006c69, 0x00002365)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>213</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>271</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>278</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>240</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x000039fb, 0x000015fb)</Identifier> + <Identifier>(0x0000548c, 0x00002d14)</Identifier> <Source> - <BoxIdentifier>(0x549b2de2, 0x5ce25cec)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> + <BoxIdentifier>(0x112053af, 0x3da33f80)</BoxIdentifier> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00005174, 0x00007bed)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>290</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>864</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>326</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>849</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000548c, 0x00002d14)</Identifier> + <Identifier>(0x000064ce, 0x00001c38)</Identifier> <Source> - <BoxIdentifier>(0x112053af, 0x3da33f80)</BoxIdentifier> - <BoxOutputIndex>2</BoxOutputIndex> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> <BoxIdentifier>(0x00005174, 0x00007bed)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> + <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>199</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>927</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>326</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>864</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x68fe1497, 0x07e43c19)</Identifier> + <Identifier>(0x00006b77, 0x00007341)</Identifier> <Source> <BoxIdentifier>(0x112053af, 0x3da33f80)</BoxIdentifier> - <BoxOutputIndex>1</BoxOutputIndex> + <BoxOutputIndex>2</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x549b2de2, 0x5ce25cec)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> + <BoxIdentifier>(0x00006c69, 0x00002365)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>199</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>912</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>256</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>864</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -639,7 +440,7 @@ Here we use a Butterworth band-pass.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1120</Value> + <Value>544</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> @@ -657,11 +458,11 @@ stream of the OpenViBE platform into a file.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>512</Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>192</Value> + <Value>224</Value> </Attribute> </Attributes> </Comment> @@ -672,11 +473,11 @@ the content in a fixed, specified scale.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>1136.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>352.000000</Value> + <Value>352</Value> </Attribute> </Attributes> </Comment> @@ -691,11 +492,11 @@ The red blip in the plot means the scale was changed.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>512.000000</Value> + <Value>1184</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>304.000000</Value> + <Value>352</Value> </Attribute> </Attributes> </Comment> @@ -713,11 +514,11 @@ suitable for your data to get minimal amount of run-time autoscale changes. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>770.000000</Value> + <Value>784</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>48.000000</Value> + <Value>496</Value> </Attribute> </Attributes> </Comment> @@ -727,11 +528,11 @@ suitable for your data to get minimal amount of run-time autoscale changes. <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>464.000000</Value> + <Value>832</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>400.000000</Value> + <Value>128</Value> </Attribute> </Attributes> </Comment> @@ -740,7 +541,7 @@ suitable for your data to get minimal amount of run-time autoscale changes. <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":583,"identifier":"(0x7c1b6671, 0x13abdd97)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":578},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x7631555b, 0x63aa0d68)","index":0,"name":"Default tab","parentIdentifier":"(0x7c1b6671, 0x13abdd97)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":263,"identifier":"(0x00002f97, 0x00001a6e)","index":0,"maxDividerPosition":533,"name":"Vertical split","parentIdentifier":"(0x7631555b, 0x63aa0d68)","type":4},{"boxIdentifier":"(0x00006c69, 0x00002365)","childCount":0,"identifier":"(0x00004e10, 0x00003d21)","index":0,"parentIdentifier":"(0x00002f97, 0x00001a6e)","type":3},{"boxIdentifier":"(0x00005174, 0x00007bed)","childCount":0,"identifier":"(0x00007cba, 0x00001aa6)","index":1,"parentIdentifier":"(0x00002f97, 0x00001a6e)","type":3}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":583,"identifier":"(0x7c1b6671, 0x13abdd97)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":578},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x7631555b, 0x63aa0d68)","index":0,"name":"Default tab","parentIdentifier":"(0x7c1b6671, 0x13abdd97)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":2,"dividerPosition":263,"identifier":"(0x00002f97, 0x00001a6e)","index":0,"maxDividerPosition":533,"name":"Vertical split","parentIdentifier":"(0x7631555b, 0x63aa0d68)","type":4},{"boxIdentifier":"(0x00006c69, 0x00002365)","childCount":0,"identifier":"(0x00004e10, 0x00003d21)","index":0,"parentIdentifier":"(0x00002f97, 0x00001a6e)","type":3},{"boxIdentifier":"(0x00005174, 0x00007bed)","childCount":0,"identifier":"(0x00007cba, 0x00001aa6)","index":1,"parentIdentifier":"(0x00002f97, 0x00001a6e)","type":3}]</Data> </Entry> </Metadata> <Attributes> diff --git a/plugins/processing/simple-visualization/box-tutorials/time-frequency-map.xml b/plugins/processing/simple-visualization/box-tutorials/time-frequency-map.xml index e57891c399550702153fa690d214ff340df0d747..5c00e3090f697256fdc24d7b36fbf95fc00f4ba9 100644 --- a/plugins/processing/simple-visualization/box-tutorials/time-frequency-map.xml +++ b/plugins/processing/simple-visualization/box-tutorials/time-frequency-map.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -204,6 +204,83 @@ </Attribute> </Attributes> </Box> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>128</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>-48</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x000050f8, 0x00006368)</Identifier> <Name>Stacked Bitmap (Horizontal)</Name> @@ -296,85 +373,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x000054d1, 0x00002a5a)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>1.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>128.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-48</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x005c7eaa)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x00005d4a, 0x00005a2d)</Identifier> <Name>Surface Laplacian</Name> @@ -579,11 +577,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>-240.000000</Value> + <Value>-240</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304.000000</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -640,14 +638,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.006250</Value> + <Value>0.00625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -676,6 +674,17 @@ </Box> </Boxes> <Links> + <Link> + <Identifier>(0x000007db, 0x00004e17)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00007e73, 0x00000676)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x00000b4d, 0x00000d30)</Identifier> <Source> @@ -720,17 +729,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x0000631d, 0x00004f18)</Identifier> - <Source> - <BoxIdentifier>(0x00005d4a, 0x00005a2d)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x000054d1, 0x00002a5a)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x000068a1, 0x00003e8e)</Identifier> <Source> @@ -743,13 +741,13 @@ </Target> </Link> <Link> - <Identifier>(0x0000782d, 0x0000214e)</Identifier> + <Identifier>(0x00007095, 0x000052a1)</Identifier> <Source> - <BoxIdentifier>(0x000054d1, 0x00002a5a)</BoxIdentifier> + <BoxIdentifier>(0x00005d4a, 0x00005a2d)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00007e73, 0x00000676)</BoxIdentifier> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> </Link> @@ -942,4 +940,4 @@ boxes display the resulting spectrum.</Text> <Value>Inria</Value> </Attribute> </Attributes> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/simple-visualization/box-tutorials/topographic-map.xml b/plugins/processing/simple-visualization/box-tutorials/topographic-map.xml index 7f32822cc7209b204d61c33b65405aabedeef27c..aa152be1867cccd0e7414f13a17878f56992fff6 100644 --- a/plugins/processing/simple-visualization/box-tutorials/topographic-map.xml +++ b/plugins/processing/simple-visualization/box-tutorials/topographic-map.xml @@ -1,11 +1,88 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>OpenVIBE</Creator> - <CreatorVersion>0.2.99</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> <Boxes> + <Box> + <Identifier>(0x000046bc, 0x00003f08)</Identifier> + <Name>Temporal Filter</Name> + <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> + <Name>Filter Type</Name> + <DefaultValue>Band Pass</DefaultValue> + <Value>Band Pass</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Filter Order</Name> + <DefaultValue>4</DefaultValue> + <Value>4</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Low Cut-off Frequency (Hz)</Name> + <DefaultValue>1</DefaultValue> + <Value>16</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>High Cut-off Frequency (Hz)</Name> + <DefaultValue>40</DefaultValue> + <Value>24</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x17ee7c08, 0x94c14893)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>112</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>416</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x6a7c1e9b, 0x6b00b5c5)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> <Box> <Identifier>(0x0fbb365f, 0x0a3f89b8)</Identifier> <Name>Epoch average</Name> @@ -86,14 +163,14 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 duration (in sec)</Name> <DefaultValue>1</DefaultValue> - <Value>1.000000</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Epoch 1 intervals (in sec)</Name> <DefaultValue>0.5</DefaultValue> - <Value>0.062500</Value> + <Value>0.0625</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -177,18 +254,18 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Delay (in s)</Name> <DefaultValue>0</DefaultValue> - <Value>0.000000</Value> + <Value>0</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>544</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -222,11 +299,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>464</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>240</Value> + <Value>256</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -349,7 +426,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>432</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -428,85 +505,6 @@ </Attribute> </Attributes> </Box> - <Box> - <Identifier>(0x6faaa401, 0x3c7307af)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> - <Inputs> - <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> - </Input> - </Inputs> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Low pass</DefaultValue> - <Value>Band pass</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>16.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>24.000000</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.500000</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00ba7336)</Value> - </Attribute> - </Attributes> - </Box> <Box> <Identifier>(0x789ad7f5, 0x4791b012)</Identifier> <Name>Generic stream reader</Name> @@ -563,6 +561,28 @@ </Box> </Boxes> <Links> + <Link> + <Identifier>(0x0000218a, 0x00002323)</Identifier> + <Source> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x1f949de2, 0x2337d854)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x000062dc, 0x0000622c)</Identifier> + <Source> + <BoxIdentifier>(0x6cb7e55b, 0x0e13304e)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000046bc, 0x00003f08)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> <Link> <Identifier>(0x06238c03, 0x2a587fa2)</Identifier> <Source> @@ -618,17 +638,6 @@ <BoxInputIndex>0</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x2428cc78, 0x69daa97c)</Identifier> - <Source> - <BoxIdentifier>(0x6cb7e55b, 0x0e13304e)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x6faaa401, 0x3c7307af)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> <Link> <Identifier>(0x5b997461, 0x0c57fefb)</Identifier> <Source> @@ -651,17 +660,6 @@ <BoxInputIndex>1</BoxInputIndex> </Target> </Link> - <Link> - <Identifier>(0x7dc31517, 0x57a0704e)</Identifier> - <Source> - <BoxIdentifier>(0x6faaa401, 0x3c7307af)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x1f949de2, 0x2337d854)</BoxIdentifier> - <BoxInputIndex>0</BoxInputIndex> - </Target> - </Link> </Links> <Comments> <Comment> @@ -803,4 +801,4 @@ in the demonstrated file) thanks to the <Data>[{"boxIdentifier":"(0x63d6b541, 0x6b05c2ad)","childCount":0,"identifier":"(0x772c7cdf, 0x33c98441)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":645,"identifier":"(0x7f3626b8, 0x4d26e675)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":844},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x77e1919d, 0x34fdfde0)","index":0,"name":"Default tab","parentIdentifier":"(0x7f3626b8, 0x4d26e675)","type":2},{"boxIdentifier":"(0x3ec7a705, 0x4cd766d5)","childCount":0,"identifier":"(0x13283f74, 0x6dbed40e)","index":0,"parentIdentifier":"(0x77e1919d, 0x34fdfde0)","type":3}]</Data> </Entry> </Metadata> -</OpenViBE-Scenario> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmErpPlot.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmErpPlot.cpp index 5eb861cfcb767e4baf5cc7c2d2a84def7889c8c9..f68ff071b92e443965b5af47895fbfab4641b27f 100644 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmErpPlot.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmErpPlot.cpp @@ -514,10 +514,10 @@ bool CBoxAlgorithmErpPlot::process() m_stimulationDecoder->decode(i); if (m_stimulationDecoder->isBufferReceived()) { - IStimulationSet* stimSet = m_stimulationDecoder->getOutputStimulationSet(); - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) + CStimulationSet* stimSet = m_stimulationDecoder->getOutputStimulationSet(); + for (size_t j = 0; j < stimSet->size(); ++j) { - if (stimSet->getStimulationIdentifier(j) == m_triggerToSave) + if (stimSet->getId(j) == m_triggerToSave) { this->getLogManager() << Kernel::LogLevel_Trace << "Saving\n"; save(); diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.cpp index 196138feafe94641004fe4a5f8bd525230343b7e..4c9a87217a5f3d0b6323348ab4b32e4627757cbd 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.cpp @@ -256,16 +256,16 @@ bool CBoxAlgorithmP300IdentifierCardVisualization::process() if (m_sequenceStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = m_sequenceStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_sequenceStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - const uint64_t id = stimulationSet->getStimulationIdentifier(j); + const uint64_t id = stimulationSet->getId(j); if (id >= m_cardStimulationBase && id < m_cardStimulationBase + m_nCard) { const int card = int(id - m_cardStimulationBase); - if (card == m_targetCard) { flaggingStimulationSet.appendStimulation(OVTK_StimulationId_Target, stimulationSet->getStimulationDate(j), 0); } - else { flaggingStimulationSet.appendStimulation(OVTK_StimulationId_NonTarget, stimulationSet->getStimulationDate(j), 0); } + if (card == m_targetCard) { flaggingStimulationSet.push_back(OVTK_StimulationId_Target, stimulationSet->getDate(j), 0); } + else { flaggingStimulationSet.push_back(OVTK_StimulationId_NonTarget, stimulationSet->getDate(j), 0); } this->cacheChangeImageCB(m_caches[1], m_fgImageWorks[card]); } else if (id == OVTK_StimulationId_ExperimentStart) @@ -333,10 +333,10 @@ bool CBoxAlgorithmP300IdentifierCardVisualization::process() if (m_targetStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = m_targetStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_targetStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); if (id >= m_cardStimulationBase && id < m_cardStimulationBase + m_nCard) { this->getLogManager() << Kernel::LogLevel_Debug << "Received Target Card " << id << "\n"; @@ -359,7 +359,7 @@ bool CBoxAlgorithmP300IdentifierCardVisualization::process() Kernel::TParameterHandler<const IMemoryBuffer*> selectionMemoryBuffer( m_cardSelectionStimulationDecoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - const Kernel::TParameterHandler<IStimulationSet*> selectionStimulationSet( + const Kernel::TParameterHandler<CStimulationSet*> selectionStimulationSet( m_cardSelectionStimulationDecoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); for (size_t i = 0; i < boxContext.getInputChunkCount(2); ++i) @@ -373,10 +373,10 @@ bool CBoxAlgorithmP300IdentifierCardVisualization::process() if (m_cardSelectionStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = selectionStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = selectionStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); if (id >= m_cardStimulationBase && id < m_cardStimulationBase + m_nCard) { this->getLogManager() << Kernel::LogLevel_Debug << "Received Selected Card " << id << "\n"; diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.h b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.h index a1b15b260c16709e4350798b13f3353d54797b7d..28cba6b38906cbef5b91eaf2d342ecd81667b67a 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.h +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierCardVisualization.h @@ -58,9 +58,9 @@ private: Kernel::IAlgorithmProxy* m_cardSelectionStimulationDecoder = nullptr; Kernel::TParameterHandler<const IMemoryBuffer*> m_sequenceMemoryBuffer; Kernel::TParameterHandler<const IMemoryBuffer*> m_targetMemoryBuffer; - Kernel::TParameterHandler<const IStimulationSet*> m_targetFlaggingStimulationSet; - Kernel::TParameterHandler<IStimulationSet*> m_sequenceStimulationSet; - Kernel::TParameterHandler<IStimulationSet*> m_targetStimulationSet; + Kernel::TParameterHandler<const CStimulationSet*> m_targetFlaggingStimulationSet; + Kernel::TParameterHandler<CStimulationSet*> m_sequenceStimulationSet; + Kernel::TParameterHandler<CStimulationSet*> m_targetStimulationSet; Kernel::TParameterHandler<IMemoryBuffer*> m_targetFlaggingMemoryBuffer; uint64_t m_lastTime = 0; diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.cpp index 486f2dc325edba0b795d6af56e1b04424a37df46..044b618bd6b2c8a0252c44f0bbd4a1a09e6e022c 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.cpp @@ -244,22 +244,22 @@ bool CBoxAlgorithmP300MagicCardVisualization::process() if (m_sequenceStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = m_sequenceStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_sequenceStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); if (id >= m_cardStimulationBase && id < m_cardStimulationBase + m_nCard) { const int card = int(id - m_cardStimulationBase); if (card == m_targetCard) { m_stimuliQueue.push_back(OVTK_StimulationId_Target); - flaggingStimulationSet.appendStimulation(OVTK_StimulationId_Target, stimulationSet->getStimulationDate(j), 0); + flaggingStimulationSet.push_back(OVTK_StimulationId_Target, stimulationSet->getDate(j), 0); } else { m_stimuliQueue.push_back(OVTK_StimulationId_NonTarget); - flaggingStimulationSet.appendStimulation(OVTK_StimulationId_NonTarget, stimulationSet->getStimulationDate(j), 0); + flaggingStimulationSet.push_back(OVTK_StimulationId_NonTarget, stimulationSet->getDate(j), 0); } this->cacheForEachIf(card, &CBoxAlgorithmP300MagicCardVisualization::cacheChangeImageCB, @@ -306,10 +306,10 @@ bool CBoxAlgorithmP300MagicCardVisualization::process() if (m_targetStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = m_targetStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_targetStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); if (id >= m_cardStimulationBase && id < m_cardStimulationBase + m_nCard) { this->getLogManager() << Kernel::LogLevel_Debug << "Received Target Card " << id << "\n"; @@ -340,7 +340,7 @@ bool CBoxAlgorithmP300MagicCardVisualization::process() Kernel::TParameterHandler<const IMemoryBuffer*> selectionMemoryBuffer( m_cardSelectionStimulationDecoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - const Kernel::TParameterHandler<IStimulationSet*> selectionStimulationSet( + const Kernel::TParameterHandler<CStimulationSet*> selectionStimulationSet( m_cardSelectionStimulationDecoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); for (size_t i = 0; i < boxContext.getInputChunkCount(2); ++i) @@ -354,10 +354,10 @@ bool CBoxAlgorithmP300MagicCardVisualization::process() if (m_cardSelectionStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = selectionStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = selectionStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); if (id >= m_cardStimulationBase && id < m_cardStimulationBase + m_nCard) { this->getLogManager() << Kernel::LogLevel_Debug << "Received Selected Card " << id << "\n"; diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.h b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.h index 0354dd7dd1c3cedc11fc575b2a19c2dc1482d888..952c06ea1358fa202ba8784b8e22db77082009bf 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.h +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300MagicCardVisualization.h @@ -63,9 +63,9 @@ private: Kernel::IAlgorithmProxy* m_cardSelectionStimulationDecoder = nullptr; Kernel::TParameterHandler<const IMemoryBuffer*> m_sequenceMemoryBuffer; Kernel::TParameterHandler<const IMemoryBuffer*> m_targetMemoryBuffer; - Kernel::TParameterHandler<const IStimulationSet*> m_targetFlaggingStimulationSet; - Kernel::TParameterHandler<IStimulationSet*> m_sequenceStimulationSet; - Kernel::TParameterHandler<IStimulationSet*> m_targetStimulationSet; + Kernel::TParameterHandler<const CStimulationSet*> m_targetFlaggingStimulationSet; + Kernel::TParameterHandler<CStimulationSet*> m_sequenceStimulationSet; + Kernel::TParameterHandler<CStimulationSet*> m_targetStimulationSet; Kernel::TParameterHandler<IMemoryBuffer*> m_targetFlaggingMemoryBuffer; uint64_t m_lastTime = 0; diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.cpp index cf056d72e1c62a618993422c5337197420a88d1c..eb6f3305c59b826e049add37ff9efae4e5d7566a 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.cpp @@ -332,10 +332,10 @@ bool CBoxAlgorithmP300SpellerVisualization::process() if (m_sequenceStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = m_sequenceStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_sequenceStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); bool flash = false; int row = -1; int col = -1; @@ -379,12 +379,12 @@ bool CBoxAlgorithmP300SpellerVisualization::process() if (isTarget) { m_stimuliQueue.push_back(OVTK_StimulationId_Target); - flaggingStimulationSet.appendStimulation(OVTK_StimulationId_Target, stimulationSet->getStimulationDate(j), 0); + flaggingStimulationSet.push_back(OVTK_StimulationId_Target, stimulationSet->getDate(j), 0); } else { m_stimuliQueue.push_back(OVTK_StimulationId_NonTarget); - flaggingStimulationSet.appendStimulation(OVTK_StimulationId_NonTarget, stimulationSet->getStimulationDate(j), 0); + flaggingStimulationSet.push_back(OVTK_StimulationId_NonTarget, stimulationSet->getDate(j), 0); } } @@ -417,10 +417,10 @@ bool CBoxAlgorithmP300SpellerVisualization::process() if (m_targetStimulationDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = m_targetStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = m_targetStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); bool target = false; if (id >= m_rowStimulationBase && id < m_rowStimulationBase + m_nRow) { @@ -499,7 +499,7 @@ bool CBoxAlgorithmP300SpellerVisualization::process() Kernel::IAlgorithmProxy* decoder = (k == 2 ? m_rowSelectionStimulationDecoder : m_columnSelectionStimulationDecoder); Kernel::TParameterHandler<const IMemoryBuffer*> selectionMemoryBuffer( decoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - Kernel::TParameterHandler<IStimulationSet*> selectionStimulationSet( + Kernel::TParameterHandler<CStimulationSet*> selectionStimulationSet( decoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); for (size_t i = 0; i < boxContext.getInputChunkCount(k); ++i) @@ -513,10 +513,10 @@ bool CBoxAlgorithmP300SpellerVisualization::process() if (decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimulationSet = selectionStimulationSet; - for (size_t j = 0; j < stimulationSet->getStimulationCount(); ++j) + CStimulationSet* stimulationSet = selectionStimulationSet; + for (size_t j = 0; j < stimulationSet->size(); ++j) { - uint64_t id = stimulationSet->getStimulationIdentifier(j); + uint64_t id = stimulationSet->getId(j); bool selected = false; if (id >= m_rowStimulationBase && id < m_rowStimulationBase + m_nRow) { diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.h b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.h index 3187bd2b48f7752a79972025bf34d4036d1e180e..62137fc6b3e8c98a7c1506bb4da0ae72a8a49f05 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.h +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCBoxAlgorithmP300SpellerVisualization.h @@ -88,9 +88,9 @@ private: Kernel::IAlgorithmProxy* m_columnSelectionStimulationDecoder = nullptr; Kernel::TParameterHandler<const IMemoryBuffer*> m_sequenceMemoryBuffer; Kernel::TParameterHandler<const IMemoryBuffer*> m_targetMemoryBuffer; - Kernel::TParameterHandler<const IStimulationSet*> m_targetFlaggingStimulationSet; - Kernel::TParameterHandler<IStimulationSet*> m_sequenceStimulationSet; - Kernel::TParameterHandler<IStimulationSet*> m_targetStimulationSet; + Kernel::TParameterHandler<const CStimulationSet*> m_targetFlaggingStimulationSet; + Kernel::TParameterHandler<CStimulationSet*> m_sequenceStimulationSet; + Kernel::TParameterHandler<CStimulationSet*> m_targetStimulationSet; Kernel::TParameterHandler<IMemoryBuffer*> m_targetFlaggingMemoryBuffer; uint64_t m_lastTime = 0; diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCDisplayCueImage.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCDisplayCueImage.cpp index f402b5f5c5177a0c9d754bd4ce0b6480c821563f..5a99a300e9490e7198e2148a88d90687e032179f 100644 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCDisplayCueImage.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCDisplayCueImage.cpp @@ -223,12 +223,12 @@ bool CDisplayCueImage::processClock(Kernel::CMessageClock& /*msg*/) if (m_drawnImageId >= 0) { // it was a image - m_stimulationEncoder.getInputStimulationSet()->appendStimulation(m_stimulationsIds[m_drawnImageId], this->getPlayerContext().getCurrentTime(), 0); + m_stimulationEncoder.getInputStimulationSet()->push_back(m_stimulationsIds[m_drawnImageId], this->getPlayerContext().getCurrentTime(), 0); } else { // it was a clear_screen - m_stimulationEncoder.getInputStimulationSet()->appendStimulation(m_clearScreenStimulation, this->getPlayerContext().getCurrentTime(), 0); + m_stimulationEncoder.getInputStimulationSet()->push_back(m_clearScreenStimulation, this->getPlayerContext().getCurrentTime(), 0); } m_imageDrawn = false; @@ -248,13 +248,13 @@ bool CDisplayCueImage::processClock(Kernel::CMessageClock& /*msg*/) bool stimulusMatchedBefore = false; // We check if some images must be displayed - for (size_t stim = 0; stim < m_pendingStimulationSet.getStimulationCount();) + for (size_t stim = 0; stim < m_pendingStimulationSet.size();) { - const uint64_t date = m_pendingStimulationSet.getStimulationDate(stim); + const uint64_t date = m_pendingStimulationSet.getDate(stim); const uint64_t time = this->getPlayerContext().getCurrentTime(); if (date < time) { - const uint64_t id = m_pendingStimulationSet.getStimulationIdentifier(stim); + const uint64_t id = m_pendingStimulationSet.getId(stim); bool stimulusMatchedNow = false; if (id == m_clearScreenStimulation) { @@ -319,7 +319,7 @@ bool CDisplayCueImage::processClock(Kernel::CMessageClock& /*msg*/) " was late in processClock() : " << delay << " ms \n"; } - m_pendingStimulationSet.removeStimulation(stim); + m_pendingStimulationSet.erase(stim); } else { @@ -367,12 +367,12 @@ bool CDisplayCueImage::process() } if (m_stimulationDecoder.isBufferReceived()) { - for (size_t stim = 0; stim < m_stimulationDecoder.getOutputStimulationSet()->getStimulationCount(); ++stim) + for (size_t stim = 0; stim < m_stimulationDecoder.getOutputStimulationSet()->size(); ++stim) { // We always add the stimulations to the set to allow passing them to TCP Tagging in order in processClock() - const uint64_t id = m_stimulationDecoder.getOutputStimulationSet()->getStimulationIdentifier(stim); - const uint64_t date = m_stimulationDecoder.getOutputStimulationSet()->getStimulationDate(stim); - const uint64_t duration = m_stimulationDecoder.getOutputStimulationSet()->getStimulationDuration(stim); + const uint64_t id = m_stimulationDecoder.getOutputStimulationSet()->getId(stim); + const uint64_t date = m_stimulationDecoder.getOutputStimulationSet()->getDate(stim); + const uint64_t duration = m_stimulationDecoder.getOutputStimulationSet()->getDuration(stim); const uint64_t time = this->getPlayerContext().getCurrentTime(); if (date < time) @@ -390,7 +390,7 @@ bool CDisplayCueImage::process() this->getLogManager() << Kernel::LogLevel_ImportantWarning << "Input Stimulation Date before beginning of the buffer\n"; } - m_pendingStimulationSet.appendStimulation(id, date, duration); + m_pendingStimulationSet.push_back(id, date, duration); } } } diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.cpp index 9249de78d152378d26171b14eb4020adb020a451..47221e0bd7fda03bc8be373d5a2d8eefc4171f0d 100644 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.cpp @@ -235,7 +235,7 @@ bool CGrazMultiVisualization::process() m_stimDecoder.decode(i); if (m_stimDecoder.isBufferReceived()) { - for (size_t s = 0; s < m_iStim->getStimulationCount(); ++s) { setStimulation(m_iStim->getStimulationIdentifier(s)); } + for (size_t s = 0; s < m_iStim->size(); ++s) { setStimulation(m_iStim->getId(s)); } } } diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.h b/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.h index f5a5f2aff217f5e9738bd5174aa6ce2bf84b5169..ec007602682a669d58df309582c89c34e06cb6a3 100644 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.h +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazMultiVisualization.h @@ -123,7 +123,7 @@ protected: Toolkit::TStreamedMatrixDecoder<CGrazMultiVisualization> m_classifDecoder; Toolkit::TStreamedMatrixEncoder<CGrazMultiVisualization> m_barSizeEncoder; Toolkit::TStreamedMatrixEncoder<CGrazMultiVisualization> m_confusionEncoder; - IStimulationSet* m_iStim = nullptr; // Input StimulationSet Pointer + CStimulationSet* m_iStim = nullptr; // Input StimulationSet Pointer CMatrix* m_iMatrix = nullptr; // Input Matrix pointer CMatrix* m_oBarSize = nullptr; // Outpout bar size matrix pointer (in percent) CMatrix* m_oConfusion = nullptr; // Outpout confusion Matrix pointer diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazVisualization.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazVisualization.cpp index d192c1a31c9b0fda72a9eca79ff21fd0ea81fb98..87aeaa5eea65202c603218a60c24307d28a6e286 100644 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazVisualization.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCGrazVisualization.cpp @@ -343,10 +343,10 @@ bool CGrazVisualization::process() m_StimulationDecoder.decode(chunk); if (m_StimulationDecoder.isBufferReceived()) { - const IStimulationSet* stimSet = m_StimulationDecoder.getOutputStimulationSet(); - for (size_t s = 0; s < stimSet->getStimulationCount(); ++s) + const CStimulationSet* stimSet = m_StimulationDecoder.getOutputStimulationSet(); + for (size_t s = 0; s < stimSet->size(); ++s) { - setStimulation(s, stimSet->getStimulationIdentifier(s), stimSet->getStimulationDate(s)); + setStimulation(s, stimSet->getId(s), stimSet->getDate(s)); } } } diff --git a/plugins/processing/simple-visualization/src/box-algorithms/ovpCSignalDisplay.cpp b/plugins/processing/simple-visualization/src/box-algorithms/ovpCSignalDisplay.cpp index 93bf64ed8a3c40e1cfd9afbab3281e75e6530997..3dc64add8452bd8503acfca53baf5117986412d9 100755 --- a/plugins/processing/simple-visualization/src/box-algorithms/ovpCSignalDisplay.cpp +++ b/plugins/processing/simple-visualization/src/box-algorithms/ovpCSignalDisplay.cpp @@ -167,15 +167,15 @@ bool CSignalDisplay::process() m_StimulationDecoder.decode(c); if (m_StimulationDecoder.isBufferReceived()) { - const IStimulationSet* stimSet = m_StimulationDecoder.getOutputStimulationSet(); - const size_t count = stimSet->getStimulationCount(); + const CStimulationSet* stimSet = m_StimulationDecoder.getOutputStimulationSet(); + const size_t count = stimSet->size(); - m_BufferDatabase->setStimulationCount(count); + m_BufferDatabase->resize(count); for (size_t s = 0; s < count; ++s) { - const uint64_t id = stimSet->getStimulationIdentifier(s); - const uint64_t date = stimSet->getStimulationDate(s); + const uint64_t id = stimSet->getId(s); + const uint64_t date = stimSet->getDate(s); CString name = getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, id); if (name == CString("")) { name = CString(("Id " + std::to_string(id)).c_str()); } diff --git a/plugins/processing/simple-visualization/src/ovpCBufferDatabase.h b/plugins/processing/simple-visualization/src/ovpCBufferDatabase.h index 7b016f495d0153b28ea69a02ee685d3b56ac3a57..164284da23633718041f4f7bb03fb8728b73e658 100644 --- a/plugins/processing/simple-visualization/src/ovpCBufferDatabase.h +++ b/plugins/processing/simple-visualization/src/ovpCBufferDatabase.h @@ -324,7 +324,7 @@ public: // Mainly used to force a warning if stream-specified rate differs from the chunk-estimated rate. virtual bool setSampling(const size_t sampling); - virtual void setStimulationCount(const size_t /*count*/) {} + virtual void resize(const size_t /*count*/) {} virtual void setStimulation(const size_t index, uint64_t identifier, uint64_t date); /** diff --git a/plugins/processing/stimulation/CMakeLists.txt b/plugins/processing/stimulation/CMakeLists.txt index a57b7bb5717ca08c8ece5bd81aac869fd296898b..0552da2f5789ad175aae3bbd8ef08f1b526b42c9 100755 --- a/plugins/processing/stimulation/CMakeLists.txt +++ b/plugins/processing/stimulation/CMakeLists.txt @@ -1,6 +1,6 @@ project(openvibe-plugins-stimulation VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl) +file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) target_link_libraries(${PROJECT_NAME} @@ -9,8 +9,21 @@ target_link_libraries(${PROJECT_NAME} openvibe-toolkit openvibe-module-ebml openvibe-visualization-toolkit + Boost::boost + Boost::system + Boost::thread + lua ) +if(UNIX AND NOT APPLE) + find_library(LIB_RT rt) + if(LIB_RT) + target_link_libraries(${PROJECT_NAME} ${LIB_RT}) + else() + message(WARNING " FAILED to find rt...") + endif() +endif() + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} @@ -22,11 +35,7 @@ add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) include("FindOpenViBEModuleTCPTagging") include("FindThirdPartyGTK") -include("FindThirdPartyLua") include("FindThirdPartyOpenAL") -include("FindThirdPartyBoost") -include("FindThirdPartyBoost_Thread") -include("FindThirdPartyBoost_System") # --------------------------------- # Finds standard library winmm diff --git a/plugins/processing/stimulation/box-tutorials/lua/lua-stimulator.xml b/plugins/processing/stimulation/box-tutorials/lua/lua-stimulator.xml index 89e65feeb0565aa7c19f7d3bc6798589817d0b12..158d9c888038000a09d8f4b96e1171fe514c6982 100644 --- a/plugins/processing/stimulation/box-tutorials/lua/lua-stimulator.xml +++ b/plugins/processing/stimulation/box-tutorials/lua/lua-stimulator.xml @@ -89,7 +89,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304.000000</Value> + <Value>304</Value> </Attribute> <Attribute> <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> @@ -97,7 +97,7 @@ </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>480.000000</Value> + <Value>480</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -282,7 +282,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> diff --git a/plugins/processing/stimulation/box-tutorials/run-command.xml b/plugins/processing/stimulation/box-tutorials/run-command.xml index 22087ebbe8c0fb903bf56b14e827108d378b6771..13608126094bd3ff2837bc6c6ddc27c4ac9a1d95 100644 --- a/plugins/processing/stimulation/box-tutorials/run-command.xml +++ b/plugins/processing/stimulation/box-tutorials/run-command.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x42f8bf57, 0x71efc888)</Identifier> @@ -18,7 +21,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>10.000000</Value> + <Value>10</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -34,10 +37,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>32</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>24</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>384</Value> @@ -46,14 +45,10 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>114</Value> - </Attribute> </Attributes> </Box> <Box> - <Identifier>(0x642d51bb, 0x4df52)</Identifier> + <Identifier>(0x642d51bb, 0x0004df52)</Identifier> <Name>Run Command</Name> <AlgorithmClassIdentifier>(0x48843891, 0x7bfc57f4)</AlgorithmClassIdentifier> <Inputs> @@ -97,10 +92,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>128</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>36</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>384</Value> @@ -113,10 +104,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>101</Value> - </Attribute> </Attributes> </Box> </Boxes> @@ -128,27 +115,9 @@ <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x642d51bb, 0x4df52)</BoxIdentifier> + <BoxIdentifier>(0x642d51bb, 0x0004df52)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>50</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>384</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>105</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>384</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -205,7 +174,7 @@ every 10 seconds.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":480,"identifier":"(0x04b1b9ca, 0x49fdacb7)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":640},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x08218b08, 0x6e0a3371)","index":0,"name":"Default tab","parentIdentifier":"(0x04b1b9ca, 0x49fdacb7)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x15e14689, 0x29e46499)","index":0,"name":"Empty","parentIdentifier":"(0x08218b08, 0x6e0a3371)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":480,"identifier":"(0x04b1b9ca, 0x49fdacb7)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":640},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x08218b08, 0x6e0a3371)","index":0,"name":"Default tab","parentIdentifier":"(0x04b1b9ca, 0x49fdacb7)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x15e14689, 0x29e46499)","index":0,"name":"Empty","parentIdentifier":"(0x08218b08, 0x6e0a3371)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/stimulation/box-tutorials/sound-player.xml b/plugins/processing/stimulation/box-tutorials/sound-player.xml index f92141ba8bcde165c52b38f371cf8b93bf1a344f..8e9ea5bbd3beadc5a0c4b38ce9e41b3f66efb8e1 100644 --- a/plugins/processing/stimulation/box-tutorials/sound-player.xml +++ b/plugins/processing/stimulation/box-tutorials/sound-player.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x00001596, 0x00001900)</Identifier> @@ -25,24 +28,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>400.000000</Value> + <Value>352</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>53</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>1152</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>1072.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>195</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x09c475d6)</Value> @@ -51,10 +50,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>1</Value> @@ -120,10 +115,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>192</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>288</Value> @@ -132,10 +123,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xd327e20a, 0xaae6b1f8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x03910c35)</Value> @@ -178,10 +165,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>64</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>288</Value> @@ -190,10 +173,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x8d89d3b7, 0x8339d210)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>140</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x018383ab)</Value> @@ -232,10 +211,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>320</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>288</Value> @@ -244,10 +219,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0xf451ad91, 0x14c75f86)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>135</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0a3bcd39)</Value> @@ -311,24 +282,20 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> + <Value>272</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>992</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>992.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0d4656c0, 0xc95b1fa8)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x017ff9bc)</Value> @@ -337,10 +304,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>5</Value> @@ -437,15 +400,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> + <Value>336</Value> </Attribute> <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>992</Value> </Attribute> <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>960.000000</Value> + <Identifier>(0x341d3912, 0x1478de86)</Identifier> + <Value>1</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -455,10 +418,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>100</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x01bab220)</Value> @@ -467,10 +426,6 @@ <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>true</Value> </Attribute> - <Attribute> - <Identifier>(0x341d3912, 0x1478de86)</Identifier> - <Value>1</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>9</Value> @@ -493,24 +448,6 @@ <BoxIdentifier>(0x00007bff, 0x00005623)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>977</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>945</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000338f, 0x000044d6)</Identifier> @@ -522,24 +459,6 @@ <BoxIdentifier>(0x00003786, 0x000009c4)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>210</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>294</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>288</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000060db, 0x00003025)</Identifier> @@ -551,24 +470,6 @@ <BoxIdentifier>(0x00007bff, 0x00005623)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>992</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>310</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>960</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x000063f2, 0x00002eeb)</Identifier> @@ -580,24 +481,6 @@ <BoxIdentifier>(0x00001596, 0x00001900)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>295</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>992</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>369</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>1072</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00007693, 0x00003000)</Identifier> @@ -609,24 +492,6 @@ <BoxIdentifier>(0x000016ad, 0x0000777c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>288</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>176</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>288</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -643,11 +508,11 @@ the stimulation markers with the signal.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>560.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>208.000000</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -694,11 +559,11 @@ TCP Tagging module.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>992.000000</Value> + <Value>992</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>208.000000</Value> + <Value>208</Value> </Attribute> </Attributes> </Comment> @@ -722,7 +587,7 @@ prints the incoming stimulations to the console.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00007bff, 0x00005623)","childCount":0,"identifier":"(0x00004074, 0x000038c0)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ad7, 0x00002240)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x00001828, 0x00007c53)","childCount":0,"identifier":"(0x00007ae2, 0x000042d6)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007a1f, 0x000058c9)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad7, 0x00002240)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000596c, 0x0000430e)","index":0,"name":"Empty","parentIdentifier":"(0x00007a1f, 0x000058c9)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x00007bff, 0x00005623)","childCount":0,"identifier":"(0x00004074, 0x000038c0)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ad7, 0x00002240)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x00001828, 0x00007c53)","childCount":0,"identifier":"(0x00007ae2, 0x000042d6)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00007a1f, 0x000058c9)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ad7, 0x00002240)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000596c, 0x0000430e)","index":0,"name":"Empty","parentIdentifier":"(0x00007a1f, 0x000058c9)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/stimulation/box-tutorials/stimulation-validator.xml b/plugins/processing/stimulation/box-tutorials/stimulation-validator.xml index c40bcf2a68180fca868e68aceb9c4f90df13292e..c6fe7d4829f7c458cf6a1ae4dd1cf34e9e5fa8e3 100644 --- a/plugins/processing/stimulation/box-tutorials/stimulation-validator.xml +++ b/plugins/processing/stimulation/box-tutorials/stimulation-validator.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -113,7 +113,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -127,7 +127,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>288</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -182,7 +182,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -239,11 +239,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>304</Value> + <Value>416</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -294,11 +294,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>352</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>864</Value> + <Value>880</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> diff --git a/plugins/processing/stimulation/box-tutorials/sign-change-detector.xml b/plugins/processing/stimulation/box-tutorials/threshold-crossing-detector.xml similarity index 54% rename from plugins/processing/stimulation/box-tutorials/sign-change-detector.xml rename to plugins/processing/stimulation/box-tutorials/threshold-crossing-detector.xml index 39e863d77063ba9326eb05c31a397dec26350c95..1bed758b24fdd9a96d08573de891a0b5f93176ce 100644 --- a/plugins/processing/stimulation/box-tutorials/sign-change-detector.xml +++ b/plugins/processing/stimulation/box-tutorials/threshold-crossing-detector.xml @@ -1,11 +1,209 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> - <Identifier>(0x00000058, 0x00001507)</Identifier> - <Name>Sign changes as stimulations</Name> + <Identifier>(0x00002134, 0x00001d37)</Identifier> + <Name>Threshold Crossing Detector</Name> + <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>-0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Channel Index</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>576</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xeb97db60, 0x15906899)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00002a2d, 0x00002eff)</Identifier> + <Name>Time signal</Name> + <AlgorithmClassIdentifier>(0x28a5e7ff, 0x530095de)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Generated signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Sampling frequency</Name> + <DefaultValue>512</DefaultValue> + <Value>512</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Generated epoch sample count</Name> + <DefaultValue>32</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>768</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000054fa, 0x00006eca)</Identifier> + <Name>Threshold Crossing Detector</Name> + <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_02</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_02</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Channel Index</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>400</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>960</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xeb97db60, 0x15906899)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00005e8a, 0x00004108)</Identifier> + <Name>Signal display</Name> <AlgorithmClassIdentifier>(0x0055be5f, 0x087bdd12)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -33,7 +231,7 @@ <TypeIdentifier>(0x33a30739, 0x00d5299b)</TypeIdentifier> <Name>Auto vertical scale</Name> <DefaultValue>Per channel</DefaultValue> - <Value>Per channel</Value> + <Value>None</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -47,7 +245,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Vertical Scale</Name> <DefaultValue>100</DefaultValue> - <Value>100</Value> + <Value>2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -61,21 +259,21 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Time Scale</Name> <DefaultValue>10</DefaultValue> - <Value>10</Value> + <Value>16</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Horizontal ruler</Name> + <Name>Bottom ruler</Name> <DefaultValue>true</DefaultValue> <Value>true</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> - <Name>Vertical ruler</Name> + <Name>Left ruler</Name> <DefaultValue>false</DefaultValue> - <Value>false</Value> + <Value>true</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -89,15 +287,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>448.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>43</Value> + <Value>608</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304.000000</Value> + <Value>528</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -107,18 +301,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>198</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x003d2119)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> - <Value>false</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>9</Value> @@ -130,75 +312,7 @@ </Attributes> </Box> <Box> - <Identifier>(0x00000b7d, 0x000021cf)</Identifier> - <Name>Sinus oscillator</Name> - <AlgorithmClassIdentifier>(0x7e33bdb8, 0x68194a4a)</AlgorithmClassIdentifier> - <Outputs> - <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Generated signal</Name> - </Output> - </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Channel count</Name> - <DefaultValue>4</DefaultValue> - <Value>2</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Sampling frequency</Name> - <DefaultValue>512</DefaultValue> - <Value>256</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Generated epoch sample count</Name> - <DefaultValue>32</DefaultValue> - <Value>32</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> - <Attributes> - <Attribute> - <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>48</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> - </Attribute> - <Attribute> - <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x0b214ed8, 0x1f9ad83a)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>109</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x006b51c4)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> - <Value>1</Value> - </Attribute> - <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> - </Attribute> - </Attributes> - </Box> - <Box> - <Identifier>(0x00001768, 0x00002032)</Identifier> + <Identifier>(0x0000641a, 0x00002056)</Identifier> <Name>Simple DSP</Name> <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> <Inputs> @@ -218,22 +332,18 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Equation</Name> <DefaultValue>x</DefaultValue> - <Value>x-1.5</Value> + <Value>sin(x)</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> @@ -247,14 +357,6 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>82</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x00317051)</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -274,8 +376,8 @@ </Attributes> </Box> <Box> - <Identifier>(0x00002bfe, 0x0000718a)</Identifier> - <Name>Sign Change Detector</Name> + <Identifier>(0x00006c77, 0x000010c9)</Identifier> + <Name>Threshold Crossing Detector</Name> <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> <Inputs> <Input> @@ -290,18 +392,25 @@ </Output> </Outputs> <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>0</Value> + <Modifiability>false</Modifiability> + </Setting> <Setting> <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>On Stimulation</Name> - <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> <Value>OVTK_StimulationId_Label_01</Value> <Modifiability>false</Modifiability> </Setting> <Setting> <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> - <Name>Off Stimulation</Name> - <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> - <Value>OVTK_StimulationId_Label_00</Value> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_01</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -315,31 +424,15 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>400</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>304</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x13bdcd99, 0x9faeff20)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>150</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x002af6e1)</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> + <Value>(0xeb97db60, 0x15906899)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> @@ -347,7 +440,7 @@ </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>3</Value> + <Value>4</Value> </Attribute> <Attribute> <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> @@ -356,296 +449,256 @@ </Attributes> </Box> <Box> - <Identifier>(0x000033a4, 0x0000426b)</Identifier> - <Name>Temporal filter</Name> - <AlgorithmClassIdentifier>(0xb4f9d042, 0x9d79f2e5)</AlgorithmClassIdentifier> + <Identifier>(0x000070e5, 0x00000829)</Identifier> + <Name>Stimulation multiplexer</Name> + <AlgorithmClassIdentifier>(0x07db4efa, 0x472b0938)</AlgorithmClassIdentifier> <Inputs> <Input> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Input signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations 1</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations 2</Name> + </Input> + <Input> + <Identifier>(0x96bafd02, 0x49e605cb)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations 3</Name> </Input> </Inputs> <Outputs> <Output> - <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> - <Name>Filtered signal</Name> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Multiplexed stimulations</Name> </Output> </Outputs> - <Settings> - <Setting> - <TypeIdentifier>(0x2f2c606c, 0x8512ed68)</TypeIdentifier> - <Name>Filter method</Name> - <DefaultValue>Butterworth</DefaultValue> - <Value>Butterworth</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0xfa20178e, 0x4cba62e9)</TypeIdentifier> - <Name>Filter type</Name> - <DefaultValue>Band pass</DefaultValue> - <Value>Band stop</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> - <Name>Filter order</Name> - <DefaultValue>4</DefaultValue> - <Value>4</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Low cut frequency (Hz)</Name> - <DefaultValue>29</DefaultValue> - <Value>8</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>High cut frequency (Hz)</Name> - <DefaultValue>40</DefaultValue> - <Value>20</Value> - <Modifiability>false</Modifiability> - </Setting> - <Setting> - <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> - <Name>Pass band ripple (dB)</Name> - <DefaultValue>0.5</DefaultValue> - <Value>0.5</Value> - <Modifiability>false</Modifiability> - </Setting> - </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>512</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320</Value> + <Value>768</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0x27a4ceec, 0x876d6384)</Value> - </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>103</Value> - </Attribute> - <Attribute> - <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> - <Value>(0x00000000, 0x0041a8b8)</Value> + <Value>(0xe7af82cd, 0x14edb4d4)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> </Attribute> <Attribute> - <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> - <Value>6</Value> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> </Attribute> <Attribute> - <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> - <Value>1</Value> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> </Attribute> </Attributes> </Box> </Boxes> <Links> <Link> - <Identifier>(0x000009dc, 0x00007ae0)</Identifier> + <Identifier>(0x00000664, 0x00002f8b)</Identifier> + <Source> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005e8a, 0x00004108)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00000c1b, 0x000048e8)</Identifier> <Source> - <BoxIdentifier>(0x00001768, 0x00002032)</BoxIdentifier> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00000058, 0x00001507)</BoxIdentifier> + <BoxIdentifier>(0x00006c77, 0x000010c9)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>422</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>289</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000173b, 0x00002ff3)</Identifier> + <Identifier>(0x00000d92, 0x00006d6d)</Identifier> <Source> - <BoxIdentifier>(0x00001768, 0x00002032)</BoxIdentifier> + <BoxIdentifier>(0x00002a2d, 0x00002eff)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00002bfe, 0x0000718a)</BoxIdentifier> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>231</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>352</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x0000225d, 0x00004d7f)</Identifier> + <Identifier>(0x00002bb3, 0x00001354)</Identifier> + <Source> + <BoxIdentifier>(0x00006c77, 0x000010c9)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002e51, 0x00003a81)</Identifier> <Source> - <BoxIdentifier>(0x000033a4, 0x0000426b)</BoxIdentifier> + <BoxIdentifier>(0x00002134, 0x00001d37)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x00001768, 0x00002032)</BoxIdentifier> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>146</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>187</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> <Link> - <Identifier>(0x00003775, 0x0000549c)</Identifier> + <Identifier>(0x00004b6b, 0x000020f7)</Identifier> <Source> - <BoxIdentifier>(0x00000b7d, 0x000021cf)</BoxIdentifier> + <BoxIdentifier>(0x000054fa, 0x00006eca)</BoxIdentifier> <BoxOutputIndex>0</BoxOutputIndex> </Source> <Target> - <BoxIdentifier>(0x000033a4, 0x0000426b)</BoxIdentifier> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxInputIdentifier>(0x96bafd02, 0x49e605cb)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x00005325, 0x00005a05)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00002134, 0x00001d37)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> + </Link> + <Link> + <Identifier>(0x00005bd4, 0x000053cd)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000054fa, 0x00006eca)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00006615, 0x00005aca)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005e8a, 0x00004108)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + </Links> + <Comments> + <Comment> + <Identifier>(0x000000fa, 0x00006d32)</Identifier> + <Text>Threshold = 0</Text> <Attributes> <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>66</Value> + <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> + <Value>816</Value> </Attribute> <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> + <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> + <Value>368</Value> </Attribute> + </Attributes> + </Comment> + <Comment> + <Identifier>(0x00002048, 0x000036c1)</Identifier> + <Text>4. The signal and the stumilations are displayed.</Text> + <Attributes> <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>112</Value> + <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> + <Value>1232</Value> </Attribute> <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> + <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> + <Value>608</Value> </Attribute> </Attributes> - </Link> - <Link> - <Identifier>(0x00005e52, 0x00006ce3)</Identifier> - <Source> - <BoxIdentifier>(0x00002bfe, 0x0000718a)</BoxIdentifier> - <BoxOutputIndex>0</BoxOutputIndex> - </Source> - <Target> - <BoxIdentifier>(0x00000058, 0x00001507)</BoxIdentifier> - <BoxInputIndex>1</BoxInputIndex> - </Target> + </Comment> + <Comment> + <Identifier>(0x000020b5, 0x00006489)</Identifier> + <Text>Threshold = -0.5</Text> <Attributes> <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>386</Value> + <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> + <Value>528</Value> </Attribute> <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>304</Value> + <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> + <Value>368</Value> </Attribute> + </Attributes> + </Comment> + <Comment> + <Identifier>(0x00002749, 0x000008ae)</Identifier> + <Text>1. We use a <b>Time signal</b> combined with a <b>Simple DSP</b> to generate a sine wave.</Text> + <Attributes> <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>422</Value> + <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> + <Value>1312</Value> </Attribute> <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>304</Value> + <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> + <Value>256</Value> </Attribute> </Attributes> - </Link> - </Links> - <Comments> + </Comment> <Comment> - <Identifier>(0x00001b49, 0x0000218a)</Identifier> - <Text>A <b>DSP</b> box is used in combination with the -<b>Sign Change Detector</b> to create a threshold detector.</Text> + <Identifier>(0x00003d26, 0x00000802)</Identifier> + <Text>2. The <b>threshold crossing detectors</b> are set to detect when the signal goes over/under some specific threshold values. +(Here, -0.5, 0 and 0.5).</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>624</Value> + <Value>1424</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>224</Value> + <Value>400</Value> </Attribute> </Attributes> </Comment> <Comment> - <Identifier>(0x0000585f, 0x000060ca)</Identifier> - <Text>Sinus oscillator generates 2 channels of signal. -The signal is filtered for simplification.</Text> + <Identifier>(0x00004979, 0x00002fbc)</Identifier> + <Text>Threshold = 0.5</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>608</Value> + <Value>1008</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>80</Value> + <Value>368</Value> </Attribute> </Attributes> </Comment> <Comment> - <Identifier>(0x00005aa9, 0x00006)</Identifier> - <Text>The <b>Sign Change Detector</b> takes sends stimulations -when the signal on selected channel (0 in this case) becomes -positive or negative.</Text> + <Identifier>(0x00004bc6, 0x0000135f)</Identifier> + <Text>3. The stimulation multiplexer combines the 3 stimulations streams into 1.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>656</Value> + <Value>1296</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>352</Value> + <Value>512</Value> </Attribute> </Attributes> </Comment> @@ -655,46 +708,20 @@ positive or negative.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>416</Value> + <Value>672</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>512</Value> + <Value>96</Value> </Attribute> </Attributes> </Comment> </Comments> <Metadata> <Entry> - <Identifier>(0x0000775c, 0x000078ff)</Identifier> + <Identifier>(0x000062ac, 0x00003721)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00000058, 0x00001507)","childCount":0,"identifier":"(0x0000195a, 0x00000135)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":507,"identifier":"(0x00005fc9, 0x00000682)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":798},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000430b, 0x000040ff)","index":0,"name":"Default tab","parentIdentifier":"(0x00005fc9, 0x00000682)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000717d, 0x0000035a)","index":0,"name":"Empty","parentIdentifier":"(0x0000430b, 0x000040ff)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000041e, 0x000069b5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x00005e8a, 0x00004108)","childCount":0,"identifier":"(0x00007cf3, 0x00006d7d)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004c5d, 0x000021d4)","index":0,"name":"Default tab","parentIdentifier":"(0x0000041e, 0x000069b5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000420e, 0x000074bb)","index":0,"name":"Empty","parentIdentifier":"(0x00004c5d, 0x000021d4)","type":0}]</Data> </Entry> </Metadata> - <Attributes> - <Attribute> - <Identifier>(0x790d75b8, 0x3bb90c33)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0x8c1fc55b, 0x7b433dc2)</Identifier> - <Value>1.0</Value> - </Attribute> - <Attribute> - <Identifier>(0x9f5c4075, 0x4a0d3666)</Identifier> - <Value>Sign Change Detector example</Value> - </Attribute> - <Attribute> - <Identifier>(0xf36a1567, 0xd13c53da)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xf6b2e3fa, 0x7bd43926)</Identifier> - <Value></Value> - </Attribute> - <Attribute> - <Identifier>(0xf8034a49, 0x8b3f37cc)</Identifier> - <Value>Inria</Value> - </Attribute> - </Attributes> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/stimulation/doc/Doc_BoxAlgorithm_SignChangeDetector.dox-part b/plugins/processing/stimulation/doc/Doc_BoxAlgorithm_SignChangeDetector.dox-part deleted file mode 100644 index a8524eba8b0f2ef81c8042f44010fcee5ead4ae3..0000000000000000000000000000000000000000 --- a/plugins/processing/stimulation/doc/Doc_BoxAlgorithm_SignChangeDetector.dox-part +++ /dev/null @@ -1,68 +0,0 @@ -/** - * \page BoxAlgorithm_SignChangeDetector Sign Change Detector -__________________________________________________________________ - -Detailed description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Description| - -This box detects the changes of the sign of the input. It will work on any matrix of exactly two dimensions, signal in particular. This box operates only on one channel. When the input values change sign a stimulation is sent. You can choose the stimulation to send when the value becomes positive or negative. - - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Description| -__________________________________________________________________ - -Inputs description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Inputs| - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Inputs| - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Input1| -Input values. Must be a streamed matrix of exactly two dimensions. This box works well with signal. - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Input1| -__________________________________________________________________ - -Outputs description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Outputs| - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Outputs| - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Output1| -Output stimulations. - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Output1| -__________________________________________________________________ - -Settings description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Settings| - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Settings| - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Setting1| -Stimulation to send when the value becomes positive. - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Setting1| - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Setting2| -Stimulation to send when the value becomes negative. - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Setting2| - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Setting3| -Index of the channel to operate on. - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Setting3| -__________________________________________________________________ - -Examples description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Examples| - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Examples| -__________________________________________________________________ - -Miscellaneous description -__________________________________________________________________ - - * |OVP_DocBegin_BoxAlgorithm_SignChangeDetector_Miscellaneous| - * |OVP_DocEnd_BoxAlgorithm_SignChangeDetector_Miscellaneous| - */ diff --git a/plugins/processing/stimulation/doc/Doc_BoxAlgorithm_ThresholdCrossingDetector.dox-part b/plugins/processing/stimulation/doc/Doc_BoxAlgorithm_ThresholdCrossingDetector.dox-part new file mode 100644 index 0000000000000000000000000000000000000000..f670c9fa8c68c7f952370b893f1b4831c4da0b99 --- /dev/null +++ b/plugins/processing/stimulation/doc/Doc_BoxAlgorithm_ThresholdCrossingDetector.dox-part @@ -0,0 +1,72 @@ +/** + * \page BoxAlgorithm_ThresholdCrossingDetector Threshold Crossing Detector +__________________________________________________________________ + +Detailed description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Description| + +This box detects when the input goes over or under a chosen threshold. It will work on any matrix of exactly two dimensions, signal in particular. This box operates only on one channel. When the input values cross the threshold, a stimulation is sent. You can choose the stimulation to send when the value crosses the threshold in a way (over) or the other (under). + + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Description| +__________________________________________________________________ + +Inputs description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Inputs| + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Inputs| + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Input1| +Input values. Must be a streamed matrix of exactly two dimensions. This box works well with signal. + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Input1| +__________________________________________________________________ + +Outputs description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Outputs| + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Outputs| + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Output1| +Output stimulations. + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Output1| +__________________________________________________________________ + +Settings description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Settings| + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Settings| + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Setting1| +Threshold that will trigger stimulations when it's crossed (default: 0). + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Setting1| + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Setting2| +Stimulation to send when the value goes over the threshold. + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Setting2| + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Setting3| +Stimulation to send when the value goes under the threshold. + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Setting3| + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Setting4| +Index of the channel to operate on. + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Setting4| +__________________________________________________________________ + +Examples description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Examples| + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Examples| +__________________________________________________________________ + +Miscellaneous description +__________________________________________________________________ + + * |OVP_DocBegin_BoxAlgorithm_ThresholdCrossingDetector_Miscellaneous| + * |OVP_DocEnd_BoxAlgorithm_ThresholdCrossingDetector_Miscellaneous| + */ diff --git a/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.cpp b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.cpp index 79f9ec28935f6a4bcca975b9f41d29516914a37e..d3e19bcf54cc2c8e1477cbd39751cb590f5fcf1e 100644 --- a/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.cpp @@ -44,22 +44,22 @@ bool CBoxAlgorithmStimulationValidator::process() Kernel::IBoxIO& boxCtx = this->getDynamicBoxContext(); const uint64_t currentTime = getPlayerContext().getCurrentTime(); - m_oStimulation->setStimulationCount(0); // reset stimulation output + m_oStimulation->resize(0); // reset stimulation output //***** Stimulations ***** for (size_t i = 0; i < boxCtx.getInputChunkCount(0); ++i) { m_decoder.decode(i); // Decode the chunk if (m_decoder.isBufferReceived()) // Buffer Received { - for (size_t j = 0; j < m_iStimulation->getStimulationCount(); ++j) + for (size_t j = 0; j < m_iStimulation->size(); ++j) { - if (m_iStimulation->getStimulationIdentifier(j) == m_stim.id()) + if (m_iStimulation->getId(j) == m_stim.id()) { m_count++; if (m_count >= m_limit) { m_count = 0; - m_oStimulation->appendStimulation(m_stim.id(), m_iStimulation->getStimulationDate(j), 0); + m_oStimulation->push_back(m_stim.id(), m_iStimulation->getDate(j), 0); } } } diff --git a/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.hpp b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.hpp index acba2f36dca7fff04b7852f736d7269d5cfe132f..1d82c8a71192d70d064a33464584951ab2b1e338 100644 --- a/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.hpp +++ b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmStimulationValidator.hpp @@ -49,7 +49,7 @@ namespace OpenViBE //***** Codecs ***** Toolkit::TStimulationDecoder<CBoxAlgorithmStimulationValidator> m_decoder; // Stimulation Decoder Toolkit::TStimulationEncoder<CBoxAlgorithmStimulationValidator> m_encoder; // Stimulation Encoder - IStimulationSet *m_iStimulation = nullptr, *m_oStimulation = nullptr; // Stimulation Receiver + CStimulationSet *m_iStimulation = nullptr, *m_oStimulation = nullptr; // Stimulation Receiver //***** Settings ***** CIdentifier m_stim = OVTK_StimulationId_Label_00; diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCSignChangeDetector.cpp b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmThresholdCrossingDetector.cpp similarity index 64% rename from plugins/processing/stimulation/src/box-algorithms/ovpCSignChangeDetector.cpp rename to plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmThresholdCrossingDetector.cpp index 6b9e2e162562f06f63b6b3ba55719a006bcfc411..e5bbf20c99bff027341890b888bbb15962cbab74 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCSignChangeDetector.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmThresholdCrossingDetector.cpp @@ -1,15 +1,39 @@ -#include "ovpCSignChangeDetector.h" +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxAlgorithmThresholdCrossingDetector.cpp +/// \brief Class of the box that detects threshold crossing. +/// \author Joan Fruitet, Jozef Legeny, Axel Bouneau (Inria). +/// \version 1.3. +/// \date 14/04/2022 +/// \copyright (C) 2022 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#include "CBoxAlgorithmThresholdCrossingDetector.hpp" namespace OpenViBE { namespace Plugins { namespace Stimulation { -bool CSignChangeDetector::initialize() +bool CBoxAlgorithmThresholdCrossingDetector::initialize() { // we read the settings: // The stimulations names: - const CString on = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0); - const CString off = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1); + const CString on = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 1); + const CString off = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2); m_onStimId = getTypeManager().getEnumerationEntryValueFromName(OV_TypeId_Stimulation, on); m_offStimId = getTypeManager().getEnumerationEntryValueFromName(OV_TypeId_Stimulation, off); @@ -20,7 +44,7 @@ bool CSignChangeDetector::initialize() m_decoder.initialize(*this, 0); m_encoder.initialize(*this, 0); - m_channelIdx = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 2); + m_channelIdx = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 3); if (m_channelIdx == 0) { this->getLogManager() << Kernel::LogLevel_Info << "Channel Index is 0. The channel indexing convention starts from 1.\n"; @@ -28,10 +52,12 @@ bool CSignChangeDetector::initialize() } m_channelIdx--; // Convert from [1,n] indexing to [0,n-1] indexing used later + m_threshold = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0); + return true; } -bool CSignChangeDetector::uninitialize() +bool CBoxAlgorithmThresholdCrossingDetector::uninitialize() { m_encoder.uninitialize(); m_decoder.uninitialize(); @@ -39,19 +65,19 @@ bool CSignChangeDetector::uninitialize() return true; } -bool CSignChangeDetector::processInput(const size_t /*index*/) +bool CBoxAlgorithmThresholdCrossingDetector::processInput(const size_t /*index*/) { getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess(); return true; } -bool CSignChangeDetector::process() +bool CBoxAlgorithmThresholdCrossingDetector::process() { Kernel::IBoxIO& boxContext = this->getDynamicBoxContext(); // Get a few convenience handles const CMatrix* matrix = m_decoder.getOutputMatrix(); - IStimulationSet* stimSet = m_encoder.getInputStimulationSet(); + CStimulationSet* stimSet = m_encoder.getInputStimulationSet(); // We decode the stream matrix for (size_t i = 0; i < boxContext.getInputChunkCount(0); ++i) @@ -101,17 +127,17 @@ bool CSignChangeDetector::process() } // Change from positive to negative - if (m_lastSample >= 0 && currentSample < 0) + if (m_lastSample >= m_threshold && currentSample < m_threshold) { const uint64_t time = start + (end - start) * j / m_samplesPerChannel; - stimSet->appendStimulation(m_offStimId, time, 0); + stimSet->push_back(m_offStimId, time, 0); } // Change from negative to positive - if (m_lastSample < 0 && currentSample >= 0) + if (m_lastSample < m_threshold && currentSample >= m_threshold) { const uint64_t time = start + (end - start) * j / m_samplesPerChannel; - stimSet->appendStimulation(m_onStimId, time, 0); + stimSet->push_back(m_onStimId, time, 0); } m_lastSample = currentSample; diff --git a/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmThresholdCrossingDetector.hpp b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmThresholdCrossingDetector.hpp new file mode 100644 index 0000000000000000000000000000000000000000..08936b46ceb4cdfa39279daa596f560bfb660f0a --- /dev/null +++ b/plugins/processing/stimulation/src/box-algorithms/CBoxAlgorithmThresholdCrossingDetector.hpp @@ -0,0 +1,100 @@ +///------------------------------------------------------------------------------------------------- +/// +/// \file CBoxAlgorithmThresholdCrossingDetector.hpp +/// \brief Class of the box that detects threshold crossing. +/// \author Joan Fruitet, Jozef Legeny, Axel Bouneau (Inria). +/// \version 1.3. +/// \date 14/04/2022 +/// \copyright (C) 2022 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + +#pragma once + +#include "../ovp_defines.h" +#include <openvibe/ov_all.h> +#include <toolkit/ovtk_all.h> + +namespace OpenViBE { +namespace Plugins { +namespace Stimulation { +class CBoxAlgorithmThresholdCrossingDetector final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> +{ +public: + + void release() override { delete this; } + + bool initialize() override; + bool uninitialize() override; + bool processInput(const size_t index) override; + bool process() override; + + _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, ClassId_Box_ThresholdCrossingDetector) + +protected: + + Toolkit::TStreamedMatrixDecoder<CBoxAlgorithmThresholdCrossingDetector> m_decoder; + Toolkit::TStimulationEncoder<CBoxAlgorithmThresholdCrossingDetector> m_encoder; + + uint64_t m_onStimId = 0; + uint64_t m_offStimId = 0; + uint64_t m_channelIdx = 0; + uint64_t m_samplesPerChannel = 0; + double m_lastSample = 0; + bool m_firstSample = false; + + double m_threshold = 0; +}; + +class CBoxAlgorithmThresholdCrossingDetectorDesc final : virtual public IBoxAlgorithmDesc +{ +public: + + void release() override { } + + CString getName() const override { return CString("Threshold Crossing Detector"); } + CString getAuthorName() const override { return CString("Joan Fruitet, Jozef Legeny, Axel Bouneau"); } + CString getAuthorCompanyName() const override { return CString("Inria Sophia, Inria Bordeaux"); } + CString getShortDescription() const override { return CString("Detects if the input signal crosses a chosen threshold"); } + + CString getDetailedDescription() const override + { + return CString("Triggers a stimulation when one sample in the input signal crosses a chosen threshold"); + } + + CString getCategory() const override { return CString("Stimulation"); } + CString getVersion() const override { return CString("1.3"); } + CString getStockItemName() const override { return CString("gtk-zoom-fit"); } + + CIdentifier getCreatedClass() const override { return ClassId_Box_ThresholdCrossingDetector; } + IPluginObject* create() override { return new CBoxAlgorithmThresholdCrossingDetector; } + + bool getBoxPrototype(Kernel::IBoxProto& prototype) const override + { + prototype.addInput("Signal", OV_TypeId_StreamedMatrix); + prototype.addOutput("Generated stimulations", OV_TypeId_Stimulations); + prototype.addSetting("Threshold", OV_TypeId_Float, "0"); + prototype.addSetting("Cross over threshold", OV_TypeId_Stimulation, "OVTK_StimulationId_Label_00"); + prototype.addSetting("Cross under threshold", OV_TypeId_Stimulation, "OVTK_StimulationId_Label_01"); + prototype.addSetting("Channel Index", OV_TypeId_Integer, "1"); + return true; + } + + _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, ClassId_Box_ThresholdCrossingDetectorDesc) +}; +} // namespace Stimulation +} // namespace Plugins +} // namespace OpenViBE diff --git a/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.cpp b/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.cpp index 27ab3da8894c77bf021d976c7edb6c432654ce6f..27db2741d5ff196776d33dc08de4db6031597fb7 100644 --- a/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.cpp @@ -83,11 +83,11 @@ bool CBoxAlgorithmStimulationFilter::process() } if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - ip_stimSet->setStimulationCount(0); - for (size_t s = 0; s < op_stimSet->getStimulationCount(); ++s) + ip_stimSet->resize(0); + for (size_t s = 0; s < op_stimSet->size(); ++s) { - const uint64_t id = op_stimSet->getStimulationIdentifier(s); - const uint64_t date = op_stimSet->getStimulationDate(s); + const uint64_t id = op_stimSet->getId(s); + const uint64_t date = op_stimSet->getDate(s); uint64_t action = m_defaultAction; if ((m_startTime == m_endTime) || (m_startTime != m_endTime && m_startTime <= date && date <= m_endTime)) @@ -107,7 +107,7 @@ bool CBoxAlgorithmStimulationFilter::process() { this->getLogManager() << Kernel::LogLevel_Trace << "Selects stimulation " << this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, id) << " !\n"; - ip_stimSet->appendStimulation(id, date, op_stimSet->getStimulationDuration(s)); + ip_stimSet->push_back(id, date, op_stimSet->getDuration(s)); } if (action == OVP_TypeId_StimulationFilterAction_Reject.id()) { diff --git a/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.h b/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.h index 58b4cbdc70890b7178bf491315cb4fd57a644aa2..a5f05f88ad1ffff81a65311df2245ad7ca1f036e 100644 --- a/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.h +++ b/plugins/processing/stimulation/src/box-algorithms/adaptation/ovpCBoxAlgorithmStimulationFilter.h @@ -26,8 +26,8 @@ protected: Kernel::IAlgorithmProxy* m_decoder = nullptr; Kernel::IAlgorithmProxy* m_encoder = nullptr; Kernel::TParameterHandler<const IMemoryBuffer*> ip_buffer; - Kernel::TParameterHandler<IStimulationSet*> op_stimSet; - Kernel::TParameterHandler<IStimulationSet*> ip_stimSet; + Kernel::TParameterHandler<CStimulationSet*> op_stimSet; + Kernel::TParameterHandler<CStimulationSet*> ip_stimSet; Kernel::TParameterHandler<IMemoryBuffer*> op_buffer; typedef struct diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.cpp b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.cpp index acea93482a05c4d7d35f9386ba5062ba4e587d57..25c75f511c7f68a93beaa6b13ef874236cfc03ee 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.cpp @@ -1,6 +1,5 @@ #include "ovpCBoxAlgorithmLuaStimulator.h" -#if defined TARGET_HAS_ThirdPartyLua namespace OpenViBE { namespace Plugins { @@ -489,13 +488,13 @@ bool CBoxAlgorithmLuaStimulator::process() if (m_decoders[i]->isHeaderReceived()) { } if (m_decoders[i]->isBufferReceived()) { - const IStimulationSet* stimSet = m_decoders[i]->getOutputStimulationSet(); + const CStimulationSet* stimSet = m_decoders[i]->getOutputStimulationSet(); - for (size_t k = 0; k < stimSet->getStimulationCount(); ++k) + for (size_t k = 0; k < stimSet->size(); ++k) { - m_iStimulations[i].insert(std::make_pair(stimSet->getStimulationDate(k), - std::make_pair(stimSet->getStimulationIdentifier(k), - stimSet->getStimulationDuration(k)))); + m_iStimulations[i].insert(std::make_pair(stimSet->getDate(k), + std::make_pair(stimSet->getId(k), + stimSet->getDuration(k)))); } if (m_FilterMode) @@ -601,7 +600,7 @@ bool CBoxAlgorithmLuaStimulator::sendStimulations(const uint64_t startTime, cons for (size_t i = 0; i < nOutput; ++i) { - IStimulationSet* stimSet = m_encoders[i]->getInputStimulationSet(); + CStimulationSet* stimSet = m_encoders[i]->getInputStimulationSet(); stimSet->clear(); auto it = m_oStimulations[i].begin(); @@ -610,7 +609,7 @@ bool CBoxAlgorithmLuaStimulator::sendStimulations(const uint64_t startTime, cons const auto itStim = it; ++it; - stimSet->appendStimulation(itStim->second.first, itStim->first, itStim->second.second); + stimSet->push_back(itStim->second.first, itStim->first, itStim->second.second); this->getLogManager() << Kernel::LogLevel_Debug << "On output " << i << " - should send stimulation " << itStim->second.first << " at date " << CTime(itStim->first) << " with duration " << itStim->second.second << "\n"; @@ -807,7 +806,7 @@ std::string CBoxAlgorithmLuaStimulator::toString(const EStates state) } } -#endif // TARGET_HAS_ThirdPartyLua } // namespace Stimulation } // namespace Plugins } // namespace OpenViBE + diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.h b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.h index ece1f5dbb7f91ec127b037013681dfc28a11d57b..eb0439e4416e2097f3c34dcf03057c9111752ddf 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.h +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmLuaStimulator.h @@ -1,6 +1,6 @@ #pragma once -#if defined TARGET_HAS_ThirdPartyLua + #include "../ovp_defines.h" #include <openvibe/ov_all.h> @@ -165,4 +165,4 @@ public: } // namespace Plugins } // namespace OpenViBE -#endif // TARGET_HAS_ThirdPartyLua + diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmOpenALSoundPlayer.cpp b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmOpenALSoundPlayer.cpp index bb4271d5a72068f8724d05075fda981db40ce4da..37f1e2b502255d73017d7e58157bda49f6ed40c5 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmOpenALSoundPlayer.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmOpenALSoundPlayer.cpp @@ -116,11 +116,11 @@ bool CBoxAlgorithmOpenALSoundPlayer::process() if (m_decoder.isHeaderReceived()) { } // NOP if (m_decoder.isBufferReceived()) { - const IStimulationSet* stimSet = m_decoder.getOutputStimulationSet(); + const CStimulationSet* stimSet = m_decoder.getOutputStimulationSet(); - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) + for (size_t j = 0; j < stimSet->size(); ++j) { - const uint64_t stim = stimSet->getStimulationIdentifier(j); + const uint64_t stim = stimSet->getId(j); if (stim == m_playTrigger) { playSound(); @@ -145,7 +145,7 @@ bool CBoxAlgorithmOpenALSoundPlayer::process() } // n.b. TCP Tagging should be used instead of this socket output. This code is kept for backwards compatibility. - IStimulationSet* oStimSet = m_encoder.getInputStimulationSet(); + CStimulationSet* oStimSet = m_encoder.getInputStimulationSet(); oStimSet->clear(); ALint status; @@ -153,13 +153,13 @@ bool CBoxAlgorithmOpenALSoundPlayer::process() // CASE : the sound has stopped, and we need to send the stimulation if (status == AL_STOPPED && !m_endOfSoundSent) { - oStimSet->appendStimulation(m_stopTrigger, this->getPlayerContext().getCurrentTime(), 0); + oStimSet->push_back(m_stopTrigger, this->getPlayerContext().getCurrentTime(), 0); m_endOfSoundSent = true; } // CASE : the sound has started playing, and we need to send the stimulation if (status == AL_PLAYING && !m_startOfSoundSent) { - oStimSet->appendStimulation(m_playTrigger, this->getPlayerContext().getCurrentTime(), 0); + oStimSet->push_back(m_playTrigger, this->getPlayerContext().getCurrentTime(), 0); m_startOfSoundSent = true; } diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierStimulator.cpp b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierStimulator.cpp index fe26664053bbccd9070890fd7777a1249c8cdfd3..7f573ad75e4a35fa6739f7b5830eb906e8126d0e 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierStimulator.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300IdentifierStimulator.cpp @@ -107,7 +107,7 @@ bool CBoxAlgorithmP300IdentifierStimulator::processInput(const size_t /*index*/) { Kernel::TParameterHandler<const IMemoryBuffer*> ip_buffer( m_decoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - const Kernel::TParameterHandler<IStimulationSet*> op_pStimulationSet( + const Kernel::TParameterHandler<CStimulationSet*> op_pStimulationSet( m_decoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); ip_buffer = boxContext.getInputChunk(0, i); m_decoder->process(); @@ -116,12 +116,12 @@ bool CBoxAlgorithmP300IdentifierStimulator::processInput(const size_t /*index*/) if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - for (size_t j = 0; j < op_pStimulationSet->getStimulationCount(); ++j) + for (size_t j = 0; j < op_pStimulationSet->size(); ++j) { - if (op_pStimulationSet->getStimulationIdentifier(j) == m_startStimulation) + if (op_pStimulationSet->getId(j) == m_startStimulation) { this->getLogManager() << Kernel::LogLevel_Trace << "Start\n"; - m_trialStartTime = op_pStimulationSet->getStimulationDate(j) + m_interTrialDuration; + m_trialStartTime = op_pStimulationSet->getDate(j) + m_interTrialDuration; m_startReceived = true; } } @@ -139,7 +139,7 @@ bool CBoxAlgorithmP300IdentifierStimulator::processInput(const size_t /*index*/) { Kernel::TParameterHandler<const IMemoryBuffer*> ip_buffer( m_targetDecoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - const Kernel::TParameterHandler<IStimulationSet*> op_stimSet( + const Kernel::TParameterHandler<CStimulationSet*> op_stimSet( m_targetDecoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); ip_buffer = boxContext.getInputChunk(1, i); m_targetDecoder->process(); @@ -148,9 +148,9 @@ bool CBoxAlgorithmP300IdentifierStimulator::processInput(const size_t /*index*/) if (m_targetDecoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - for (size_t j = 0; j < op_stimSet->getStimulationCount(); ++j) + for (size_t j = 0; j < op_stimSet->size(); ++j) { - const uint64_t stimulationIdx = op_stimSet->getStimulationIdentifier(j) - m_stimulationBase; + const uint64_t stimulationIdx = op_stimSet->getId(j) - m_stimulationBase; if (stimulationIdx < m_nImages) { m_targetNum = int64_t(stimulationIdx); @@ -239,7 +239,7 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() { //case of the older state was a flash case EStates::Flash: - stimSet.appendStimulation(OVTK_StimulationId_VisualStimulationStop, time, 0); + stimSet.push_back(OVTK_StimulationId_VisualStimulationStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_VisualStimulationStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; break; @@ -251,29 +251,29 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() case EStates::RepetitionRest: if (state != EStates::TrialRest && state != EStates::None) { - stimSet.appendStimulation(OVTK_StimulationId_SegmentStart, time, 0); + stimSet.push_back(OVTK_StimulationId_SegmentStart, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStart\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; } break; //case of the older state was inter-Trial case EStates::TrialRest: - stimSet.appendStimulation(OVTK_StimulationId_RestStop, time, 0); + stimSet.push_back(OVTK_StimulationId_RestStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_RestStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; - stimSet.appendStimulation(OVTK_StimulationId_TrialStart, time, 0); + stimSet.push_back(OVTK_StimulationId_TrialStart, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_TrialStart\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; - stimSet.appendStimulation(OVTK_StimulationId_SegmentStart, time, 0); + stimSet.push_back(OVTK_StimulationId_SegmentStart, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStart\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; break; //case of the older state was a None state case EStates::None: - stimSet.appendStimulation(OVTK_StimulationId_ExperimentStart, time, 0); + stimSet.push_back(OVTK_StimulationId_ExperimentStart, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_ExperimentStart\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; break; @@ -287,11 +287,11 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() { //case of the new state is a flash case EStates::Flash: - stimSet.appendStimulation(m_stimulationBase + m_images[flashIndex], time, 0); + stimSet.push_back(m_stimulationBase + m_images[flashIndex], time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_LabelId(x)\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; - stimSet.appendStimulation(OVTK_StimulationId_VisualStimulationStart, time, 0); + stimSet.push_back(OVTK_StimulationId_VisualStimulationStart, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_VisualStimulationStart\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; break; @@ -300,7 +300,7 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() break; //case of the new state is a inter-repetition case EStates::RepetitionRest: - stimSet.appendStimulation(OVTK_StimulationId_SegmentStop, time, 0); + stimSet.push_back(OVTK_StimulationId_SegmentStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; @@ -313,16 +313,16 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() { if (m_lastState != EStates::RepetitionRest) { - stimSet.appendStimulation(OVTK_StimulationId_SegmentStop, time, 0); + stimSet.push_back(OVTK_StimulationId_SegmentStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; } - stimSet.appendStimulation(OVTK_StimulationId_TrialStop, time, 0); + stimSet.push_back(OVTK_StimulationId_TrialStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_TrialStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; } - stimSet.appendStimulation(OVTK_StimulationId_RestStart, time, 0); + stimSet.push_back(OVTK_StimulationId_RestStart, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_RestStart\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; @@ -331,15 +331,15 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() case EStates::None: if (m_lastState != EStates::RepetitionRest) { - stimSet.appendStimulation(OVTK_StimulationId_SegmentStop, time, 0); + stimSet.push_back(OVTK_StimulationId_SegmentStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; } - stimSet.appendStimulation(OVTK_StimulationId_TrialStop, time, 0); + stimSet.push_back(OVTK_StimulationId_TrialStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_TrialStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; - stimSet.appendStimulation(OVTK_StimulationId_ExperimentStop, time, 0); + stimSet.push_back(OVTK_StimulationId_ExperimentStop, time, 0); this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_ExperimentStop\n\t; Trial index:" << m_trialIdx << " Repetition index: " << m_repetIdx << "\n"; break; @@ -355,7 +355,7 @@ bool CBoxAlgorithmP300IdentifierStimulator::process() #endif } - Kernel::TParameterHandler<IStimulationSet*> ip_stimSet(m_encoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); + Kernel::TParameterHandler<CStimulationSet*> ip_stimSet(m_encoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); Kernel::TParameterHandler<IMemoryBuffer*> op_buffer( m_encoder->getOutputParameter(OVP_GD_Algorithm_StimulationEncoder_OutputParameterId_EncodedMemoryBuffer)); ip_stimSet = &stimSet; diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300SpellerStimulator.cpp b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300SpellerStimulator.cpp index f9aef73bedf83bff3b53d8695d3814d90bb32978..305cb9856dc523e7fb811509c865df87529db826 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300SpellerStimulator.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmP300SpellerStimulator.cpp @@ -130,7 +130,7 @@ bool CBoxAlgorithmP300SpellerStimulator::processInput(const size_t /*index*/) { Kernel::TParameterHandler<const IMemoryBuffer*> ip_buffer( m_decoder->getInputParameter(OVP_GD_Algorithm_StimulationDecoder_InputParameterId_MemoryBufferToDecode)); - const Kernel::TParameterHandler<IStimulationSet*> op_stimSet( + const Kernel::TParameterHandler<CStimulationSet*> op_stimSet( m_decoder->getOutputParameter(OVP_GD_Algorithm_StimulationDecoder_OutputParameterId_StimulationSet)); ip_buffer = boxContext.getInputChunk(0, i); m_decoder->process(); @@ -138,11 +138,11 @@ bool CBoxAlgorithmP300SpellerStimulator::processInput(const size_t /*index*/) if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedHeader)) { } if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - for (size_t j = 0; j < op_stimSet->getStimulationCount(); ++j) + for (size_t j = 0; j < op_stimSet->size(); ++j) { - if (op_stimSet->getStimulationIdentifier(j) == m_startStimulation) + if (op_stimSet->getId(j) == m_startStimulation) { - m_trialStartTime = op_stimSet->getStimulationDate(j) + m_interTrialDuration; + m_trialStartTime = op_stimSet->getDate(j) + m_interTrialDuration; m_startReceived = true; } } @@ -233,7 +233,7 @@ bool CBoxAlgorithmP300SpellerStimulator::process() switch (m_lastState) { case EStates::Flash: - stimulationSet.appendStimulation(OVTK_StimulationId_VisualStimulationStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_VisualStimulationStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_VisualStimulationStop\n"; break; @@ -243,7 +243,7 @@ bool CBoxAlgorithmP300SpellerStimulator::process() case EStates::RepetitionRest: if (state != EStates::TrialRest && state != EStates::None) { - stimulationSet.appendStimulation(OVTK_StimulationId_SegmentStart, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_SegmentStart, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStart\n"; } break; @@ -251,11 +251,11 @@ bool CBoxAlgorithmP300SpellerStimulator::process() case EStates::TrialRest: if (m_trialIdx <= m_nTrial) { - stimulationSet.appendStimulation(OVTK_StimulationId_RestStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_RestStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_RestStop\n"; - stimulationSet.appendStimulation(OVTK_StimulationId_TrialStart, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_TrialStart, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_TrialStart\n"; - stimulationSet.appendStimulation(OVTK_StimulationId_SegmentStart, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_SegmentStart, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStart\n"; } break; @@ -263,7 +263,7 @@ bool CBoxAlgorithmP300SpellerStimulator::process() case EStates::None: if (m_trialIdx <= m_nTrial) { - stimulationSet.appendStimulation(OVTK_StimulationId_ExperimentStart, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_ExperimentStart, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_ExperimentStart\n"; } break; @@ -275,9 +275,9 @@ bool CBoxAlgorithmP300SpellerStimulator::process() switch (state) { case EStates::Flash: - stimulationSet.appendStimulation(bRow ? m_rowStimulationBase + row : m_columnStimulationBase + col, currentTime, 0); + stimulationSet.push_back(bRow ? m_rowStimulationBase + row : m_columnStimulationBase + col, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_LabelId(x)\n"; - stimulationSet.appendStimulation(OVTK_StimulationId_VisualStimulationStart, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_VisualStimulationStart, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_VisualStimulationStart\n"; break; @@ -285,7 +285,7 @@ bool CBoxAlgorithmP300SpellerStimulator::process() break; case EStates::RepetitionRest: - stimulationSet.appendStimulation(OVTK_StimulationId_SegmentStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_SegmentStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStop\n"; this->generateSequence(); break; @@ -295,15 +295,15 @@ bool CBoxAlgorithmP300SpellerStimulator::process() { if (m_lastState != EStates::RepetitionRest) { - stimulationSet.appendStimulation(OVTK_StimulationId_SegmentStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_SegmentStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStop\n"; } - stimulationSet.appendStimulation(OVTK_StimulationId_TrialStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_TrialStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_TrialStop\n"; } if (m_trialIdx <= m_nTrial) { - stimulationSet.appendStimulation(OVTK_StimulationId_RestStart, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_RestStart, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_RestStart\n"; } break; @@ -311,15 +311,15 @@ bool CBoxAlgorithmP300SpellerStimulator::process() case EStates::None: if (m_lastState != EStates::RepetitionRest) { - stimulationSet.appendStimulation(OVTK_StimulationId_SegmentStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_SegmentStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_SegmentStop\n"; } - stimulationSet.appendStimulation(OVTK_StimulationId_TrialStop, currentTime, 0); + stimulationSet.push_back(OVTK_StimulationId_TrialStop, currentTime, 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_TrialStop\n"; break; case EStates::ExperimentStop: // The experiment stop is sent with some delay to allow the last flash / letter to be processed gracefully by the DSP later - stimulationSet.appendStimulation(OVTK_StimulationId_ExperimentStop, currentTime + CTime(3.0).time(), 0); + stimulationSet.push_back(OVTK_StimulationId_ExperimentStop, currentTime + CTime(3.0).time(), 0); //this->getLogManager() << Kernel::LogLevel_Trace << "sends OVTK_StimulationId_ExperimentStop\n"; break; @@ -330,7 +330,7 @@ bool CBoxAlgorithmP300SpellerStimulator::process() } } - Kernel::TParameterHandler<IStimulationSet*> ip_stimSet(m_encoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); + Kernel::TParameterHandler<CStimulationSet*> ip_stimSet(m_encoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); Kernel::TParameterHandler<IMemoryBuffer*> op_buffer( m_encoder->getOutputParameter(OVP_GD_Algorithm_StimulationEncoder_OutputParameterId_EncodedMemoryBuffer)); ip_stimSet = &stimulationSet; diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.cpp b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.cpp index 85469e1ee0afab7e87e4441700dbd3836400158b..4d00c102eb18fa24085b22551a731823eb126281 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.cpp @@ -49,10 +49,10 @@ bool CBoxAlgorithmRunCommand::process() if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedHeader)) { } if (m_decoder->isOutputTriggerActive(OVP_GD_Algorithm_StimulationDecoder_OutputTriggerId_ReceivedBuffer)) { - IStimulationSet* stimSet = op_stimSet; - for (size_t j = 0; j < stimSet->getStimulationCount(); ++j) + CStimulationSet* stimSet = op_stimSet; + for (size_t j = 0; j < stimSet->size(); ++j) { - uint64_t stimulationID = stimSet->getStimulationIdentifier(j); + uint64_t stimulationID = stimSet->getId(j); if (m_commands.find(stimulationID) != m_commands.end()) { std::vector<CString>& command = m_commands[stimulationID]; diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.h b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.h index 2dbecc2c957581b9279f0a8c56ddfebc7da267dc..ba3c5898895f55ca45e84099c89942130ac46385 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.h +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCBoxAlgorithmRunCommand.h @@ -29,7 +29,7 @@ protected: Kernel::IAlgorithmProxy* m_decoder = nullptr; Kernel::TParameterHandler<const IMemoryBuffer*> ip_buffer; - Kernel::TParameterHandler<IStimulationSet*> op_stimSet; + Kernel::TParameterHandler<CStimulationSet*> op_stimSet; std::map<uint64_t, std::vector<CString>> m_commands; }; diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCKeyboardStimulator.cpp b/plugins/processing/stimulation/src/box-algorithms/ovpCKeyboardStimulator.cpp index be4fd653f4bb9ad345919ea9c10d829e648a7480..557a2337535791ca5abd7499894542c02ba9ffea 100644 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCKeyboardStimulator.cpp +++ b/plugins/processing/stimulation/src/box-algorithms/ovpCKeyboardStimulator.cpp @@ -207,10 +207,10 @@ bool CKeyboardStimulator::processClock(Kernel::CMessageClock& msg) { Kernel::IBoxIO* boxIO = getBoxAlgorithmContext()->getDynamicBoxContext(); - IStimulationSet* stimulationSet = m_encoder.getInputStimulationSet(); + CStimulationSet* stimulationSet = m_encoder.getInputStimulationSet(); stimulationSet->clear(); // The encoder may retain the buffer from the previous round, clear it - for (size_t i = 0; i < m_stimulationToSend.size(); ++i) { stimulationSet->appendStimulation(m_stimulationToSend[i], currentTime, 0); } + for (size_t i = 0; i < m_stimulationToSend.size(); ++i) { stimulationSet->push_back(m_stimulationToSend[i], currentTime, 0); } m_stimulationToSend.clear(); m_encoder.encodeBuffer(); diff --git a/plugins/processing/stimulation/src/box-algorithms/ovpCSignChangeDetector.h b/plugins/processing/stimulation/src/box-algorithms/ovpCSignChangeDetector.h deleted file mode 100644 index eb2cde70ae42756b57255d9523ceba6305fbfc8e..0000000000000000000000000000000000000000 --- a/plugins/processing/stimulation/src/box-algorithms/ovpCSignChangeDetector.h +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include "../ovp_defines.h" -#include <openvibe/ov_all.h> -#include <toolkit/ovtk_all.h> - -namespace OpenViBE { -namespace Plugins { -namespace Stimulation { -class CSignChangeDetector final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm> -{ -public: - - void release() override { delete this; } - - bool initialize() override; - bool uninitialize() override; - bool processInput(const size_t index) override; - bool process() override; - - _IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_SignChangeDetector) - -protected: - - Toolkit::TStreamedMatrixDecoder<CSignChangeDetector> m_decoder; - Toolkit::TStimulationEncoder<CSignChangeDetector> m_encoder; - - uint64_t m_onStimId = 0; - uint64_t m_offStimId = 0; - uint64_t m_channelIdx = 0; - uint64_t m_samplesPerChannel = 0; - double m_lastSample = 0; - bool m_firstSample = false; -}; - -class CSignChangeDetectorDesc final : virtual public IBoxAlgorithmDesc -{ -public: - - void release() override { } - - CString getName() const override { return CString("Sign Change Detector"); } - CString getAuthorName() const override { return CString("Joan Fruitet and Jozef Legeny"); } - CString getAuthorCompanyName() const override { return CString("Inria Sophia"); } - CString getShortDescription() const override { return CString("Detects the change of input's sign"); } - - CString getDetailedDescription() const override - { - return CString("Triggers a stimulation when one of the input's sign changes (input gets positive or negative"); - } - - CString getCategory() const override { return CString("Stimulation"); } - CString getVersion() const override { return CString("1.2"); } - CString getStockItemName() const override { return CString("gtk-missing-image"); } - - CIdentifier getCreatedClass() const override { return OVP_ClassId_SignChangeDetector; } - IPluginObject* create() override { return new CSignChangeDetector; } - - bool getBoxPrototype(Kernel::IBoxProto& prototype) const override - { - prototype.addInput("Signal", OV_TypeId_StreamedMatrix); - prototype.addOutput("Generated stimulations", OV_TypeId_Stimulations); - prototype.addSetting("Sign switch to positive stimulation", OV_TypeId_Stimulation, "OVTK_StimulationId_Label_01"); - prototype.addSetting("Sign switch to negative stimulation", OV_TypeId_Stimulation, "OVTK_StimulationId_Label_00"); - prototype.addSetting("Channel Index", OV_TypeId_Integer, "1"); - return true; - } - - _IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_SignChangeDetectorDesc) -}; -} // namespace Stimulation -} // namespace Plugins -} // namespace OpenViBE diff --git a/plugins/processing/stimulation/src/ovp_defines.h b/plugins/processing/stimulation/src/ovp_defines.h index ef07071343753dba5dd29513ad6a600766c4d450..f085b9e55fb2d043ec3313bd0b816fce72fec650 100755 --- a/plugins/processing/stimulation/src/ovp_defines.h +++ b/plugins/processing/stimulation/src/ovp_defines.h @@ -12,8 +12,8 @@ #define OVP_ClassId_KeyboardStimulatorDesc OpenViBE::CIdentifier(0x00E51ACD, 0x284CA2CF) #define OVP_ClassId_BoxAlgorithm_P300IdentifierStimulator OpenViBE::CIdentifier(0x00F27FDB, 0x8203D1A5) #define OVP_ClassId_BoxAlgorithm_P300IdentifierStimulatorDesc OpenViBE::CIdentifier(0x000F20CA, 0x2A4EA9C3) -#define OVP_ClassId_SignChangeDetector OpenViBE::CIdentifier(0x04FA78CD, 0xAFE45DE7) -#define OVP_ClassId_SignChangeDetectorDesc OpenViBE::CIdentifier(0x798ACD86, 0xEF1287A4) +#define ClassId_Box_ThresholdCrossingDetector OpenViBE::CIdentifier(0x04FA78CD, 0xAFE45DE7) +#define ClassId_Box_ThresholdCrossingDetectorDesc OpenViBE::CIdentifier(0x798ACD86, 0xEF1287A4) #define OVP_ClassId_BoxAlgorithm_StimulationFilter OpenViBE::CIdentifier(0x02F96101, 0x5E647CB8) #define OVP_ClassId_BoxAlgorithm_StimulationFilterDesc OpenViBE::CIdentifier(0x4D2A23FC, 0x28191E18) #define OVP_ClassId_BoxAlgorithm_LuaStimulator OpenViBE::CIdentifier(0x0B5A2787, 0x02750621) diff --git a/plugins/processing/stimulation/src/ovp_main.cpp b/plugins/processing/stimulation/src/ovp_main.cpp index ae61a471c5f6bf7b5d5abf6c3058bb472d70d991..bb5d5cdcae690f0ad0bcada3c47b01745f9bdc6d 100755 --- a/plugins/processing/stimulation/src/ovp_main.cpp +++ b/plugins/processing/stimulation/src/ovp_main.cpp @@ -1,7 +1,7 @@ #include "ovp_defines.h" #include "box-algorithms/ovpCKeyboardStimulator.h" -#include "box-algorithms/ovpCSignChangeDetector.h" +#include "box-algorithms/CBoxAlgorithmThresholdCrossingDetector.hpp" #include "box-algorithms/ovpCBoxAlgorithmRunCommand.h" #if defined TARGET_HAS_ThirdPartyLua @@ -32,7 +32,7 @@ OVP_Declare_Begin() OVP_Declare_New(CKeyboardStimulatorDesc); #endif - OVP_Declare_New(CSignChangeDetectorDesc); + OVP_Declare_New(CBoxAlgorithmThresholdCrossingDetectorDesc); OVP_Declare_New(CBoxAlgorithmRunCommandDesc); #if defined TARGET_HAS_ThirdPartyLua diff --git a/plugins/processing/stimulation/test/DartTestfile.txt b/plugins/processing/stimulation/test/DartTestfile.txt index c856f016bd7cf1f136eda105edf8599e31936e28..83ac4d28788387016ea312969bb786c9818e798c 100644 --- a/plugins/processing/stimulation/test/DartTestfile.txt +++ b/plugins/processing/stimulation/test/DartTestfile.txt @@ -52,3 +52,16 @@ ADD_TEST(exist_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "md5sum" "${TEST_NAME}.txt") SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_LOGFILE}) SET_TESTS_PROPERTIES(exist_${TEST_NAME} PROPERTIES DEPENDS run_${TEST_NAME}}) SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES DEPENDS clean_${TEST_NAME}}) + + +############ +SET(TEST_NAME Threshold-Crossing-Detector) + +ADD_TEST(clean_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "remove" "-f" "${TEST_NAME}-output.csv") +ADD_TEST(run_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--no-session-management" "--invisible" "--play-fast" "${TEST_NAME}-test.xml") +ADD_TEST(compare_${TEST_NAME} "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${TEST_NAME}-output.csv" "${TEST_NAME}-ref.csv" 0.01) + +SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_CONFIG_SUBDIR}) +SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL "${TEST_NAME}-output.csv") +SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES DEPENDS run_${TEST_NAME}) +SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES DEPENDS clean_${TEST_NAME}) \ No newline at end of file diff --git a/plugins/processing/stimulation/test/Threshold-Crossing-Detector-ref.csv b/plugins/processing/stimulation/test/Threshold-Crossing-Detector-ref.csv new file mode 100644 index 0000000000000000000000000000000000000000..79dcbe36e01b96f9acf6418caad18a499c6ca5a8 --- /dev/null +++ b/plugins/processing/stimulation/test/Threshold-Crossing-Detector-ref.csv @@ -0,0 +1,3617 @@ +Time:512Hz,Epoch,Time signal,Event Id,Event Date,Event Duration +0.0000000000,0,0.0000000000,,, +0.0019531250,0,0.0019531238,,, +0.0039062500,0,0.0039062401,,, +0.0058593750,0,0.0058593415,,, +0.0078125000,0,0.0078124205,,, +0.0097656250,0,0.0097654698,,, +0.0117187500,0,0.0117184818,,, +0.0136718750,0,0.0136714491,,, +0.0156250000,0,0.0156243642,,, +0.0175781250,0,0.0175772198,,, +0.0195312500,0,0.0195300083,,, +0.0214843750,0,0.0214827223,,, +0.0234375000,0,0.0234353543,,, +0.0253906250,0,0.0253878969,,, +0.0273437500,0,0.0273403427,,, +0.0292968750,0,0.0292926842,,, +0.0312500000,0,0.0312449140,,, +0.0332031250,0,0.0331970246,,, +0.0351562500,0,0.0351490085,,, +0.0371093750,0,0.0371008583,,, +0.0390625000,0,0.0390525667,,, +0.0410156250,0,0.0410041260,,, +0.0429687500,0,0.0429555289,,, +0.0449218750,0,0.0449067680,,, +0.0468750000,0,0.0468578357,,, +0.0488281250,0,0.0488087248,,, +0.0507812500,0,0.0507594276,,, +0.0527343750,0,0.0527099368,,, +0.0546875000,0,0.0546602449,,, +0.0566406250,0,0.0566103445,,, +0.0585937500,0,0.0585602281,,, +0.0605468750,0,0.0605098884,,, +0.0625000000,1,0.0624593178,,, +0.0644531250,1,0.0644085090,,, +0.0664062500,1,0.0663574545,,, +0.0683593750,1,0.0683061468,,, +0.0703125000,1,0.0702545786,,, +0.0722656250,1,0.0722027424,,, +0.0742187500,1,0.0741506307,,, +0.0761718750,1,0.0760982362,,, +0.0781250000,1,0.0780455514,,, +0.0800781250,1,0.0799925689,,, +0.0820312500,1,0.0819392812,,, +0.0839843750,1,0.0838856809,,, +0.0859375000,1,0.0858317607,,, +0.0878906250,1,0.0877775130,,, +0.0898437500,1,0.0897229305,,, +0.0917968750,1,0.0916680057,,, +0.0937500000,1,0.0936127312,,, +0.0957031250,1,0.0955570997,,, +0.0976562500,1,0.0975011036,,, +0.0996093750,1,0.0994447355,,, +0.1015625000,1,0.1013879882,,, +0.1035156250,1,0.1033308540,,, +0.1054687500,1,0.1052733257,,, +0.1074218750,1,0.1072153958,,, +0.1093750000,1,0.1091570569,,, +0.1113281250,1,0.1110983016,,, +0.1132812500,1,0.1130391225,,, +0.1152343750,1,0.1149795121,,, +0.1171875000,1,0.1169194632,,, +0.1191406250,1,0.1188589683,,, +0.1210937500,1,0.1207980199,,, +0.1230468750,1,0.1227366108,,, +0.1250000000,2,0.1246747334,,, +0.1269531250,2,0.1266123804,,, +0.1289062500,2,0.1285495445,,, +0.1308593750,2,0.1304862181,,, +0.1328125000,2,0.1324223941,,, +0.1347656250,2,0.1343580648,,, +0.1367187500,2,0.1362932230,,, +0.1386718750,2,0.1382278613,,, +0.1406250000,2,0.1401619723,,, +0.1425781250,2,0.1420955487,,, +0.1445312500,2,0.1440285830,,, +0.1464843750,2,0.1459610678,,, +0.1484375000,2,0.1478929959,,, +0.1503906250,2,0.1498243598,,, +0.1523437500,2,0.1517551521,,, +0.1542968750,2,0.1536853656,,, +0.1562500000,2,0.1556149928,,, +0.1582031250,2,0.1575440263,,, +0.1601562500,2,0.1594724589,,, +0.1621093750,2,0.1614002832,,, +0.1640625000,2,0.1633274917,,, +0.1660156250,2,0.1652540772,,, +0.1679687500,2,0.1671800324,,, +0.1699218750,2,0.1691053497,,, +0.1718750000,2,0.1710300220,,, +0.1738281250,2,0.1729540419,,, +0.1757812500,2,0.1748774020,,, +0.1777343750,2,0.1768000950,,, +0.1796875000,2,0.1787221135,,, +0.1816406250,2,0.1806434503,,, +0.1835937500,2,0.1825640980,,, +0.1855468750,2,0.1844840493,,, +0.1875000000,3,0.1864032968,,, +0.1894531250,3,0.1883218332,,, +0.1914062500,3,0.1902396512,,, +0.1933593750,3,0.1921567436,,, +0.1953125000,3,0.1940731029,,, +0.1972656250,3,0.1959887219,,, +0.1992187500,3,0.1979035932,,, +0.2011718750,3,0.1998177096,,, +0.2031250000,3,0.2017310638,,, +0.2050781250,3,0.2036436484,,, +0.2070312500,3,0.2055554562,,, +0.2089843750,3,0.2074664799,,, +0.2109375000,3,0.2093767121,,, +0.2128906250,3,0.2112861456,,, +0.2148437500,3,0.2131947731,,, +0.2167968750,3,0.2151025874,,, +0.2187500000,3,0.2170095811,,, +0.2207031250,3,0.2189157470,,, +0.2226562500,3,0.2208210778,,, +0.2246093750,3,0.2227255662,,, +0.2265625000,3,0.2246292050,,, +0.2285156250,3,0.2265319869,,, +0.2304687500,3,0.2284339046,,, +0.2324218750,3,0.2303349509,,, +0.2343750000,3,0.2322351186,,, +0.2363281250,3,0.2341344004,,, +0.2382812500,3,0.2360327890,,, +0.2402343750,3,0.2379302772,,, +0.2421875000,3,0.2398268578,,, +0.2441406250,3,0.2417225236,,, +0.2460937500,3,0.2436172672,,, +0.2480468750,3,0.2455110815,,, +0.2500000000,4,0.2474039593,,, +0.2519531250,4,0.2492958932,,, +0.2539062500,4,0.2511868762,,, +0.2558593750,4,0.2530769010,,, +0.2578125000,4,0.2549659604,,, +0.2597656250,4,0.2568540472,,, +0.2617187500,4,0.2587411541,,, +0.2636718750,4,0.2606272741,,, +0.2656250000,4,0.2625123998,,, +0.2675781250,4,0.2643965241,,, +0.2695312500,4,0.2662796398,,, +0.2714843750,4,0.2681617397,,, +0.2734375000,4,0.2700428167,,, +0.2753906250,4,0.2719228636,,, +0.2773437500,4,0.2738018731,,, +0.2792968750,4,0.2756798382,,, +0.2812500000,4,0.2775567516,,, +0.2832031250,4,0.2794326063,,, +0.2851562500,4,0.2813073950,,, +0.2871093750,4,0.2831811106,,, +0.2890625000,4,0.2850537459,,, +0.2910156250,4,0.2869252939,,, +0.2929687500,4,0.2887957473,,, +0.2949218750,4,0.2906650991,,, +0.2968750000,4,0.2925333420,,, +0.2988281250,4,0.2944004691,,, +0.3007812500,4,0.2962664730,,, +0.3027343750,4,0.2981313468,,, +0.3046875000,4,0.2999950834,,, +0.3066406250,4,0.3018576755,,, +0.3085937500,4,0.3037191162,,, +0.3105468750,4,0.3055793982,,, +0.3125000000,5,0.3074385146,,, +0.3144531250,5,0.3092964582,,, +0.3164062500,5,0.3111532219,,, +0.3183593750,5,0.3130087986,,, +0.3203125000,5,0.3148631813,,, +0.3222656250,5,0.3167163629,,, +0.3242187500,5,0.3185683364,,, +0.3261718750,5,0.3204190945,,, +0.3281250000,5,0.3222686304,,, +0.3300781250,5,0.3241169370,,, +0.3320312500,5,0.3259640071,,, +0.3339843750,5,0.3278098338,,, +0.3359375000,5,0.3296544099,,, +0.3378906250,5,0.3314977286,,, +0.3398437500,5,0.3333397827,,, +0.3417968750,5,0.3351805651,,, +0.3437500000,5,0.3370200690,,, +0.3457031250,5,0.3388582873,,, +0.3476562500,5,0.3406952129,,, +0.3496093750,5,0.3425308388,,, +0.3515625000,5,0.3443651581,,, +0.3535156250,5,0.3461981638,,, +0.3554687500,5,0.3480298488,,, +0.3574218750,5,0.3498602062,,, +0.3593750000,5,0.3516892290,,, +0.3613281250,5,0.3535169102,,, +0.3632812500,5,0.3553432428,,, +0.3652343750,5,0.3571682199,,, +0.3671875000,5,0.3589918345,,, +0.3691406250,5,0.3608140797,,, +0.3710937500,5,0.3626349485,,, +0.3730468750,5,0.3644544339,,, +0.3750000000,6,0.3662725291,,, +0.3769531250,6,0.3680892270,,, +0.3789062500,6,0.3699045208,,, +0.3808593750,6,0.3717184035,,, +0.3828125000,6,0.3735308682,,, +0.3847656250,6,0.3753419081,,, +0.3867187500,6,0.3771515160,,, +0.3886718750,6,0.3789596853,,, +0.3906250000,6,0.3807664090,,, +0.3925781250,6,0.3825716801,,, +0.3945312500,6,0.3843754919,,, +0.3964843750,6,0.3861778374,,, +0.3984375000,6,0.3879787097,,, +0.4003906250,6,0.3897781020,,, +0.4023437500,6,0.3915760075,,, +0.4042968750,6,0.3933724192,,, +0.4062500000,6,0.3951673302,,, +0.4082031250,6,0.3969607339,,, +0.4101562500,6,0.3987526232,,, +0.4121093750,6,0.4005429915,,, +0.4140625000,6,0.4023318318,,, +0.4160156250,6,0.4041191373,,, +0.4179687500,6,0.4059049012,,, +0.4199218750,6,0.4076891167,,, +0.4218750000,6,0.4094717771,,, +0.4238281250,6,0.4112528754,,, +0.4257812500,6,0.4130324049,,, +0.4277343750,6,0.4148103588,,, +0.4296875000,6,0.4165867303,,, +0.4316406250,6,0.4183615127,,, +0.4335937500,6,0.4201346991,,, +0.4355468750,6,0.4219062829,,, +0.4375000000,7,0.4236762572,,, +0.4394531250,7,0.4254446153,,, +0.4414062500,7,0.4272113505,,, +0.4433593750,7,0.4289764560,,, +0.4453125000,7,0.4307399251,,, +0.4472656250,7,0.4325017511,,, +0.4492187500,7,0.4342619271,,, +0.4511718750,7,0.4360204467,,, +0.4531250000,7,0.4377773029,,, +0.4550781250,7,0.4395324891,,, +0.4570312500,7,0.4412859987,,, +0.4589843750,7,0.4430378248,,, +0.4609375000,7,0.4447879610,,, +0.4628906250,7,0.4465364004,,, +0.4648437500,7,0.4482831364,,, +0.4667968750,7,0.4500281623,,, +0.4687500000,7,0.4517714715,,, +0.4707031250,7,0.4535130573,,, +0.4726562500,7,0.4552529132,,, +0.4746093750,7,0.4569910323,,, +0.4765625000,7,0.4587274082,,, +0.4785156250,7,0.4604620342,,, +0.4804687500,7,0.4621949037,,, +0.4824218750,7,0.4639260100,,, +0.4843750000,7,0.4656553466,,, +0.4863281250,7,0.4673829068,,, +0.4882812500,7,0.4691086842,,, +0.4902343750,7,0.4708326720,,, +0.4921875000,7,0.4725548638,,, +0.4941406250,7,0.4742752528,,, +0.4960937500,7,0.4759938327,,, +0.4980468750,7,0.4777105968,,, +0.5000000000,8,0.4794255386,,, +0.5019531250,8,0.4811386515,,, +0.5039062500,8,0.4828499290,,, +0.5058593750,8,0.4845593646,,, +0.5078125000,8,0.4862669518,,, +0.5097656250,8,0.4879726840,,, +0.5117187500,8,0.4896765547,,, +0.5136718750,8,0.4913785575,,, +0.5156250000,8,0.4930786858,,, +0.5175781250,8,0.4947769331,,, +0.5195312500,8,0.4964732930,,, +0.5214843750,8,0.4981677591,,, +0.5234375000,8,0.4998603247,,, +0.5253906250,8,0.5015509836,33024,0.5253906250,0.0000000000 +0.5273437500,8,0.5032397292,,, +0.5292968750,8,0.5049265551,,, +0.5312500000,8,0.5066114548,,, +0.5332031250,8,0.5082944220,,, +0.5351562500,8,0.5099754502,,, +0.5371093750,8,0.5116545330,,, +0.5390625000,8,0.5133316639,,, +0.5410156250,8,0.5150068367,,, +0.5429687500,8,0.5166800449,,, +0.5449218750,8,0.5183512821,,, +0.5468750000,8,0.5200205420,,, +0.5488281250,8,0.5216878181,,, +0.5507812500,8,0.5233531041,,, +0.5527343750,8,0.5250163938,,, +0.5546875000,8,0.5266776806,,, +0.5566406250,8,0.5283369583,,, +0.5585937500,8,0.5299942206,,, +0.5605468750,8,0.5316494611,,, +0.5625000000,9,0.5333026735,,, +0.5644531250,9,0.5349538516,,, +0.5664062500,9,0.5366029889,,, +0.5683593750,9,0.5382500793,,, +0.5703125000,9,0.5398951164,,, +0.5722656250,9,0.5415380940,,, +0.5742187500,9,0.5431790058,,, +0.5761718750,9,0.5448178455,,, +0.5781250000,9,0.5464546069,,, +0.5800781250,9,0.5480892838,,, +0.5820312500,9,0.5497218698,,, +0.5839843750,9,0.5513523588,,, +0.5859375000,9,0.5529807446,,, +0.5878906250,9,0.5546070210,,, +0.5898437500,9,0.5562311816,,, +0.5917968750,9,0.5578532205,,, +0.5937500000,9,0.5594731312,,, +0.5957031250,9,0.5610909078,,, +0.5976562500,9,0.5627065440,,, +0.5996093750,9,0.5643200336,,, +0.6015625000,9,0.5659313705,,, +0.6035156250,9,0.5675405486,,, +0.6054687500,9,0.5691475616,,, +0.6074218750,9,0.5707524035,,, +0.6093750000,9,0.5723550682,,, +0.6113281250,9,0.5739555496,,, +0.6132812500,9,0.5755538414,,, +0.6152343750,9,0.5771499377,,, +0.6171875000,9,0.5787438324,,, +0.6191406250,9,0.5803355193,,, +0.6210937500,9,0.5819249924,,, +0.6230468750,9,0.5835122456,,, +0.6250000000,10,0.5850972729,,, +0.6269531250,10,0.5866800683,,, +0.6289062500,10,0.5882606256,,, +0.6308593750,10,0.5898389389,,, +0.6328125000,10,0.5914150022,,, +0.6347656250,10,0.5929888094,,, +0.6367187500,10,0.5945603545,,, +0.6386718750,10,0.5961296315,,, +0.6406250000,10,0.5976966345,,, +0.6425781250,10,0.5992613575,,, +0.6445312500,10,0.6008237945,,, +0.6464843750,10,0.6023839395,,, +0.6484375000,10,0.6039417866,,, +0.6503906250,10,0.6054973298,,, +0.6523437500,10,0.6070505632,,, +0.6542968750,10,0.6086014810,,, +0.6562500000,10,0.6101500771,,, +0.6582031250,10,0.6116963456,,, +0.6601562500,10,0.6132402808,,, +0.6621093750,10,0.6147818766,,, +0.6640625000,10,0.6163211272,,, +0.6660156250,10,0.6178580267,,, +0.6679687500,10,0.6193925693,,, +0.6699218750,10,0.6209247491,,, +0.6718750000,10,0.6224545602,,, +0.6738281250,10,0.6239819969,,, +0.6757812500,10,0.6255070533,,, +0.6777343750,10,0.6270297235,,, +0.6796875000,10,0.6285500018,,, +0.6816406250,10,0.6300678824,,, +0.6835937500,10,0.6315833595,,, +0.6855468750,10,0.6330964273,,, +0.6875000000,11,0.6346070800,,, +0.6894531250,11,0.6361153119,,, +0.6914062500,11,0.6376211172,,, +0.6933593750,11,0.6391244901,,, +0.6953125000,11,0.6406254250,,, +0.6972656250,11,0.6421239161,,, +0.6992187500,11,0.6436199577,,, +0.7011718750,11,0.6451135441,,, +0.7031250000,11,0.6466046696,,, +0.7050781250,11,0.6480933285,,, +0.7070312500,11,0.6495795151,,, +0.7089843750,11,0.6510632237,,, +0.7109375000,11,0.6525444487,,, +0.7128906250,11,0.6540231845,,, +0.7148437500,11,0.6554994254,,, +0.7167968750,11,0.6569731657,,, +0.7187500000,11,0.6584443999,,, +0.7207031250,11,0.6599131223,,, +0.7226562500,11,0.6613793274,,, +0.7246093750,11,0.6628430095,,, +0.7265625000,11,0.6643041630,,, +0.7285156250,11,0.6657627825,,, +0.7304687500,11,0.6672188622,,, +0.7324218750,11,0.6686723967,,, +0.7343750000,11,0.6701233805,,, +0.7363281250,11,0.6715718079,,, +0.7382812500,11,0.6730176735,,, +0.7402343750,11,0.6744609717,,, +0.7421875000,11,0.6759016970,,, +0.7441406250,11,0.6773398440,,, +0.7460937500,11,0.6787754072,,, +0.7480468750,11,0.6802083810,,, +0.7500000000,12,0.6816387600,,, +0.7519531250,12,0.6830665388,,, +0.7539062500,12,0.6844917119,,, +0.7558593750,12,0.6859142739,,, +0.7578125000,12,0.6873342193,,, +0.7597656250,12,0.6887515428,,, +0.7617187500,12,0.6901662388,,, +0.7636718750,12,0.6915783021,,, +0.7656250000,12,0.6929877272,,, +0.7675781250,12,0.6943945088,,, +0.7695312500,12,0.6957986415,,, +0.7714843750,12,0.6972001200,,, +0.7734375000,12,0.6985989388,,, +0.7753906250,12,0.6999950927,,, +0.7773437500,12,0.7013885763,,, +0.7792968750,12,0.7027793843,,, +0.7812500000,12,0.7041675115,,, +0.7832031250,12,0.7055529524,,, +0.7851562500,12,0.7069357019,,, +0.7871093750,12,0.7083157546,,, +0.7890625000,12,0.7096931054,,, +0.7910156250,12,0.7110677488,,, +0.7929687500,12,0.7124396798,,, +0.7949218750,12,0.7138088930,,, +0.7968750000,12,0.7151753833,,, +0.7988281250,12,0.7165391453,,, +0.8007812500,12,0.7179001740,,, +0.8027343750,12,0.7192584642,,, +0.8046875000,12,0.7206140105,,, +0.8066406250,12,0.7219668080,,, +0.8085937500,12,0.7233168514,,, +0.8105468750,12,0.7246641355,,, +0.8125000000,13,0.7260086553,,, +0.8144531250,13,0.7273504055,,, +0.8164062500,13,0.7286893812,,, +0.8183593750,13,0.7300255771,,, +0.8203125000,13,0.7313589882,,, +0.8222656250,13,0.7326896093,,, +0.8242187500,13,0.7340174355,,, +0.8261718750,13,0.7353424616,,, +0.8281250000,13,0.7366646827,,, +0.8300781250,13,0.7379840935,,, +0.8320312500,13,0.7393006892,,, +0.8339843750,13,0.7406144647,,, +0.8359375000,13,0.7419254149,,, +0.8378906250,13,0.7432335350,,, +0.8398437500,13,0.7445388198,,, +0.8417968750,13,0.7458412645,,, +0.8437500000,13,0.7471408639,,, +0.8457031250,13,0.7484376133,,, +0.8476562500,13,0.7497315076,,, +0.8496093750,13,0.7510225419,,, +0.8515625000,13,0.7523107113,,, +0.8535156250,13,0.7535960108,,, +0.8554687500,13,0.7548784357,,, +0.8574218750,13,0.7561579808,,, +0.8593750000,13,0.7574346415,,, +0.8613281250,13,0.7587084128,,, +0.8632812500,13,0.7599792898,,, +0.8652343750,13,0.7612472678,,, +0.8671875000,13,0.7625123418,,, +0.8691406250,13,0.7637745070,,, +0.8710937500,13,0.7650337587,,, +0.8730468750,13,0.7662900921,,, +0.8750000000,14,0.7675435022,,, +0.8769531250,14,0.7687939845,,, +0.8789062500,14,0.7700415340,,, +0.8808593750,14,0.7712861460,,, +0.8828125000,14,0.7725278158,,, +0.8847656250,14,0.7737665386,,, +0.8867187500,14,0.7750023098,,, +0.8886718750,14,0.7762351246,,, +0.8906250000,14,0.7774649782,,, +0.8925781250,14,0.7786918661,,, +0.8945312500,14,0.7799157835,,, +0.8964843750,14,0.7811367258,,, +0.8984375000,14,0.7823546882,,, +0.9003906250,14,0.7835696663,,, +0.9023437500,14,0.7847816552,,, +0.9042968750,14,0.7859906504,,, +0.9062500000,14,0.7871966473,,, +0.9082031250,14,0.7883996413,,, +0.9101562500,14,0.7895996278,,, +0.9121093750,14,0.7907966022,,, +0.9140625000,14,0.7919905600,,, +0.9160156250,14,0.7931814966,,, +0.9179687500,14,0.7943694074,,, +0.9199218750,14,0.7955542879,,, +0.9218750000,14,0.7967361336,,, +0.9238281250,14,0.7979149401,,, +0.9257812500,14,0.7990907027,,, +0.9277343750,14,0.8002634170,,, +0.9296875000,14,0.8014330786,,, +0.9316406250,14,0.8025996830,,, +0.9335937500,14,0.8037632257,,, +0.9355468750,14,0.8049237022,,, +0.9375000000,15,0.8060811083,,, +0.9394531250,15,0.8072354393,,, +0.9414062500,15,0.8083866911,,, +0.9433593750,15,0.8095348590,,, +0.9453125000,15,0.8106799389,,, +0.9472656250,15,0.8118219262,,, +0.9492187500,15,0.8129608167,,, +0.9511718750,15,0.8140966060,,, +0.9531250000,15,0.8152292897,,, +0.9550781250,15,0.8163588636,,, +0.9570312500,15,0.8174853234,,, +0.9589843750,15,0.8186086647,,, +0.9609375000,15,0.8197288832,,, +0.9628906250,15,0.8208459747,,, +0.9648437500,15,0.8219599350,,, +0.9667968750,15,0.8230707597,,, +0.9687500000,15,0.8241784447,,, +0.9707031250,15,0.8252829856,,, +0.9726562500,15,0.8263843784,,, +0.9746093750,15,0.8274826188,,, +0.9765625000,15,0.8285777025,,, +0.9785156250,15,0.8296696255,,, +0.9804687500,15,0.8307583836,,, +0.9824218750,15,0.8318439725,,, +0.9843750000,15,0.8329263883,,, +0.9863281250,15,0.8340056266,,, +0.9882812500,15,0.8350816835,,, +0.9902343750,15,0.8361545548,,, +0.9921875000,15,0.8372242365,,, +0.9941406250,15,0.8382907243,,, +0.9960937500,15,0.8393540144,,, +0.9980468750,15,0.8404141026,,, +1.0000000000,16,0.8414709848,,, +1.0019531250,16,0.8425246571,,, +1.0039062500,16,0.8435751154,,, +1.0058593750,16,0.8446223558,,, +1.0078125000,16,0.8456663741,,, +1.0097656250,16,0.8467071665,,, +1.0117187500,16,0.8477447290,,, +1.0136718750,16,0.8487790575,,, +1.0156250000,16,0.8498101483,,, +1.0175781250,16,0.8508379973,,, +1.0195312500,16,0.8518626006,,, +1.0214843750,16,0.8528839542,,, +1.0234375000,16,0.8539020544,,, +1.0253906250,16,0.8549168973,,, +1.0273437500,16,0.8559284788,,, +1.0292968750,16,0.8569367953,,, +1.0312500000,16,0.8579418428,,, +1.0332031250,16,0.8589436175,,, +1.0351562500,16,0.8599421157,,, +1.0371093750,16,0.8609373334,,, +1.0390625000,16,0.8619292668,,, +1.0410156250,16,0.8629179123,,, +1.0429687500,16,0.8639032660,,, +1.0449218750,16,0.8648853242,,, +1.0468750000,16,0.8658640831,,, +1.0488281250,16,0.8668395390,,, +1.0507812500,16,0.8678116882,,, +1.0527343750,16,0.8687805270,,, +1.0546875000,16,0.8697460516,,, +1.0566406250,16,0.8707082583,,, +1.0585937500,16,0.8716671436,,, +1.0605468750,16,0.8726227038,,, +1.0625000000,17,0.8735749352,,, +1.0644531250,17,0.8745238341,,, +1.0664062500,17,0.8754693970,,, +1.0683593750,17,0.8764116203,,, +1.0703125000,17,0.8773505003,,, +1.0722656250,17,0.8782860334,,, +1.0742187500,17,0.8792182162,,, +1.0761718750,17,0.8801470451,,, +1.0781250000,17,0.8810725164,,, +1.0800781250,17,0.8819946267,,, +1.0820312500,17,0.8829133725,,, +1.0839843750,17,0.8838287502,,, +1.0859375000,17,0.8847407564,,, +1.0878906250,17,0.8856493876,,, +1.0898437500,17,0.8865546403,,, +1.0917968750,17,0.8874565110,,, +1.0937500000,17,0.8883549964,,, +1.0957031250,17,0.8892500930,,, +1.0976562500,17,0.8901417974,,, +1.0996093750,17,0.8910301061,,, +1.1015625000,17,0.8919150158,,, +1.1035156250,17,0.8927965232,,, +1.1054687500,17,0.8936746247,,, +1.1074218750,17,0.8945493172,,, +1.1093750000,17,0.8954205973,,, +1.1113281250,17,0.8962884616,,, +1.1132812500,17,0.8971529069,,, +1.1152343750,17,0.8980139297,,, +1.1171875000,17,0.8988715269,,, +1.1191406250,17,0.8997256952,,, +1.1210937500,17,0.9005764314,,, +1.1230468750,17,0.9014237321,,, +1.1250000000,18,0.9022675941,,, +1.1269531250,18,0.9031080143,,, +1.1289062500,18,0.9039449893,,, +1.1308593750,18,0.9047785161,,, +1.1328125000,18,0.9056085915,,, +1.1347656250,18,0.9064352122,,, +1.1367187500,18,0.9072583752,,, +1.1386718750,18,0.9080780772,,, +1.1406250000,18,0.9088943152,,, +1.1425781250,18,0.9097070860,,, +1.1445312500,18,0.9105163866,,, +1.1464843750,18,0.9113222139,,, +1.1484375000,18,0.9121245647,,, +1.1503906250,18,0.9129234360,,, +1.1523437500,18,0.9137188248,,, +1.1542968750,18,0.9145107281,,, +1.1562500000,18,0.9152991428,,, +1.1582031250,18,0.9160840659,,, +1.1601562500,18,0.9168654944,,, +1.1621093750,18,0.9176434253,,, +1.1640625000,18,0.9184178557,,, +1.1660156250,18,0.9191887827,,, +1.1679687500,18,0.9199562032,,, +1.1699218750,18,0.9207201143,,, +1.1718750000,18,0.9214805132,,, +1.1738281250,18,0.9222373969,,, +1.1757812500,18,0.9229907626,,, +1.1777343750,18,0.9237406073,,, +1.1796875000,18,0.9244869283,,, +1.1816406250,18,0.9252297226,,, +1.1835937500,18,0.9259689874,,, +1.1855468750,18,0.9267047199,,, +1.1875000000,19,0.9274369174,,, +1.1894531250,19,0.9281655769,,, +1.1914062500,19,0.9288906958,,, +1.1933593750,19,0.9296122713,,, +1.1953125000,19,0.9303303005,,, +1.1972656250,19,0.9310447809,,, +1.1992187500,19,0.9317557096,,, +1.2011718750,19,0.9324630839,,, +1.2031250000,19,0.9331669011,,, +1.2050781250,19,0.9338671586,,, +1.2070312500,19,0.9345638537,,, +1.2089843750,19,0.9352569837,,, +1.2109375000,19,0.9359465460,,, +1.2128906250,19,0.9366325380,,, +1.2148437500,19,0.9373149569,,, +1.2167968750,19,0.9379938003,,, +1.2187500000,19,0.9386690656,,, +1.2207031250,19,0.9393407501,,, +1.2226562500,19,0.9400088513,,, +1.2246093750,19,0.9406733666,,, +1.2265625000,19,0.9413342936,,, +1.2285156250,19,0.9419916297,,, +1.2304687500,19,0.9426453723,,, +1.2324218750,19,0.9432955191,,, +1.2343750000,19,0.9439420674,,, +1.2363281250,19,0.9445850149,,, +1.2382812500,19,0.9452243591,,, +1.2402343750,19,0.9458600976,,, +1.2421875000,19,0.9464922279,,, +1.2441406250,19,0.9471207476,,, +1.2460937500,19,0.9477456543,,, +1.2480468750,19,0.9483669457,,, +1.2500000000,20,0.9489846194,,, +1.2519531250,20,0.9495986729,,, +1.2539062500,20,0.9502091040,,, +1.2558593750,20,0.9508159104,,, +1.2578125000,20,0.9514190897,,, +1.2597656250,20,0.9520186396,,, +1.2617187500,20,0.9526145579,,, +1.2636718750,20,0.9532068422,,, +1.2656250000,20,0.9537954903,,, +1.2675781250,20,0.9543805000,,, +1.2695312500,20,0.9549618690,,, +1.2714843750,20,0.9555395951,,, +1.2734375000,20,0.9561136762,,, +1.2753906250,20,0.9566841099,,, +1.2773437500,20,0.9572508942,,, +1.2792968750,20,0.9578140269,,, +1.2812500000,20,0.9583735058,,, +1.2832031250,20,0.9589293288,,, +1.2851562500,20,0.9594814937,,, +1.2871093750,20,0.9600299986,,, +1.2890625000,20,0.9605748412,,, +1.2910156250,20,0.9611160195,,, +1.2929687500,20,0.9616535314,,, +1.2949218750,20,0.9621873750,,, +1.2968750000,20,0.9627175481,,, +1.2988281250,20,0.9632440487,,, +1.3007812500,20,0.9637668748,,, +1.3027343750,20,0.9642860244,,, +1.3046875000,20,0.9648014956,,, +1.3066406250,20,0.9653132864,,, +1.3085937500,20,0.9658213948,,, +1.3105468750,20,0.9663258189,,, +1.3125000000,21,0.9668265567,,, +1.3144531250,21,0.9673236064,,, +1.3164062500,21,0.9678169660,,, +1.3183593750,21,0.9683066337,,, +1.3203125000,21,0.9687926076,,, +1.3222656250,21,0.9692748859,,, +1.3242187500,21,0.9697534667,,, +1.3261718750,21,0.9702283482,,, +1.3281250000,21,0.9706995285,,, +1.3300781250,21,0.9711670059,,, +1.3320312500,21,0.9716307786,,, +1.3339843750,21,0.9720908448,,, +1.3359375000,21,0.9725472028,,, +1.3378906250,21,0.9729998509,,, +1.3398437500,21,0.9734487872,,, +1.3417968750,21,0.9738940101,,, +1.3437500000,21,0.9743355179,,, +1.3457031250,21,0.9747733089,,, +1.3476562500,21,0.9752073815,,, +1.3496093750,21,0.9756377339,,, +1.3515625000,21,0.9760643646,,, +1.3535156250,21,0.9764872718,,, +1.3554687500,21,0.9769064541,,, +1.3574218750,21,0.9773219098,,, +1.3593750000,21,0.9777336373,,, +1.3613281250,21,0.9781416350,,, +1.3632812500,21,0.9785459014,,, +1.3652343750,21,0.9789464350,,, +1.3671875000,21,0.9793432342,,, +1.3691406250,21,0.9797362975,,, +1.3710937500,21,0.9801256234,,, +1.3730468750,21,0.9805112104,,, +1.3750000000,22,0.9808930570,,, +1.3769531250,22,0.9812711619,,, +1.3789062500,22,0.9816455235,,, +1.3808593750,22,0.9820161404,,, +1.3828125000,22,0.9823830112,,, +1.3847656250,22,0.9827461345,,, +1.3867187500,22,0.9831055090,,, +1.3886718750,22,0.9834611332,,, +1.3906250000,22,0.9838130058,,, +1.3925781250,22,0.9841611254,,, +1.3945312500,22,0.9845054908,,, +1.3964843750,22,0.9848461006,,, +1.3984375000,22,0.9851829535,,, +1.4003906250,22,0.9855160482,,, +1.4023437500,22,0.9858453835,,, +1.4042968750,22,0.9861709581,,, +1.4062500000,22,0.9864927707,,, +1.4082031250,22,0.9868108202,,, +1.4101562500,22,0.9871251053,,, +1.4121093750,22,0.9874356248,,, +1.4140625000,22,0.9877423775,,, +1.4160156250,22,0.9880453623,,, +1.4179687500,22,0.9883445780,,, +1.4199218750,22,0.9886400235,,, +1.4218750000,22,0.9889316976,,, +1.4238281250,22,0.9892195992,,, +1.4257812500,22,0.9895037273,,, +1.4277343750,22,0.9897840807,,, +1.4296875000,22,0.9900606584,,, +1.4316406250,22,0.9903334593,,, +1.4335937500,22,0.9906024823,,, +1.4355468750,22,0.9908677266,,, +1.4375000000,23,0.9911291910,,, +1.4394531250,23,0.9913868745,,, +1.4414062500,23,0.9916407761,,, +1.4433593750,23,0.9918908950,,, +1.4453125000,23,0.9921372301,,, +1.4472656250,23,0.9923797805,,, +1.4492187500,23,0.9926185453,,, +1.4511718750,23,0.9928535235,,, +1.4531250000,23,0.9930847144,,, +1.4550781250,23,0.9933121168,,, +1.4570312500,23,0.9935357301,,, +1.4589843750,23,0.9937555534,,, +1.4609375000,23,0.9939715858,,, +1.4628906250,23,0.9941838265,,, +1.4648437500,23,0.9943922747,,, +1.4667968750,23,0.9945969296,,, +1.4687500000,23,0.9947977904,,, +1.4707031250,23,0.9949948563,,, +1.4726562500,23,0.9951881266,,, +1.4746093750,23,0.9953776006,,, +1.4765625000,23,0.9955632776,,, +1.4785156250,23,0.9957451567,,, +1.4804687500,23,0.9959232374,,, +1.4824218750,23,0.9960975190,,, +1.4843750000,23,0.9962680008,,, +1.4863281250,23,0.9964346820,,, +1.4882812500,23,0.9965975622,,, +1.4902343750,23,0.9967566407,,, +1.4921875000,23,0.9969119169,,, +1.4941406250,23,0.9970633901,,, +1.4960937500,23,0.9972110598,,, +1.4980468750,23,0.9973549255,,, +1.5000000000,24,0.9974949866,,, +1.5019531250,24,0.9976312425,,, +1.5039062500,24,0.9977636928,,, +1.5058593750,24,0.9978923369,,, +1.5078125000,24,0.9980171744,,, +1.5097656250,24,0.9981382047,,, +1.5117187500,24,0.9982554275,,, +1.5136718750,24,0.9983688421,,, +1.5156250000,24,0.9984784484,,, +1.5175781250,24,0.9985842457,,, +1.5195312500,24,0.9986862337,,, +1.5214843750,24,0.9987844121,,, +1.5234375000,24,0.9988787803,,, +1.5253906250,24,0.9989693382,,, +1.5273437500,24,0.9990560853,,, +1.5292968750,24,0.9991390213,,, +1.5312500000,24,0.9992181459,,, +1.5332031250,24,0.9992934588,,, +1.5351562500,24,0.9993649597,,, +1.5371093750,24,0.9994326483,,, +1.5390625000,24,0.9994965244,,, +1.5410156250,24,0.9995565877,,, +1.5429687500,24,0.9996128380,,, +1.5449218750,24,0.9996652750,,, +1.5468750000,24,0.9997138987,,, +1.5488281250,24,0.9997587088,,, +1.5507812500,24,0.9997997050,,, +1.5527343750,24,0.9998368874,,, +1.5546875000,24,0.9998702557,,, +1.5566406250,24,0.9998998097,,, +1.5585937500,24,0.9999255495,,, +1.5605468750,24,0.9999474748,,, +1.5625000000,25,0.9999655857,,, +1.5644531250,25,0.9999798820,,, +1.5664062500,25,0.9999903636,,, +1.5683593750,25,0.9999970306,,, +1.5703125000,25,0.9999998830,,, +1.5722656250,25,0.9999989206,,, +1.5742187500,25,0.9999941435,,, +1.5761718750,25,0.9999855518,,, +1.5781250000,25,0.9999731454,,, +1.5800781250,25,0.9999569244,,, +1.5820312500,25,0.9999368889,,, +1.5839843750,25,0.9999130390,,, +1.5859375000,25,0.9998853746,,, +1.5878906250,25,0.9998538960,,, +1.5898437500,25,0.9998186033,,, +1.5917968750,25,0.9997794966,,, +1.5937500000,25,0.9997365760,,, +1.5957031250,25,0.9996898417,,, +1.5976562500,25,0.9996392939,,, +1.5996093750,25,0.9995849328,,, +1.6015625000,25,0.9995267586,,, +1.6035156250,25,0.9994647715,,, +1.6054687500,25,0.9993989718,,, +1.6074218750,25,0.9993293596,,, +1.6093750000,25,0.9992559353,,, +1.6113281250,25,0.9991786991,,, +1.6132812500,25,0.9990976514,,, +1.6152343750,25,0.9990127924,,, +1.6171875000,25,0.9989241225,,, +1.6191406250,25,0.9988316420,,, +1.6210937500,25,0.9987353513,,, +1.6230468750,25,0.9986352506,,, +1.6250000000,26,0.9985313405,,, +1.6269531250,26,0.9984236213,,, +1.6289062500,26,0.9983120935,,, +1.6308593750,26,0.9981967573,,, +1.6328125000,26,0.9980776134,,, +1.6347656250,26,0.9979546621,,, +1.6367187500,26,0.9978279038,,, +1.6386718750,26,0.9976973392,,, +1.6406250000,26,0.9975629687,,, +1.6425781250,26,0.9974247928,,, +1.6445312500,26,0.9972828120,,, +1.6464843750,26,0.9971370268,,, +1.6484375000,26,0.9969874379,,, +1.6503906250,26,0.9968340458,,, +1.6523437500,26,0.9966768511,,, +1.6542968750,26,0.9965158543,,, +1.6562500000,26,0.9963510562,,, +1.6582031250,26,0.9961824572,,, +1.6601562500,26,0.9960100582,,, +1.6621093750,26,0.9958338596,,, +1.6640625000,26,0.9956538623,,, +1.6660156250,26,0.9954700668,,, +1.6679687500,26,0.9952824739,,, +1.6699218750,26,0.9950910844,,, +1.6718750000,26,0.9948958988,,, +1.6738281250,26,0.9946969180,,, +1.6757812500,26,0.9944941428,,, +1.6777343750,26,0.9942875739,,, +1.6796875000,26,0.9940772120,,, +1.6816406250,26,0.9938630581,,, +1.6835937500,26,0.9936451129,,, +1.6855468750,26,0.9934233772,,, +1.6875000000,27,0.9931978519,,, +1.6894531250,27,0.9929685378,,, +1.6914062500,27,0.9927354359,,, +1.6933593750,27,0.9924985470,,, +1.6953125000,27,0.9922578721,,, +1.6972656250,27,0.9920134119,,, +1.6992187500,27,0.9917651676,,, +1.7011718750,27,0.9915131399,,, +1.7031250000,27,0.9912573300,,, +1.7050781250,27,0.9909977386,,, +1.7070312500,27,0.9907343670,,, +1.7089843750,27,0.9904672159,,, +1.7109375000,27,0.9901962866,,, +1.7128906250,27,0.9899215799,,, +1.7148437500,27,0.9896430970,,, +1.7167968750,27,0.9893608390,,, +1.7187500000,27,0.9890748068,,, +1.7207031250,27,0.9887850015,,, +1.7226562500,27,0.9884914244,,, +1.7246093750,27,0.9881940765,,, +1.7265625000,27,0.9878929589,,, +1.7285156250,27,0.9875880728,,, +1.7304687500,27,0.9872794194,,, +1.7324218750,27,0.9869669997,,, +1.7343750000,27,0.9866508151,,, +1.7363281250,27,0.9863308668,,, +1.7382812500,27,0.9860071558,,, +1.7402343750,27,0.9856796836,,, +1.7421875000,27,0.9853484513,,, +1.7441406250,27,0.9850134602,,, +1.7460937500,27,0.9846747116,,, +1.7480468750,27,0.9843322067,,, +1.7500000000,28,0.9839859469,,, +1.7519531250,28,0.9836359335,,, +1.7539062500,28,0.9832821678,,, +1.7558593750,28,0.9829246512,,, +1.7578125000,28,0.9825633850,,, +1.7597656250,28,0.9821983707,,, +1.7617187500,28,0.9818296095,,, +1.7636718750,28,0.9814571030,,, +1.7656250000,28,0.9810808526,,, +1.7675781250,28,0.9807008596,,, +1.7695312500,28,0.9803171255,,, +1.7714843750,28,0.9799296518,,, +1.7734375000,28,0.9795384400,,, +1.7753906250,28,0.9791434915,,, +1.7773437500,28,0.9787448079,,, +1.7792968750,28,0.9783423907,,, +1.7812500000,28,0.9779362414,,, +1.7832031250,28,0.9775263616,,, +1.7851562500,28,0.9771127528,,, +1.7871093750,28,0.9766954166,,, +1.7890625000,28,0.9762743547,,, +1.7910156250,28,0.9758495685,,, +1.7929687500,28,0.9754210598,,, +1.7949218750,28,0.9749888301,,, +1.7968750000,28,0.9745528812,,, +1.7988281250,28,0.9741132146,,, +1.8007812500,28,0.9736698321,,, +1.8027343750,28,0.9732227353,,, +1.8046875000,28,0.9727719260,,, +1.8066406250,28,0.9723174058,,, +1.8085937500,28,0.9718591766,,, +1.8105468750,28,0.9713972400,,, +1.8125000000,29,0.9709315978,,, +1.8144531250,29,0.9704622518,,, +1.8164062500,29,0.9699892038,,, +1.8183593750,29,0.9695124556,,, +1.8203125000,29,0.9690320090,,, +1.8222656250,29,0.9685478658,,, +1.8242187500,29,0.9680600279,,, +1.8261718750,29,0.9675684971,,, +1.8281250000,29,0.9670732754,,, +1.8300781250,29,0.9665743646,,, +1.8320312500,29,0.9660717666,,, +1.8339843750,29,0.9655654833,,, +1.8359375000,29,0.9650555167,,, +1.8378906250,29,0.9645418687,,, +1.8398437500,29,0.9640245412,,, +1.8417968750,29,0.9635035363,,, +1.8437500000,29,0.9629788560,,, +1.8457031250,29,0.9624505021,,, +1.8476562500,29,0.9619184768,,, +1.8496093750,29,0.9613827821,,, +1.8515625000,29,0.9608434200,,, +1.8535156250,29,0.9603003925,,, +1.8554687500,29,0.9597537018,,, +1.8574218750,29,0.9592033500,,, +1.8593750000,29,0.9586493390,,, +1.8613281250,29,0.9580916711,,, +1.8632812500,29,0.9575303484,,, +1.8652343750,29,0.9569653730,,, +1.8671875000,29,0.9563967471,,, +1.8691406250,29,0.9558244728,,, +1.8710937500,29,0.9552485523,,, +1.8730468750,29,0.9546689878,,, +1.8750000000,30,0.9540857816,,, +1.8769531250,30,0.9534989358,,, +1.8789062500,30,0.9529084527,,, +1.8808593750,30,0.9523143346,,, +1.8828125000,30,0.9517165837,,, +1.8847656250,30,0.9511152022,,, +1.8867187500,30,0.9505101926,,, +1.8886718750,30,0.9499015570,,, +1.8906250000,30,0.9492892978,,, +1.8925781250,30,0.9486734174,,, +1.8945312500,30,0.9480539181,,, +1.8964843750,30,0.9474308023,,, +1.8984375000,30,0.9468040723,,, +1.9003906250,30,0.9461737305,,, +1.9023437500,30,0.9455397794,,, +1.9042968750,30,0.9449022213,,, +1.9062500000,30,0.9442610587,,, +1.9082031250,30,0.9436162940,,, +1.9101562500,30,0.9429679297,,, +1.9121093750,30,0.9423159683,,, +1.9140625000,30,0.9416604123,,, +1.9160156250,30,0.9410012641,,, +1.9179687500,30,0.9403385262,,, +1.9199218750,30,0.9396722013,,, +1.9218750000,30,0.9390022917,,, +1.9238281250,30,0.9383288002,,, +1.9257812500,30,0.9376517293,,, +1.9277343750,30,0.9369710814,,, +1.9296875000,30,0.9362868594,,, +1.9316406250,30,0.9355990656,,, +1.9335937500,30,0.9349077029,,, +1.9355468750,30,0.9342127737,,, +1.9375000000,31,0.9335142809,,, +1.9394531250,31,0.9328122269,,, +1.9414062500,31,0.9321066146,,, +1.9433593750,31,0.9313974465,,, +1.9453125000,31,0.9306847255,,, +1.9472656250,31,0.9299684541,,, +1.9492187500,31,0.9292486353,,, +1.9511718750,31,0.9285252716,,, +1.9531250000,31,0.9277983659,,, +1.9550781250,31,0.9270679209,,, +1.9570312500,31,0.9263339394,,, +1.9589843750,31,0.9255964242,,, +1.9609375000,31,0.9248553782,,, +1.9628906250,31,0.9241108042,,, +1.9648437500,31,0.9233627049,,, +1.9667968750,31,0.9226110833,,, +1.9687500000,31,0.9218559422,,, +1.9707031250,31,0.9210972845,,, +1.9726562500,31,0.9203351131,,, +1.9746093750,31,0.9195694309,,, +1.9765625000,31,0.9188002408,,, +1.9785156250,31,0.9180275458,,, +1.9804687500,31,0.9172513488,,, +1.9824218750,31,0.9164716527,,, +1.9843750000,31,0.9156884606,,, +1.9863281250,31,0.9149017754,,, +1.9882812500,31,0.9141116002,,, +1.9902343750,31,0.9133179378,,, +1.9921875000,31,0.9125207915,,, +1.9941406250,31,0.9117201642,,, +1.9960937500,31,0.9109160589,,, +1.9980468750,31,0.9101084788,,, +2.0000000000,32,0.9092974268,,, +2.0019531250,32,0.9084829062,,, +2.0039062500,32,0.9076649200,,, +2.0058593750,32,0.9068434713,,, +2.0078125000,32,0.9060185633,,, +2.0097656250,32,0.9051901991,,, +2.0117187500,32,0.9043583819,,, +2.0136718750,32,0.9035231149,,, +2.0156250000,32,0.9026844011,,, +2.0175781250,32,0.9018422439,,, +2.0195312500,32,0.9009966465,,, +2.0214843750,32,0.9001476120,,, +2.0234375000,32,0.8992951437,,, +2.0253906250,32,0.8984392449,,, +2.0273437500,32,0.8975799188,,, +2.0292968750,32,0.8967171687,,, +2.0312500000,32,0.8958509980,,, +2.0332031250,32,0.8949814098,,, +2.0351562500,32,0.8941084075,,, +2.0371093750,32,0.8932319945,,, +2.0390625000,32,0.8923521741,,, +2.0410156250,32,0.8914689496,,, +2.0429687500,32,0.8905823245,,, +2.0449218750,32,0.8896923020,,, +2.0468750000,32,0.8887988856,,, +2.0488281250,32,0.8879020788,,, +2.0507812500,32,0.8870018848,,, +2.0527343750,32,0.8860983072,,, +2.0546875000,32,0.8851913495,,, +2.0566406250,32,0.8842810150,,, +2.0585937500,32,0.8833673072,,, +2.0605468750,32,0.8824502296,,, +2.0625000000,33,0.8815297858,,, +2.0644531250,33,0.8806059792,,, +2.0664062500,33,0.8796788133,,, +2.0683593750,33,0.8787482918,,, +2.0703125000,33,0.8778144181,,, +2.0722656250,33,0.8768771958,,, +2.0742187500,33,0.8759366285,,, +2.0761718750,33,0.8749927197,,, +2.0781250000,33,0.8740454731,,, +2.0800781250,33,0.8730948923,,, +2.0820312500,33,0.8721409809,,, +2.0839843750,33,0.8711837426,,, +2.0859375000,33,0.8702231809,,, +2.0878906250,33,0.8692592996,,, +2.0898437500,33,0.8682921024,,, +2.0917968750,33,0.8673215928,,, +2.0937500000,33,0.8663477748,,, +2.0957031250,33,0.8653706518,,, +2.0976562500,33,0.8643902277,,, +2.0996093750,33,0.8634065063,,, +2.1015625000,33,0.8624194912,,, +2.1035156250,33,0.8614291863,,, +2.1054687500,33,0.8604355952,,, +2.1074218750,33,0.8594387219,,, +2.1093750000,33,0.8584385700,,, +2.1113281250,33,0.8574351435,,, +2.1132812500,33,0.8564284461,,, +2.1152343750,33,0.8554184817,,, +2.1171875000,33,0.8544052542,,, +2.1191406250,33,0.8533887673,,, +2.1210937500,33,0.8523690250,,, +2.1230468750,33,0.8513460312,,, +2.1250000000,34,0.8503197898,,, +2.1269531250,34,0.8492903047,,, +2.1289062500,34,0.8482575798,,, +2.1308593750,34,0.8472216190,,, +2.1328125000,34,0.8461824263,,, +2.1347656250,34,0.8451400057,,, +2.1367187500,34,0.8440943612,,, +2.1386718750,34,0.8430454967,,, +2.1406250000,34,0.8419934162,,, +2.1425781250,34,0.8409381238,,, +2.1445312500,34,0.8398796235,,, +2.1464843750,34,0.8388179193,,, +2.1484375000,34,0.8377530152,,, +2.1503906250,34,0.8366849154,,, +2.1523437500,34,0.8356136238,,, +2.1542968750,34,0.8345391447,,, +2.1562500000,34,0.8334614820,,, +2.1582031250,34,0.8323806400,,, +2.1601562500,34,0.8312966226,,, +2.1621093750,34,0.8302094342,,, +2.1640625000,34,0.8291190787,,, +2.1660156250,34,0.8280255604,,, +2.1679687500,34,0.8269288834,,, +2.1699218750,34,0.8258290519,,, +2.1718750000,34,0.8247260702,,, +2.1738281250,34,0.8236199423,,, +2.1757812500,34,0.8225106726,,, +2.1777343750,34,0.8213982653,,, +2.1796875000,34,0.8202827246,,, +2.1816406250,34,0.8191640548,,, +2.1835937500,34,0.8180422601,,, +2.1855468750,34,0.8169173448,,, +2.1875000000,35,0.8157893133,,, +2.1894531250,35,0.8146581697,,, +2.1914062500,35,0.8135239185,,, +2.1933593750,35,0.8123865639,,, +2.1953125000,35,0.8112461103,,, +2.1972656250,35,0.8101025621,,, +2.1992187500,35,0.8089559235,,, +2.2011718750,35,0.8078061991,,, +2.2031250000,35,0.8066533931,,, +2.2050781250,35,0.8054975100,,, +2.2070312500,35,0.8043385541,,, +2.2089843750,35,0.8031765299,,, +2.2109375000,35,0.8020114419,,, +2.2128906250,35,0.8008432944,,, +2.2148437500,35,0.7996720920,,, +2.2167968750,35,0.7984978390,,, +2.2187500000,35,0.7973205401,,, +2.2207031250,35,0.7961401996,,, +2.2226562500,35,0.7949568220,,, +2.2246093750,35,0.7937704119,,, +2.2265625000,35,0.7925809739,,, +2.2285156250,35,0.7913885124,,, +2.2304687500,35,0.7901930320,,, +2.2324218750,35,0.7889945372,,, +2.2343750000,35,0.7877930327,,, +2.2363281250,35,0.7865885229,,, +2.2382812500,35,0.7853810126,,, +2.2402343750,35,0.7841705063,,, +2.2421875000,35,0.7829570086,,, +2.2441406250,35,0.7817405242,,, +2.2460937500,35,0.7805210576,,, +2.2480468750,35,0.7792986137,,, +2.2500000000,36,0.7780731969,,, +2.2519531250,36,0.7768448120,,, +2.2539062500,36,0.7756134637,,, +2.2558593750,36,0.7743791567,,, +2.2578125000,36,0.7731418956,,, +2.2597656250,36,0.7719016852,,, +2.2617187500,36,0.7706585303,,, +2.2636718750,36,0.7694124355,,, +2.2656250000,36,0.7681634057,,, +2.2675781250,36,0.7669114456,,, +2.2695312500,36,0.7656565599,,, +2.2714843750,36,0.7643987535,,, +2.2734375000,36,0.7631380311,,, +2.2753906250,36,0.7618743976,,, +2.2773437500,36,0.7606078577,,, +2.2792968750,36,0.7593384164,,, +2.2812500000,36,0.7580660784,,, +2.2832031250,36,0.7567908487,,, +2.2851562500,36,0.7555127320,,, +2.2871093750,36,0.7542317333,,, +2.2890625000,36,0.7529478574,,, +2.2910156250,36,0.7516611092,,, +2.2929687500,36,0.7503714937,,, +2.2949218750,36,0.7490790157,,, +2.2968750000,36,0.7477836802,,, +2.2988281250,36,0.7464854922,,, +2.3007812500,36,0.7451844565,,, +2.3027343750,36,0.7438805782,,, +2.3046875000,36,0.7425738622,,, +2.3066406250,36,0.7412643135,,, +2.3085937500,36,0.7399519372,,, +2.3105468750,36,0.7386367381,,, +2.3125000000,37,0.7373187213,,, +2.3144531250,37,0.7359978919,,, +2.3164062500,37,0.7346742549,,, +2.3183593750,37,0.7333478154,,, +2.3203125000,37,0.7320185783,,, +2.3222656250,37,0.7306865488,,, +2.3242187500,37,0.7293517320,,, +2.3261718750,37,0.7280141329,,, +2.3281250000,37,0.7266737567,,, +2.3300781250,37,0.7253306084,,, +2.3320312500,37,0.7239846932,,, +2.3339843750,37,0.7226360162,,, +2.3359375000,37,0.7212845826,,, +2.3378906250,37,0.7199303975,,, +2.3398437500,37,0.7185734661,,, +2.3417968750,37,0.7172137935,,, +2.3437500000,37,0.7158513850,,, +2.3457031250,37,0.7144862457,,, +2.3476562500,37,0.7131183809,,, +2.3496093750,37,0.7117477958,,, +2.3515625000,37,0.7103744956,,, +2.3535156250,37,0.7089984855,,, +2.3554687500,37,0.7076197707,,, +2.3574218750,37,0.7062383567,,, +2.3593750000,37,0.7048542485,,, +2.3613281250,37,0.7034674515,,, +2.3632812500,37,0.7020779711,,, +2.3652343750,37,0.7006858124,,, +2.3671875000,37,0.6992909808,,, +2.3691406250,37,0.6978934816,,, +2.3710937500,37,0.6964933202,,, +2.3730468750,37,0.6950905018,,, +2.3750000000,38,0.6936850320,,, +2.3769531250,38,0.6922769159,,, +2.3789062500,38,0.6908661589,,, +2.3808593750,38,0.6894527666,,, +2.3828125000,38,0.6880367442,,, +2.3847656250,38,0.6866180971,,, +2.3867187500,38,0.6851968308,,, +2.3886718750,38,0.6837729507,,, +2.3906250000,38,0.6823464621,,, +2.3925781250,38,0.6809173707,,, +2.3945312500,38,0.6794856817,,, +2.3964843750,38,0.6780514008,,, +2.3984375000,38,0.6766145332,,, +2.4003906250,38,0.6751750846,,, +2.4023437500,38,0.6737330604,,, +2.4042968750,38,0.6722884661,,, +2.4062500000,38,0.6708413072,,, +2.4082031250,38,0.6693915893,,, +2.4101562500,38,0.6679393179,,, +2.4121093750,38,0.6664844984,,, +2.4140625000,38,0.6650271366,,, +2.4160156250,38,0.6635672378,,, +2.4179687500,38,0.6621048078,,, +2.4199218750,38,0.6606398520,,, +2.4218750000,38,0.6591723760,,, +2.4238281250,38,0.6577023856,,, +2.4257812500,38,0.6562298862,,, +2.4277343750,38,0.6547548835,,, +2.4296875000,38,0.6532773830,,, +2.4316406250,38,0.6517973906,,, +2.4335937500,38,0.6503149117,,, +2.4355468750,38,0.6488299521,,, +2.4375000000,39,0.6473425174,,, +2.4394531250,39,0.6458526132,,, +2.4414062500,39,0.6443602454,,, +2.4433593750,39,0.6428654195,,, +2.4453125000,39,0.6413681412,,, +2.4472656250,39,0.6398684164,,, +2.4492187500,39,0.6383662506,,, +2.4511718750,39,0.6368616497,,, +2.4531250000,39,0.6353546193,,, +2.4550781250,39,0.6338451652,,, +2.4570312500,39,0.6323332933,,, +2.4589843750,39,0.6308190091,,, +2.4609375000,39,0.6293023186,,, +2.4628906250,39,0.6277832275,,, +2.4648437500,39,0.6262617415,,, +2.4667968750,39,0.6247378666,,, +2.4687500000,39,0.6232116085,,, +2.4707031250,39,0.6216829730,,, +2.4726562500,39,0.6201519660,,, +2.4746093750,39,0.6186185933,,, +2.4765625000,39,0.6170828608,,, +2.4785156250,39,0.6155447743,,, +2.4804687500,39,0.6140043397,,, +2.4824218750,39,0.6124615628,,, +2.4843750000,39,0.6109164496,,, +2.4863281250,39,0.6093690059,,, +2.4882812500,39,0.6078192376,,, +2.4902343750,39,0.6062671507,,, +2.4921875000,39,0.6047127511,,, +2.4941406250,39,0.6031560447,,, +2.4960937500,39,0.6015970374,,, +2.4980468750,39,0.6000357352,,, +2.5000000000,40,0.5984721441,,, +2.5019531250,40,0.5969062700,,, +2.5039062500,40,0.5953381188,,, +2.5058593750,40,0.5937676967,,, +2.5078125000,40,0.5921950094,,, +2.5097656250,40,0.5906200632,,, +2.5117187500,40,0.5890428639,,, +2.5136718750,40,0.5874634176,,, +2.5156250000,40,0.5858817303,,, +2.5175781250,40,0.5842978080,,, +2.5195312500,40,0.5827116568,,, +2.5214843750,40,0.5811232827,,, +2.5234375000,40,0.5795326919,,, +2.5253906250,40,0.5779398903,,, +2.5273437500,40,0.5763448840,,, +2.5292968750,40,0.5747476791,,, +2.5312500000,40,0.5731482818,,, +2.5332031250,40,0.5715466981,,, +2.5351562500,40,0.5699429341,,, +2.5371093750,40,0.5683369959,,, +2.5390625000,40,0.5667288897,,, +2.5410156250,40,0.5651186216,,, +2.5429687500,40,0.5635061978,,, +2.5449218750,40,0.5618916243,,, +2.5468750000,40,0.5602749074,,, +2.5488281250,40,0.5586560532,,, +2.5507812500,40,0.5570350679,,, +2.5527343750,40,0.5554119577,,, +2.5546875000,40,0.5537867288,,, +2.5566406250,40,0.5521593874,,, +2.5585937500,40,0.5505299396,,, +2.5605468750,40,0.5488983917,,, +2.5625000000,41,0.5472647499,,, +2.5644531250,41,0.5456290205,,, +2.5664062500,41,0.5439912097,,, +2.5683593750,41,0.5423513237,,, +2.5703125000,41,0.5407093688,,, +2.5722656250,41,0.5390653513,,, +2.5742187500,41,0.5374192774,,, +2.5761718750,41,0.5357711534,,, +2.5781250000,41,0.5341209856,,, +2.5800781250,41,0.5324687803,,, +2.5820312500,41,0.5308145438,,, +2.5839843750,41,0.5291582824,,, +2.5859375000,41,0.5275000024,,, +2.5878906250,41,0.5258397102,,, +2.5898437500,41,0.5241774120,,, +2.5917968750,41,0.5225131143,,, +2.5937500000,41,0.5208468233,,, +2.5957031250,41,0.5191785455,,, +2.5976562500,41,0.5175082871,,, +2.5996093750,41,0.5158360547,,, +2.6015625000,41,0.5141618544,,, +2.6035156250,41,0.5124856928,,, +2.6054687500,41,0.5108075762,,, +2.6074218750,41,0.5091275111,,, +2.6093750000,41,0.5074455037,,, +2.6113281250,41,0.5057615607,,, +2.6132812500,41,0.5040756882,,, +2.6152343750,41,0.5023878929,,, +2.6171875000,41,0.5006981812,,, +2.6191406250,41,0.4990065594,33025,2.6191406250,0.0000000000 +2.6210937500,41,0.4973130341,,, +2.6230468750,41,0.4956176117,,, +2.6250000000,42,0.4939202986,,, +2.6269531250,42,0.4922211014,,, +2.6289062500,42,0.4905200265,,, +2.6308593750,42,0.4888170804,,, +2.6328125000,42,0.4871122697,,, +2.6347656250,42,0.4854056007,,, +2.6367187500,42,0.4836970801,,, +2.6386718750,42,0.4819867143,,, +2.6406250000,42,0.4802745099,,, +2.6425781250,42,0.4785604734,,, +2.6445312500,42,0.4768446113,,, +2.6464843750,42,0.4751269303,,, +2.6484375000,42,0.4734074367,,, +2.6503906250,42,0.4716861372,,, +2.6523437500,42,0.4699630384,,, +2.6542968750,42,0.4682381469,,, +2.6562500000,42,0.4665114691,,, +2.6582031250,42,0.4647830118,,, +2.6601562500,42,0.4630527814,,, +2.6621093750,42,0.4613207846,,, +2.6640625000,42,0.4595870281,,, +2.6660156250,42,0.4578515183,,, +2.6679687500,42,0.4561142620,,, +2.6699218750,42,0.4543752658,,, +2.6718750000,42,0.4526345362,,, +2.6738281250,42,0.4508920800,,, +2.6757812500,42,0.4491479038,,, +2.6777343750,42,0.4474020142,,, +2.6796875000,42,0.4456544179,,, +2.6816406250,42,0.4439051216,,, +2.6835937500,42,0.4421541319,,, +2.6855468750,42,0.4404014555,,, +2.6875000000,43,0.4386470991,,, +2.6894531250,43,0.4368910694,,, +2.6914062500,43,0.4351333731,,, +2.6933593750,43,0.4333740169,,, +2.6953125000,43,0.4316130076,,, +2.6972656250,43,0.4298503517,,, +2.6992187500,43,0.4280860561,,, +2.7011718750,43,0.4263201275,,, +2.7031250000,43,0.4245525726,,, +2.7050781250,43,0.4227833981,,, +2.7070312500,43,0.4210126109,,, +2.7089843750,43,0.4192402176,,, +2.7109375000,43,0.4174662251,,, +2.7128906250,43,0.4156906400,,, +2.7148437500,43,0.4139134693,,, +2.7167968750,43,0.4121347195,,, +2.7187500000,43,0.4103543976,,, +2.7207031250,43,0.4085725103,,, +2.7226562500,43,0.4067890645,,, +2.7246093750,43,0.4050040668,,, +2.7265625000,43,0.4032175242,,, +2.7285156250,43,0.4014294435,,, +2.7304687500,43,0.3996398314,,, +2.7324218750,43,0.3978486948,,, +2.7343750000,43,0.3960560405,,, +2.7363281250,43,0.3942618754,,, +2.7382812500,43,0.3924662064,,, +2.7402343750,43,0.3906690401,,, +2.7421875000,43,0.3888703836,,, +2.7441406250,43,0.3870702437,,, +2.7460937500,43,0.3852686272,,, +2.7480468750,43,0.3834655410,,, +2.7500000000,44,0.3816609921,,, +2.7519531250,44,0.3798549872,,, +2.7539062500,44,0.3780475332,,, +2.7558593750,44,0.3762386372,,, +2.7578125000,44,0.3744283059,,, +2.7597656250,44,0.3726165462,,, +2.7617187500,44,0.3708033652,,, +2.7636718750,44,0.3689887696,,, +2.7656250000,44,0.3671727665,,, +2.7675781250,44,0.3653553627,,, +2.7695312500,44,0.3635365652,,, +2.7714843750,44,0.3617163809,,, +2.7734375000,44,0.3598948168,,, +2.7753906250,44,0.3580718798,,, +2.7773437500,44,0.3562475769,,, +2.7792968750,44,0.3544219149,,, +2.7812500000,44,0.3525949010,,, +2.7832031250,44,0.3507665420,,, +2.7851562500,44,0.3489368450,,, +2.7871093750,44,0.3471058168,,, +2.7890625000,44,0.3452734646,,, +2.7910156250,44,0.3434397953,,, +2.7929687500,44,0.3416048158,,, +2.7949218750,44,0.3397685332,,, +2.7968750000,44,0.3379309545,,, +2.7988281250,44,0.3360920867,,, +2.8007812500,44,0.3342519368,,, +2.8027343750,44,0.3324105118,,, +2.8046875000,44,0.3305678188,,, +2.8066406250,44,0.3287238648,,, +2.8085937500,44,0.3268786568,,, +2.8105468750,44,0.3250322018,,, +2.8125000000,45,0.3231845070,,, +2.8144531250,45,0.3213355793,,, +2.8164062500,45,0.3194854258,,, +2.8183593750,45,0.3176340536,,, +2.8203125000,45,0.3157814697,,, +2.8222656250,45,0.3139276811,,, +2.8242187500,45,0.3120726951,,, +2.8261718750,45,0.3102165185,,, +2.8281250000,45,0.3083591586,,, +2.8300781250,45,0.3065006224,,, +2.8320312500,45,0.3046409170,,, +2.8339843750,45,0.3027800495,,, +2.8359375000,45,0.3009180270,,, +2.8378906250,45,0.2990548565,,, +2.8398437500,45,0.2971905453,,, +2.8417968750,45,0.2953251003,,, +2.8437500000,45,0.2934585288,,, +2.8457031250,45,0.2915908378,,, +2.8476562500,45,0.2897220345,,, +2.8496093750,45,0.2878521260,,, +2.8515625000,45,0.2859811195,,, +2.8535156250,45,0.2841090220,,, +2.8554687500,45,0.2822358407,,, +2.8574218750,45,0.2803615827,,, +2.8593750000,45,0.2784862553,,, +2.8613281250,45,0.2766098655,,, +2.8632812500,45,0.2747324206,,, +2.8652343750,45,0.2728539276,,, +2.8671875000,45,0.2709743938,,, +2.8691406250,45,0.2690938263,,, +2.8710937500,45,0.2672122322,,, +2.8730468750,45,0.2653296189,,, +2.8750000000,46,0.2634459934,,, +2.8769531250,46,0.2615613629,,, +2.8789062500,46,0.2596757346,,, +2.8808593750,46,0.2577891158,,, +2.8828125000,46,0.2559015136,,, +2.8847656250,46,0.2540129352,,, +2.8867187500,46,0.2521233878,,, +2.8886718750,46,0.2502328786,,, +2.8906250000,46,0.2483414149,,, +2.8925781250,46,0.2464490038,,, +2.8945312500,46,0.2445556526,,, +2.8964843750,46,0.2426613685,,, +2.8984375000,46,0.2407661587,,, +2.9003906250,46,0.2388700304,,, +2.9023437500,46,0.2369729910,,, +2.9042968750,46,0.2350750475,,, +2.9062500000,46,0.2331762074,,, +2.9082031250,46,0.2312764777,,, +2.9101562500,46,0.2293758658,,, +2.9121093750,46,0.2274743788,,, +2.9140625000,46,0.2255720242,,, +2.9160156250,46,0.2236688090,,, +2.9179687500,46,0.2217647406,,, +2.9199218750,46,0.2198598263,,, +2.9218750000,46,0.2179540732,,, +2.9238281250,46,0.2160474888,,, +2.9257812500,46,0.2141400801,,, +2.9277343750,46,0.2122318546,,, +2.9296875000,46,0.2103228195,,, +2.9316406250,46,0.2084129821,,, +2.9335937500,46,0.2065023496,,, +2.9355468750,46,0.2045909294,,, +2.9375000000,47,0.2026787288,,, +2.9394531250,47,0.2007657549,,, +2.9414062500,47,0.1988520153,,, +2.9433593750,47,0.1969375170,,, +2.9453125000,47,0.1950222675,,, +2.9472656250,47,0.1931062741,,, +2.9492187500,47,0.1911895440,,, +2.9511718750,47,0.1892720846,,, +2.9531250000,47,0.1873539032,,, +2.9550781250,47,0.1854350070,,, +2.9570312500,47,0.1835154035,,, +2.9589843750,47,0.1815951000,,, +2.9609375000,47,0.1796741037,,, +2.9628906250,47,0.1777524220,,, +2.9648437500,47,0.1758300622,,, +2.9667968750,47,0.1739070317,,, +2.9687500000,47,0.1719833378,,, +2.9707031250,47,0.1700589878,,, +2.9726562500,47,0.1681339892,,, +2.9746093750,47,0.1662083491,,, +2.9765625000,47,0.1642820750,,, +2.9785156250,47,0.1623551742,,, +2.9804687500,47,0.1604276540,,, +2.9824218750,47,0.1584995219,,, +2.9843750000,47,0.1565707852,,, +2.9863281250,47,0.1546414512,,, +2.9882812500,47,0.1527115273,,, +2.9902343750,47,0.1507810208,,, +2.9921875000,47,0.1488499391,,, +2.9941406250,47,0.1469182897,,, +2.9960937500,47,0.1449860798,,, +2.9980468750,47,0.1430533168,,, +3.0000000000,48,0.1411200081,,, +3.0019531250,48,0.1391861610,,, +3.0039062500,48,0.1372517830,,, +3.0058593750,48,0.1353168815,,, +3.0078125000,48,0.1333814637,,, +3.0097656250,48,0.1314455372,,, +3.0117187500,48,0.1295091092,,, +3.0136718750,48,0.1275721872,,, +3.0156250000,48,0.1256347785,,, +3.0175781250,48,0.1236968906,,, +3.0195312500,48,0.1217585308,,, +3.0214843750,48,0.1198197065,,, +3.0234375000,48,0.1178804252,,, +3.0253906250,48,0.1159406941,,, +3.0273437500,48,0.1140005208,,, +3.0292968750,48,0.1120599127,,, +3.0312500000,48,0.1101188770,,, +3.0332031250,48,0.1081774213,,, +3.0351562500,48,0.1062355529,,, +3.0371093750,48,0.1042932793,,, +3.0390625000,48,0.1023506078,,, +3.0410156250,48,0.1004075458,,, +3.0429687500,48,0.0984641009,,, +3.0449218750,48,0.0965202803,,, +3.0468750000,48,0.0945760916,,, +3.0488281250,48,0.0926315420,,, +3.0507812500,48,0.0906866391,,, +3.0527343750,48,0.0887413903,,, +3.0546875000,48,0.0867958029,,, +3.0566406250,48,0.0848498845,,, +3.0585937500,48,0.0829036424,,, +3.0605468750,48,0.0809570840,,, +3.0625000000,49,0.0790102167,,, +3.0644531250,49,0.0770630481,,, +3.0664062500,49,0.0751155855,,, +3.0683593750,49,0.0731678364,,, +3.0703125000,49,0.0712198082,,, +3.0722656250,49,0.0692715082,,, +3.0742187500,49,0.0673229441,,, +3.0761718750,49,0.0653741231,,, +3.0781250000,49,0.0634250527,,, +3.0800781250,49,0.0614757404,,, +3.0820312500,49,0.0595261936,,, +3.0839843750,49,0.0575764196,,, +3.0859375000,49,0.0556264261,,, +3.0878906250,49,0.0536762204,,, +3.0898437500,49,0.0517258099,,, +3.0917968750,49,0.0497752020,,, +3.0937500000,49,0.0478244043,,, +3.0957031250,49,0.0458734242,,, +3.0976562500,49,0.0439222691,,, +3.0996093750,49,0.0419709464,,, +3.1015625000,49,0.0400194636,,, +3.1035156250,49,0.0380678282,,, +3.1054687500,49,0.0361160475,,, +3.1074218750,49,0.0341641291,,, +3.1093750000,49,0.0322120803,,, +3.1113281250,49,0.0302599087,,, +3.1132812500,49,0.0283076216,,, +3.1152343750,49,0.0263552266,,, +3.1171875000,49,0.0244027310,,, +3.1191406250,49,0.0224501423,,, +3.1210937500,49,0.0204974680,,, +3.1230468750,49,0.0185447155,,, +3.1250000000,50,0.0165918922,,, +3.1269531250,50,0.0146390057,,, +3.1289062500,50,0.0126860633,,, +3.1308593750,50,0.0107330725,,, +3.1328125000,50,0.0087800408,,, +3.1347656250,50,0.0068269756,,, +3.1367187500,50,0.0048738843,,, +3.1386718750,50,0.0029207744,,, +3.1406250000,50,0.0009676534,,, +3.1425781250,50,-0.0009854713,33025,3.1425781250,0.0000000000 +3.1445312500,50,-0.0029385922,,, +3.1464843750,50,-0.0048917019,,, +3.1484375000,50,-0.0068447930,,, +3.1503906250,50,-0.0087978579,,, +3.1523437500,50,-0.0107508893,,, +3.1542968750,50,-0.0127038797,,, +3.1562500000,50,-0.0146568216,,, +3.1582031250,50,-0.0166097076,,, +3.1601562500,50,-0.0185625302,,, +3.1621093750,50,-0.0205152821,,, +3.1640625000,50,-0.0224679556,,, +3.1660156250,50,-0.0244205435,,, +3.1679687500,50,-0.0263730382,,, +3.1699218750,50,-0.0283254323,,, +3.1718750000,50,-0.0302777184,,, +3.1738281250,50,-0.0322298889,,, +3.1757812500,50,-0.0341819365,,, +3.1777343750,50,-0.0361338537,,, +3.1796875000,50,-0.0380856331,,, +3.1816406250,50,-0.0400372672,,, +3.1835937500,50,-0.0419887485,,, +3.1855468750,50,-0.0439400697,,, +3.1875000000,51,-0.0458912233,,, +3.1894531250,51,-0.0478422018,,, +3.1914062500,51,-0.0497929978,,, +3.1933593750,51,-0.0517436038,,, +3.1953125000,51,-0.0536940125,,, +3.1972656250,51,-0.0556442163,,, +3.1992187500,51,-0.0575942079,,, +3.2011718750,51,-0.0595439798,,, +3.2031250000,51,-0.0614935245,,, +3.2050781250,51,-0.0634428346,,, +3.2070312500,51,-0.0653919028,,, +3.2089843750,51,-0.0673407215,,, +3.2109375000,51,-0.0692892833,,, +3.2128906250,51,-0.0712375807,,, +3.2148437500,51,-0.0731856065,,, +3.2167968750,51,-0.0751333530,,, +3.2187500000,51,-0.0770808130,,, +3.2207031250,51,-0.0790279789,,, +3.2226562500,51,-0.0809748433,,, +3.2246093750,51,-0.0829213988,,, +3.2265625000,51,-0.0848676380,,, +3.2285156250,51,-0.0868135535,,, +3.2304687500,51,-0.0887591378,,, +3.2324218750,51,-0.0907043835,,, +3.2343750000,51,-0.0926492832,,, +3.2363281250,51,-0.0945938295,,, +3.2382812500,51,-0.0965380149,,, +3.2402343750,51,-0.0984818321,,, +3.2421875000,51,-0.1004252736,,, +3.2441406250,51,-0.1023683320,,, +3.2460937500,51,-0.1043109999,,, +3.2480468750,51,-0.1062532699,,, +3.2500000000,52,-0.1081951345,,, +3.2519531250,52,-0.1101365865,,, +3.2539062500,52,-0.1120776182,,, +3.2558593750,52,-0.1140182225,,, +3.2578125000,52,-0.1159583918,,, +3.2597656250,52,-0.1178981187,,, +3.2617187500,52,-0.1198373959,,, +3.2636718750,52,-0.1217762160,,, +3.2656250000,52,-0.1237145715,,, +3.2675781250,52,-0.1256524551,,, +3.2695312500,52,-0.1275898594,,, +3.2714843750,52,-0.1295267769,,, +3.2734375000,52,-0.1314632004,,, +3.2753906250,52,-0.1333991223,,, +3.2773437500,52,-0.1353345354,,, +3.2792968750,52,-0.1372694322,,, +3.2812500000,52,-0.1392038054,,, +3.2832031250,52,-0.1411376475,,, +3.2851562500,52,-0.1430709513,,, +3.2871093750,52,-0.1450037093,,, +3.2890625000,52,-0.1469359141,,, +3.2910156250,52,-0.1488675584,,, +3.2929687500,52,-0.1507986349,,, +3.2949218750,52,-0.1527291361,,, +3.2968750000,52,-0.1546590546,,, +3.2988281250,52,-0.1565883832,,, +3.3007812500,52,-0.1585171145,,, +3.3027343750,52,-0.1604452411,,, +3.3046875000,52,-0.1623727556,,, +3.3066406250,52,-0.1642996507,,, +3.3085937500,52,-0.1662259190,,, +3.3105468750,52,-0.1681515533,,, +3.3125000000,53,-0.1700765461,,, +3.3144531250,53,-0.1720008901,,, +3.3164062500,53,-0.1739245780,,, +3.3183593750,53,-0.1758476024,,, +3.3203125000,53,-0.1777699560,,, +3.3222656250,53,-0.1796916315,,, +3.3242187500,53,-0.1816126215,,, +3.3261718750,53,-0.1835329187,,, +3.3281250000,53,-0.1854525158,,, +3.3300781250,53,-0.1873714055,,, +3.3320312500,53,-0.1892895803,,, +3.3339843750,53,-0.1912070331,,, +3.3359375000,53,-0.1931237565,,, +3.3378906250,53,-0.1950397432,,, +3.3398437500,53,-0.1969549859,,, +3.3417968750,53,-0.1988694772,,, +3.3437500000,53,-0.2007832100,,, +3.3457031250,53,-0.2026961767,,, +3.3476562500,53,-0.2046083703,,, +3.3496093750,53,-0.2065197834,,, +3.3515625000,53,-0.2084304086,,, +3.3535156250,53,-0.2103402388,,, +3.3554687500,53,-0.2122492665,,, +3.3574218750,53,-0.2141574846,,, +3.3593750000,53,-0.2160648857,,, +3.3613281250,53,-0.2179714627,,, +3.3632812500,53,-0.2198772081,,, +3.3652343750,53,-0.2217821148,,, +3.3671875000,53,-0.2236861754,,, +3.3691406250,53,-0.2255893827,,, +3.3710937500,53,-0.2274917295,,, +3.3730468750,53,-0.2293932085,,, +3.3750000000,54,-0.2312938124,,, +3.3769531250,54,-0.2331935340,,, +3.3789062500,54,-0.2350923660,,, +3.3808593750,54,-0.2369903012,,, +3.3828125000,54,-0.2388873324,,, +3.3847656250,54,-0.2407834523,,, +3.3867187500,54,-0.2426786537,,, +3.3886718750,54,-0.2445729293,,, +3.3906250000,54,-0.2464662720,,, +3.3925781250,54,-0.2483586745,,, +3.3945312500,54,-0.2502501295,,, +3.3964843750,54,-0.2521406299,,, +3.3984375000,54,-0.2540301685,,, +3.4003906250,54,-0.2559187381,,, +3.4023437500,54,-0.2578063314,,, +3.4042968750,54,-0.2596929412,,, +3.4062500000,54,-0.2615785604,,, +3.4082031250,54,-0.2634631817,,, +3.4101562500,54,-0.2653467980,,, +3.4121093750,54,-0.2672294021,,, +3.4140625000,54,-0.2691109868,,, +3.4160156250,54,-0.2709915449,,, +3.4179687500,54,-0.2728710693,,, +3.4199218750,54,-0.2747495527,,, +3.4218750000,54,-0.2766269881,,, +3.4238281250,54,-0.2785033682,,, +3.4257812500,54,-0.2803786859,,, +3.4277343750,54,-0.2822529341,,, +3.4296875000,54,-0.2841261055,,, +3.4316406250,54,-0.2859981931,,, +3.4335937500,54,-0.2878691897,,, +3.4355468750,54,-0.2897390881,,, +3.4375000000,55,-0.2916078813,,, +3.4394531250,55,-0.2934755621,,, +3.4414062500,55,-0.2953421234,,, +3.4433593750,55,-0.2972075580,,, +3.4453125000,55,-0.2990718589,,, +3.4472656250,55,-0.3009350189,,, +3.4492187500,55,-0.3027970309,,, +3.4511718750,55,-0.3046578879,,, +3.4531250000,55,-0.3065175826,,, +3.4550781250,55,-0.3083761082,,, +3.4570312500,55,-0.3102334573,,, +3.4589843750,55,-0.3120896230,,, +3.4609375000,55,-0.3139445982,,, +3.4628906250,55,-0.3157983757,,, +3.4648437500,55,-0.3176509486,,, +3.4667968750,55,-0.3195023098,,, +3.4687500000,55,-0.3213524521,,, +3.4707031250,55,-0.3232013686,,, +3.4726562500,55,-0.3250490522,,, +3.4746093750,55,-0.3268954958,,, +3.4765625000,55,-0.3287406924,,, +3.4785156250,55,-0.3305846349,,, +3.4804687500,55,-0.3324273164,,, +3.4824218750,55,-0.3342687298,,, +3.4843750000,55,-0.3361088680,,, +3.4863281250,55,-0.3379477241,,, +3.4882812500,55,-0.3397852910,,, +3.4902343750,55,-0.3416215617,,, +3.4921875000,55,-0.3434565292,,, +3.4941406250,55,-0.3452901866,,, +3.4960937500,55,-0.3471225268,,, +3.4980468750,55,-0.3489535428,,, +3.5000000000,56,-0.3507832277,,, +3.5019531250,56,-0.3526115744,,, +3.5039062500,56,-0.3544385761,,, +3.5058593750,56,-0.3562642256,,, +3.5078125000,56,-0.3580885161,,, +3.5097656250,56,-0.3599114407,,, +3.5117187500,56,-0.3617329922,,, +3.5136718750,56,-0.3635531639,,, +3.5156250000,56,-0.3653719487,,, +3.5175781250,56,-0.3671893397,,, +3.5195312500,56,-0.3690053301,,, +3.5214843750,56,-0.3708199127,,, +3.5234375000,56,-0.3726330809,,, +3.5253906250,56,-0.3744448275,,, +3.5273437500,56,-0.3762551457,,, +3.5292968750,56,-0.3780640287,,, +3.5312500000,56,-0.3798714694,,, +3.5332031250,56,-0.3816774610,,, +3.5351562500,56,-0.3834819967,,, +3.5371093750,56,-0.3852850695,,, +3.5390625000,56,-0.3870866726,,, +3.5410156250,56,-0.3888867990,,, +3.5429687500,56,-0.3906854419,,, +3.5449218750,56,-0.3924825945,,, +3.5468750000,56,-0.3942782499,,, +3.5488281250,56,-0.3960724013,,, +3.5507812500,56,-0.3978650417,,, +3.5527343750,56,-0.3996561644,,, +3.5546875000,56,-0.4014457626,,, +3.5566406250,56,-0.4032338293,,, +3.5585937500,56,-0.4050203579,,, +3.5605468750,56,-0.4068053414,,, +3.5625000000,57,-0.4085887731,,, +3.5644531250,57,-0.4103706461,,, +3.5664062500,57,-0.4121509537,,, +3.5683593750,57,-0.4139296891,,, +3.5703125000,57,-0.4157068454,,, +3.5722656250,57,-0.4174824159,,, +3.5742187500,57,-0.4192563939,,, +3.5761718750,57,-0.4210287726,,, +3.5781250000,57,-0.4227995451,,, +3.5800781250,57,-0.4245687048,,, +3.5820312500,57,-0.4263362449,,, +3.5839843750,57,-0.4281021587,,, +3.5859375000,57,-0.4298664393,,, +3.5878906250,57,-0.4316290802,,, +3.5898437500,57,-0.4333900745,,, +3.5917968750,57,-0.4351494156,,, +3.5937500000,57,-0.4369070967,,, +3.5957031250,57,-0.4386631112,,, +3.5976562500,57,-0.4404174523,,, +3.5996093750,57,-0.4421701133,,, +3.6015625000,57,-0.4439210876,,, +3.6035156250,57,-0.4456703684,,, +3.6054687500,57,-0.4474179492,,, +3.6074218750,57,-0.4491638232,,, +3.6093750000,57,-0.4509079837,,, +3.6113281250,57,-0.4526504242,,, +3.6132812500,57,-0.4543911380,,, +3.6152343750,57,-0.4561301184,,, +3.6171875000,57,-0.4578673588,,, +3.6191406250,57,-0.4596028526,,, +3.6210937500,57,-0.4613365931,,, +3.6230468750,57,-0.4630685738,,, +3.6250000000,58,-0.4647987880,,, +3.6269531250,58,-0.4665272292,,, +3.6289062500,58,-0.4682538907,,, +3.6308593750,58,-0.4699787659,,, +3.6328125000,58,-0.4717018483,,, +3.6347656250,58,-0.4734231313,,, +3.6367187500,58,-0.4751426084,,, +3.6386718750,58,-0.4768602729,,, +3.6406250000,58,-0.4785761184,,, +3.6425781250,58,-0.4802901382,,, +3.6445312500,58,-0.4820023259,,, +3.6464843750,58,-0.4837126748,,, +3.6484375000,58,-0.4854211786,,, +3.6503906250,58,-0.4871278306,,, +3.6523437500,58,-0.4888326244,,, +3.6542968750,58,-0.4905355534,,, +3.6562500000,58,-0.4922366112,,, +3.6582031250,58,-0.4939357913,,, +3.6601562500,58,-0.4956330871,,, +3.6621093750,58,-0.4973284922,,, +3.6640625000,58,-0.4990220002,,, +3.6660156250,58,-0.5007136046,33024,3.6660156250,0.0000000000 +3.6679687500,58,-0.5024032989,,, +3.6699218750,58,-0.5040910767,,, +3.6718750000,58,-0.5057769315,,, +3.6738281250,58,-0.5074608570,,, +3.6757812500,58,-0.5091428466,,, +3.6777343750,58,-0.5108228940,,, +3.6796875000,58,-0.5125009928,,, +3.6816406250,58,-0.5141771366,,, +3.6835937500,58,-0.5158513189,,, +3.6855468750,58,-0.5175235334,,, +3.6875000000,59,-0.5191937737,,, +3.6894531250,59,-0.5208620334,,, +3.6914062500,59,-0.5225283062,,, +3.6933593750,59,-0.5241925857,,, +3.6953125000,59,-0.5258548656,,, +3.6972656250,59,-0.5275151395,,, +3.6992187500,59,-0.5291734011,,, +3.7011718750,59,-0.5308296441,,, +3.7031250000,59,-0.5324838621,,, +3.7050781250,59,-0.5341360489,,, +3.7070312500,59,-0.5357861980,,, +3.7089843750,59,-0.5374343033,,, +3.7109375000,59,-0.5390803585,,, +3.7128906250,59,-0.5407243573,,, +3.7148437500,59,-0.5423662933,,, +3.7167968750,59,-0.5440061604,,, +3.7187500000,59,-0.5456439522,,, +3.7207031250,59,-0.5472796626,,, +3.7226562500,59,-0.5489132853,,, +3.7246093750,59,-0.5505448141,,, +3.7265625000,59,-0.5521742427,,, +3.7285156250,59,-0.5538015649,,, +3.7304687500,59,-0.5554267745,,, +3.7324218750,59,-0.5570498654,,, +3.7343750000,59,-0.5586708312,,, +3.7363281250,59,-0.5602896659,,, +3.7382812500,59,-0.5619063633,,, +3.7402343750,59,-0.5635209172,,, +3.7421875000,59,-0.5651333214,,, +3.7441406250,59,-0.5667435698,,, +3.7460937500,59,-0.5683516562,,, +3.7480468750,59,-0.5699575746,,, +3.7500000000,60,-0.5715613187,,, +3.7519531250,60,-0.5731628826,,, +3.7539062500,60,-0.5747622599,,, +3.7558593750,60,-0.5763594447,,, +3.7578125000,60,-0.5779544309,,, +3.7597656250,60,-0.5795472124,,, +3.7617187500,60,-0.5811377831,,, +3.7636718750,60,-0.5827261369,,, +3.7656250000,60,-0.5843122678,,, +3.7675781250,60,-0.5858961697,,, +3.7695312500,60,-0.5874778366,,, +3.7714843750,60,-0.5890572624,,, +3.7734375000,60,-0.5906344412,,, +3.7753906250,60,-0.5922093669,,, +3.7773437500,60,-0.5937820334,,, +3.7792968750,60,-0.5953524349,,, +3.7812500000,60,-0.5969205653,,, +3.7832031250,60,-0.5984864186,,, +3.7851562500,60,-0.6000499889,,, +3.7871093750,60,-0.6016112702,,, +3.7890625000,60,-0.6031702565,,, +3.7910156250,60,-0.6047269419,,, +3.7929687500,60,-0.6062813204,,, +3.7949218750,60,-0.6078333862,,, +3.7968750000,60,-0.6093831333,,, +3.7988281250,60,-0.6109305557,,, +3.8007812500,60,-0.6124756477,,, +3.8027343750,60,-0.6140184032,,, +3.8046875000,60,-0.6155588165,,, +3.8066406250,60,-0.6170968815,,, +3.8085937500,60,-0.6186325926,,, +3.8105468750,60,-0.6201659437,,, +3.8125000000,61,-0.6216969291,,, +3.8144531250,61,-0.6232255429,,, +3.8164062500,61,-0.6247517793,,, +3.8183593750,61,-0.6262756324,,, +3.8203125000,61,-0.6277970966,,, +3.8222656250,61,-0.6293161658,,, +3.8242187500,61,-0.6308328344,,, +3.8261718750,61,-0.6323470966,,, +3.8281250000,61,-0.6338589465,,, +3.8300781250,61,-0.6353683785,,, +3.8320312500,61,-0.6368753867,,, +3.8339843750,61,-0.6383799655,,, +3.8359375000,61,-0.6398821090,,, +3.8378906250,61,-0.6413818116,,, +3.8398437500,61,-0.6428790675,,, +3.8417968750,61,-0.6443738710,,, +3.8437500000,61,-0.6458662164,,, +3.8457031250,61,-0.6473560980,,, +3.8476562500,61,-0.6488435102,,, +3.8496093750,61,-0.6503284472,,, +3.8515625000,61,-0.6518109034,,, +3.8535156250,61,-0.6532908731,,, +3.8554687500,61,-0.6547683508,,, +3.8574218750,61,-0.6562433307,,, +3.8593750000,61,-0.6577158072,,, +3.8613281250,61,-0.6591857748,,, +3.8632812500,61,-0.6606532278,,, +3.8652343750,61,-0.6621181605,,, +3.8671875000,61,-0.6635805675,,, +3.8691406250,61,-0.6650404431,,, +3.8710937500,61,-0.6664977818,,, +3.8730468750,61,-0.6679525781,,, +3.8750000000,62,-0.6694048262,,, +3.8769531250,62,-0.6708545208,,, +3.8789062500,62,-0.6723016563,,, +3.8808593750,62,-0.6737462272,,, +3.8828125000,62,-0.6751882279,,, +3.8847656250,62,-0.6766276530,,, +3.8867187500,62,-0.6780644970,,, +3.8886718750,62,-0.6794987544,,, +3.8906250000,62,-0.6809304196,,, +3.8925781250,62,-0.6823594874,,, +3.8945312500,62,-0.6837859521,,, +3.8964843750,62,-0.6852098084,,, +3.8984375000,62,-0.6866310509,,, +3.9003906250,62,-0.6880496740,,, +3.9023437500,62,-0.6894656725,,, +3.9042968750,62,-0.6908790408,,, +3.9062500000,62,-0.6922897737,,, +3.9082031250,62,-0.6936978656,,, +3.9101562500,62,-0.6951033114,,, +3.9121093750,62,-0.6965061055,,, +3.9140625000,62,-0.6979062427,,, +3.9160156250,62,-0.6993037175,,, +3.9179687500,62,-0.7006985248,,, +3.9199218750,62,-0.7020906590,,, +3.9218750000,62,-0.7034801151,,, +3.9238281250,62,-0.7048668875,,, +3.9257812500,62,-0.7062509711,,, +3.9277343750,62,-0.7076323606,,, +3.9296875000,62,-0.7090110506,,, +3.9316406250,62,-0.7103870361,,, +3.9335937500,62,-0.7117603115,,, +3.9355468750,62,-0.7131308719,,, +3.9375000000,63,-0.7144987119,,, +3.9394531250,63,-0.7158638262,,, +3.9414062500,63,-0.7172262098,,, +3.9433593750,63,-0.7185858574,,, +3.9453125000,63,-0.7199427638,,, +3.9472656250,63,-0.7212969238,,, +3.9492187500,63,-0.7226483323,,, +3.9511718750,63,-0.7239969841,,, +3.9531250000,63,-0.7253428741,,, +3.9550781250,63,-0.7266859971,,, +3.9570312500,63,-0.7280263480,,, +3.9589843750,63,-0.7293639217,,, +3.9609375000,63,-0.7306987132,,, +3.9628906250,63,-0.7320307172,,, +3.9648437500,63,-0.7333599288,,, +3.9667968750,63,-0.7346863428,,, +3.9687500000,63,-0.7360099542,,, +3.9707031250,63,-0.7373307580,,, +3.9726562500,63,-0.7386487490,,, +3.9746093750,63,-0.7399639224,,, +3.9765625000,63,-0.7412762730,,, +3.9785156250,63,-0.7425857958,,, +3.9804687500,63,-0.7438924860,,, +3.9824218750,63,-0.7451963384,,, +3.9843750000,63,-0.7464973481,,, +3.9863281250,63,-0.7477955101,,, +3.9882812500,63,-0.7490908195,,, +3.9902343750,63,-0.7503832714,,, +3.9921875000,63,-0.7516728608,,, +3.9941406250,63,-0.7529595828,,, +3.9960937500,63,-0.7542434325,,, +3.9980468750,63,-0.7555244049,,, +4.0000000000,64,-0.7568024953,,, +4.0019531250,64,-0.7580776987,,, +4.0039062500,64,-0.7593500103,,, +4.0058593750,64,-0.7606194251,,, +4.0078125000,64,-0.7618859385,,, +4.0097656250,64,-0.7631495455,,, +4.0117187500,64,-0.7644102413,,, +4.0136718750,64,-0.7656680211,,, +4.0156250000,64,-0.7669228801,,, +4.0175781250,64,-0.7681748135,,, +4.0195312500,64,-0.7694238166,,, +4.0214843750,64,-0.7706698846,,, +4.0234375000,64,-0.7719130126,,, +4.0253906250,64,-0.7731531961,,, +4.0273437500,64,-0.7743904303,,, +4.0292968750,64,-0.7756247103,,, +4.0312500000,64,-0.7768560316,,, +4.0332031250,64,-0.7780843894,,, +4.0351562500,64,-0.7793097791,,, +4.0371093750,64,-0.7805321960,,, +4.0390625000,64,-0.7817516353,,, +4.0410156250,64,-0.7829680925,,, +4.0429687500,64,-0.7841815629,,, +4.0449218750,64,-0.7853920419,,, +4.0468750000,64,-0.7865995249,,, +4.0488281250,64,-0.7878040072,,, +4.0507812500,64,-0.7890054843,,, +4.0527343750,64,-0.7902039516,,, +4.0546875000,64,-0.7913994045,,, +4.0566406250,64,-0.7925918385,,, +4.0585937500,64,-0.7937812489,,, +4.0605468750,64,-0.7949676313,,, +4.0625000000,65,-0.7961509812,,, +4.0644531250,65,-0.7973312940,,, +4.0664062500,65,-0.7985085652,,, +4.0683593750,65,-0.7996827903,,, +4.0703125000,65,-0.8008539649,,, +4.0722656250,65,-0.8020220845,,, +4.0742187500,65,-0.8031871446,,, +4.0761718750,65,-0.8043491408,,, +4.0781250000,65,-0.8055080687,,, +4.0800781250,65,-0.8066639237,,, +4.0820312500,65,-0.8078167016,,, +4.0839843750,65,-0.8089663980,,, +4.0859375000,65,-0.8101130083,,, +4.0878906250,65,-0.8112565284,,, +4.0898437500,65,-0.8123969537,,, +4.0917968750,65,-0.8135342800,,, +4.0937500000,65,-0.8146685029,,, +4.0957031250,65,-0.8157996181,,, +4.0976562500,65,-0.8169276212,,, +4.0996093750,65,-0.8180525080,,, +4.1015625000,65,-0.8191742742,,, +4.1035156250,65,-0.8202929155,,, +4.1054687500,65,-0.8214084277,,, +4.1074218750,65,-0.8225208064,,, +4.1093750000,65,-0.8236300474,,, +4.1113281250,65,-0.8247361466,,, +4.1132812500,65,-0.8258390996,,, +4.1152343750,65,-0.8269389023,,, +4.1171875000,65,-0.8280355505,,, +4.1191406250,65,-0.8291290400,,, +4.1210937500,65,-0.8302193666,,, +4.1230468750,65,-0.8313065262,,, +4.1250000000,66,-0.8323905146,,, +4.1269531250,66,-0.8334713276,,, +4.1289062500,66,-0.8345489613,,, +4.1308593750,66,-0.8356234113,,, +4.1328125000,66,-0.8366946738,,, +4.1347656250,66,-0.8377627445,,, +4.1367187500,66,-0.8388276194,,, +4.1386718750,66,-0.8398892944,,, +4.1406250000,66,-0.8409477655,,, +4.1425781250,66,-0.8420030286,,, +4.1445312500,66,-0.8430550797,,, +4.1464843750,66,-0.8441039149,,, +4.1484375000,66,-0.8451495300,,, +4.1503906250,66,-0.8461919212,,, +4.1523437500,66,-0.8472310844,,, +4.1542968750,66,-0.8482670157,,, +4.1562500000,66,-0.8492997110,,, +4.1582031250,66,-0.8503291666,,, +4.1601562500,66,-0.8513553784,,, +4.1621093750,66,-0.8523783426,,, +4.1640625000,66,-0.8533980552,,, +4.1660156250,66,-0.8544145123,,, +4.1679687500,66,-0.8554277101,,, +4.1699218750,66,-0.8564376447,,, +4.1718750000,66,-0.8574443123,,, +4.1738281250,66,-0.8584477089,,, +4.1757812500,66,-0.8594478309,,, +4.1777343750,66,-0.8604446743,,, +4.1796875000,66,-0.8614382354,,, +4.1816406250,66,-0.8624285104,,, +4.1835937500,66,-0.8634154954,,, +4.1855468750,66,-0.8643991868,,, +4.1875000000,67,-0.8653795808,,, +4.1894531250,67,-0.8663566736,,, +4.1914062500,67,-0.8673304615,,, +4.1933593750,67,-0.8683009408,,, +4.1953125000,67,-0.8692681078,,, +4.1972656250,67,-0.8702319589,,, +4.1992187500,67,-0.8711924902,,, +4.2011718750,67,-0.8721496982,,, +4.2031250000,67,-0.8731035792,,, +4.2050781250,67,-0.8740541297,,, +4.2070312500,67,-0.8750013458,,, +4.2089843750,67,-0.8759452241,,, +4.2109375000,67,-0.8768857609,,, +4.2128906250,67,-0.8778229527,,, +4.2148437500,67,-0.8787567958,,, +4.2167968750,67,-0.8796872868,,, +4.2187500000,67,-0.8806144220,,, +4.2207031250,67,-0.8815381980,,, +4.2226562500,67,-0.8824586111,,, +4.2246093750,67,-0.8833756579,,, +4.2265625000,67,-0.8842893349,,, +4.2285156250,67,-0.8851996387,,, +4.2304687500,67,-0.8861065656,,, +4.2324218750,67,-0.8870101123,,, +4.2343750000,67,-0.8879102754,,, +4.2363281250,67,-0.8888070513,,, +4.2382812500,67,-0.8897004368,,, +4.2402343750,67,-0.8905904282,,, +4.2421875000,67,-0.8914770224,,, +4.2441406250,67,-0.8923602158,,, +4.2460937500,67,-0.8932400052,,, +4.2480468750,67,-0.8941163871,,, +4.2500000000,68,-0.8949893582,,, +4.2519531250,68,-0.8958589152,,, +4.2539062500,68,-0.8967250548,,, +4.2558593750,68,-0.8975877737,,, +4.2578125000,68,-0.8984470685,,, +4.2597656250,68,-0.8993029361,,, +4.2617187500,68,-0.9001553730,,, +4.2636718750,68,-0.9010043762,,, +4.2656250000,68,-0.9018499422,,, +4.2675781250,68,-0.9026920680,,, +4.2695312500,68,-0.9035307503,,, +4.2714843750,68,-0.9043659860,,, +4.2734375000,68,-0.9051977717,,, +4.2753906250,68,-0.9060261044,,, +4.2773437500,68,-0.9068509808,,, +4.2792968750,68,-0.9076723979,,, +4.2812500000,68,-0.9084903525,,, +4.2832031250,68,-0.9093048415,,, +4.2851562500,68,-0.9101158618,,, +4.2871093750,68,-0.9109234102,,, +4.2890625000,68,-0.9117274838,,, +4.2910156250,68,-0.9125280794,,, +4.2929687500,68,-0.9133251940,,, +4.2949218750,68,-0.9141188245,,, +4.2968750000,68,-0.9149089679,,, +4.2988281250,68,-0.9156956212,,, +4.3007812500,68,-0.9164787815,,, +4.3027343750,68,-0.9172584456,,, +4.3046875000,68,-0.9180346107,,, +4.3066406250,68,-0.9188072738,,, +4.3085937500,68,-0.9195764319,,, +4.3105468750,68,-0.9203420820,,, +4.3125000000,69,-0.9211042214,,, +4.3144531250,69,-0.9218628470,,, +4.3164062500,69,-0.9226179560,,, +4.3183593750,69,-0.9233695455,,, +4.3203125000,69,-0.9241176126,,, +4.3222656250,69,-0.9248621545,,, +4.3242187500,69,-0.9256031684,,, +4.3261718750,69,-0.9263406513,,, +4.3281250000,69,-0.9270746005,,, +4.3300781250,69,-0.9278050132,,, +4.3320312500,69,-0.9285318866,,, +4.3339843750,69,-0.9292552180,,, +4.3359375000,69,-0.9299750045,,, +4.3378906250,69,-0.9306912435,,, +4.3398437500,69,-0.9314039321,,, +4.3417968750,69,-0.9321130677,,, +4.3437500000,69,-0.9328186476,,, +4.3457031250,69,-0.9335206691,,, +4.3476562500,69,-0.9342191295,,, +4.3496093750,69,-0.9349140261,,, +4.3515625000,69,-0.9356053563,,, +4.3535156250,69,-0.9362931175,,, +4.3554687500,69,-0.9369773070,,, +4.3574218750,69,-0.9376579222,,, +4.3593750000,69,-0.9383349605,,, +4.3613281250,69,-0.9390084193,,, +4.3632812500,69,-0.9396782962,,, +4.3652343750,69,-0.9403445884,,, +4.3671875000,69,-0.9410072935,,, +4.3691406250,69,-0.9416664090,,, +4.3710937500,69,-0.9423219322,,, +4.3730468750,69,-0.9429738609,,, +4.3750000000,70,-0.9436221923,,, +4.3769531250,70,-0.9442669241,,, +4.3789062500,70,-0.9449080538,,, +4.3808593750,70,-0.9455455790,,, +4.3828125000,70,-0.9461794973,,, +4.3847656250,70,-0.9468098061,,, +4.3867187500,70,-0.9474365031,,, +4.3886718750,70,-0.9480595860,,, +4.3906250000,70,-0.9486790523,,, +4.3925781250,70,-0.9492948997,,, +4.3945312500,70,-0.9499071258,,, +4.3964843750,70,-0.9505157283,,, +4.3984375000,70,-0.9511207049,,, +4.4003906250,70,-0.9517220532,,, +4.4023437500,70,-0.9523197710,,, +4.4042968750,70,-0.9529138560,,, +4.4062500000,70,-0.9535043059,,, +4.4082031250,70,-0.9540911185,,, +4.4101562500,70,-0.9546742915,,, +4.4121093750,70,-0.9552538227,,, +4.4140625000,70,-0.9558297100,,, +4.4160156250,70,-0.9564019510,,, +4.4179687500,70,-0.9569705436,,, +4.4199218750,70,-0.9575354857,,, +4.4218750000,70,-0.9580967751,,, +4.4238281250,70,-0.9586544096,,, +4.4257812500,70,-0.9592083872,,, +4.4277343750,70,-0.9597587057,,, +4.4296875000,70,-0.9603053630,,, +4.4316406250,70,-0.9608483570,,, +4.4335937500,70,-0.9613876856,,, +4.4355468750,70,-0.9619233469,,, +4.4375000000,71,-0.9624553387,,, +4.4394531250,71,-0.9629836591,,, +4.4414062500,71,-0.9635083059,,, +4.4433593750,71,-0.9640292773,,, +4.4453125000,71,-0.9645465712,,, +4.4472656250,71,-0.9650601856,,, +4.4492187500,71,-0.9655701186,,, +4.4511718750,71,-0.9660763683,,, +4.4531250000,71,-0.9665789327,,, +4.4550781250,71,-0.9670778099,,, +4.4570312500,71,-0.9675729979,,, +4.4589843750,71,-0.9680644950,,, +4.4609375000,71,-0.9685522992,,, +4.4628906250,71,-0.9690364087,,, +4.4648437500,71,-0.9695168215,,, +4.4667968750,71,-0.9699935360,,, +4.4687500000,71,-0.9704665503,,, +4.4707031250,71,-0.9709358625,,, +4.4726562500,71,-0.9714014708,,, +4.4746093750,71,-0.9718633736,,, +4.4765625000,71,-0.9723215690,,, +4.4785156250,71,-0.9727760554,,, +4.4804687500,71,-0.9732268308,,, +4.4824218750,71,-0.9736738937,,, +4.4843750000,71,-0.9741172423,,, +4.4863281250,71,-0.9745568750,,, +4.4882812500,71,-0.9749927900,,, +4.4902343750,71,-0.9754249858,,, +4.4921875000,71,-0.9758534605,,, +4.4941406250,71,-0.9762782127,,, +4.4960937500,71,-0.9766992407,,, +4.4980468750,71,-0.9771165429,,, +4.5000000000,72,-0.9775301177,,, +4.5019531250,72,-0.9779399635,,, +4.5039062500,72,-0.9783460787,,, +4.5058593750,72,-0.9787484619,,, +4.5078125000,72,-0.9791471114,,, +4.5097656250,72,-0.9795420258,,, +4.5117187500,72,-0.9799332035,,, +4.5136718750,72,-0.9803206431,,, +4.5156250000,72,-0.9807043430,,, +4.5175781250,72,-0.9810843019,,, +4.5195312500,72,-0.9814605182,,, +4.5214843750,72,-0.9818329906,,, +4.5234375000,72,-0.9822017175,,, +4.5253906250,72,-0.9825666977,,, +4.5273437500,72,-0.9829279297,,, +4.5292968750,72,-0.9832854120,,, +4.5312500000,72,-0.9836391435,,, +4.5332031250,72,-0.9839891227,,, +4.5351562500,72,-0.9843353482,,, +4.5371093750,72,-0.9846778188,,, +4.5390625000,72,-0.9850165332,,, +4.5410156250,72,-0.9853514900,,, +4.5429687500,72,-0.9856826880,,, +4.5449218750,72,-0.9860101260,,, +4.5468750000,72,-0.9863338026,,, +4.5488281250,72,-0.9866537166,,, +4.5507812500,72,-0.9869698669,,, +4.5527343750,72,-0.9872822521,,, +4.5546875000,72,-0.9875908712,,, +4.5566406250,72,-0.9878957229,,, +4.5585937500,72,-0.9881968061,,, +4.5605468750,72,-0.9884941197,,, +4.5625000000,73,-0.9887876624,,, +4.5644531250,73,-0.9890774332,,, +4.5664062500,73,-0.9893634310,,, +4.5683593750,73,-0.9896456546,,, +4.5703125000,73,-0.9899241031,,, +4.5722656250,73,-0.9901987753,,, +4.5742187500,73,-0.9904696702,,, +4.5761718750,73,-0.9907367867,,, +4.5781250000,73,-0.9910001239,,, +4.5800781250,73,-0.9912596807,,, +4.5820312500,73,-0.9915154562,,, +4.5839843750,73,-0.9917674493,,, +4.5859375000,73,-0.9920156592,,, +4.5878906250,73,-0.9922600848,,, +4.5898437500,73,-0.9925007252,,, +4.5917968750,73,-0.9927375796,,, +4.5937500000,73,-0.9929706469,,, +4.5957031250,73,-0.9931999264,,, +4.5976562500,73,-0.9934254171,,, +4.5996093750,73,-0.9936471182,,, +4.6015625000,73,-0.9938650289,,, +4.6035156250,73,-0.9940791482,,, +4.6054687500,73,-0.9942894755,,, +4.6074218750,73,-0.9944960098,,, +4.6093750000,73,-0.9946987504,,, +4.6113281250,73,-0.9948976966,,, +4.6132812500,73,-0.9950928475,,, +4.6152343750,73,-0.9952842025,,, +4.6171875000,73,-0.9954717607,,, +4.6191406250,73,-0.9956555215,,, +4.6210937500,73,-0.9958354842,,, +4.6230468750,73,-0.9960116481,,, +4.6250000000,74,-0.9961840125,,, +4.6269531250,74,-0.9963525767,,, +4.6289062500,74,-0.9965173402,,, +4.6308593750,74,-0.9966783023,,, +4.6328125000,74,-0.9968354623,,, +4.6347656250,74,-0.9969888198,,, +4.6367187500,74,-0.9971383740,,, +4.6386718750,74,-0.9972841244,,, +4.6406250000,74,-0.9974260705,,, +4.6425781250,74,-0.9975642117,,, +4.6445312500,74,-0.9976985475,,, +4.6464843750,74,-0.9978290774,,, +4.6484375000,74,-0.9979558009,,, +4.6503906250,74,-0.9980787175,,, +4.6523437500,74,-0.9981978267,,, +4.6542968750,74,-0.9983131281,,, +4.6562500000,74,-0.9984246213,,, +4.6582031250,74,-0.9985323057,,, +4.6601562500,74,-0.9986361811,,, +4.6621093750,74,-0.9987362469,,, +4.6640625000,74,-0.9988325029,,, +4.6660156250,74,-0.9989249486,,, +4.6679687500,74,-0.9990135838,,, +4.6699218750,74,-0.9990984080,,, +4.6718750000,74,-0.9991794209,,, +4.6738281250,74,-0.9992566223,,, +4.6757812500,74,-0.9993300119,,, +4.6777343750,74,-0.9993995893,,, +4.6796875000,74,-0.9994653542,,, +4.6816406250,74,-0.9995273066,,, +4.6835937500,74,-0.9995854460,,, +4.6855468750,74,-0.9996397723,,, +4.6875000000,75,-0.9996902853,,, +4.6894531250,75,-0.9997369848,,, +4.6914062500,75,-0.9997798706,,, +4.6933593750,75,-0.9998189425,,, +4.6953125000,75,-0.9998542005,,, +4.6972656250,75,-0.9998856442,,, +4.6992187500,75,-0.9999132738,,, +4.7011718750,75,-0.9999370889,,, +4.7031250000,75,-0.9999570896,,, +4.7050781250,75,-0.9999732758,,, +4.7070312500,75,-0.9999856474,,, +4.7089843750,75,-0.9999942043,,, +4.7109375000,75,-0.9999989466,,, +4.7128906250,75,-0.9999998742,,, +4.7148437500,75,-0.9999969871,,, +4.7167968750,75,-0.9999902852,,, +4.7187500000,75,-0.9999797688,,, +4.7207031250,75,-0.9999654377,,, +4.7226562500,75,-0.9999472921,,, +4.7246093750,75,-0.9999253319,,, +4.7265625000,75,-0.9998995574,,, +4.7285156250,75,-0.9998699685,,, +4.7304687500,75,-0.9998365654,,, +4.7324218750,75,-0.9997993483,,, +4.7343750000,75,-0.9997583172,,, +4.7363281250,75,-0.9997134724,,, +4.7382812500,75,-0.9996648139,,, +4.7402343750,75,-0.9996123420,,, +4.7421875000,75,-0.9995560570,,, +4.7441406250,75,-0.9994959589,,, +4.7460937500,75,-0.9994320480,,, +4.7480468750,75,-0.9993643246,,, +4.7500000000,76,-0.9992927890,,, +4.7519531250,76,-0.9992174413,,, +4.7539062500,76,-0.9991382819,,, +4.7558593750,76,-0.9990553112,,, +4.7578125000,76,-0.9989685293,,, +4.7597656250,76,-0.9988779367,,, +4.7617187500,76,-0.9987835336,,, +4.7636718750,76,-0.9986853205,,, +4.7656250000,76,-0.9985832977,,, +4.7675781250,76,-0.9984774657,,, +4.7695312500,76,-0.9983678247,,, +4.7714843750,76,-0.9982543753,,, +4.7734375000,76,-0.9981371178,,, +4.7753906250,76,-0.9980160527,,, +4.7773437500,76,-0.9978911806,,, +4.7792968750,76,-0.9977625017,,, +4.7812500000,76,-0.9976300167,,, +4.7832031250,76,-0.9974937261,,, +4.7851562500,76,-0.9973536303,,, +4.7871093750,76,-0.9972097299,,, +4.7890625000,76,-0.9970620254,,, +4.7910156250,76,-0.9969105175,,, +4.7929687500,76,-0.9967552067,,, +4.7949218750,76,-0.9965960935,,, +4.7968750000,76,-0.9964331786,,, +4.7988281250,76,-0.9962664627,,, +4.8007812500,76,-0.9960959463,,, +4.8027343750,76,-0.9959216300,,, +4.8046875000,76,-0.9957435147,,, +4.8066406250,76,-0.9955616009,,, +4.8085937500,76,-0.9953758893,,, +4.8105468750,76,-0.9951863806,,, +4.8125000000,77,-0.9949930757,,, +4.8144531250,77,-0.9947959751,,, +4.8164062500,77,-0.9945950797,,, +4.8183593750,77,-0.9943903902,,, +4.8203125000,77,-0.9941819074,,, +4.8222656250,77,-0.9939696321,,, +4.8242187500,77,-0.9937535652,,, +4.8261718750,77,-0.9935337073,,, +4.8281250000,77,-0.9933100594,,, +4.8300781250,77,-0.9930826224,,, +4.8320312500,77,-0.9928513970,,, +4.8339843750,77,-0.9926163842,,, +4.8359375000,77,-0.9923775849,,, +4.8378906250,77,-0.9921350000,,, +4.8398437500,77,-0.9918886304,,, +4.8417968750,77,-0.9916384770,,, +4.8437500000,77,-0.9913845408,,, +4.8457031250,77,-0.9911268228,,, +4.8476562500,77,-0.9908653239,,, +4.8496093750,77,-0.9906000452,,, +4.8515625000,77,-0.9903309877,,, +4.8535156250,77,-0.9900581523,,, +4.8554687500,77,-0.9897815402,,, +4.8574218750,77,-0.9895011523,,, +4.8593750000,77,-0.9892169898,,, +4.8613281250,77,-0.9889290538,,, +4.8632812500,77,-0.9886373452,,, +4.8652343750,77,-0.9883418654,,, +4.8671875000,77,-0.9880426153,,, +4.8691406250,77,-0.9877395961,,, +4.8710937500,77,-0.9874328090,,, +4.8730468750,77,-0.9871222551,,, +4.8750000000,78,-0.9868079357,,, +4.8769531250,78,-0.9864898519,,, +4.8789062500,78,-0.9861680050,,, +4.8808593750,78,-0.9858423961,,, +4.8828125000,78,-0.9855130265,,, +4.8847656250,78,-0.9851798975,,, +4.8867187500,78,-0.9848430103,,, +4.8886718750,78,-0.9845023662,,, +4.8906250000,78,-0.9841579666,,, +4.8925781250,78,-0.9838098127,,, +4.8945312500,78,-0.9834579059,,, +4.8964843750,78,-0.9831022475,,, +4.8984375000,78,-0.9827428388,,, +4.9003906250,78,-0.9823796813,,, +4.9023437500,78,-0.9820127763,,, +4.9042968750,78,-0.9816421252,,, +4.9062500000,78,-0.9812677294,,, +4.9082031250,78,-0.9808895905,,, +4.9101562500,78,-0.9805077097,,, +4.9121093750,78,-0.9801220885,,, +4.9140625000,78,-0.9797327286,,, +4.9160156250,78,-0.9793396312,,, +4.9179687500,78,-0.9789427979,,, +4.9199218750,78,-0.9785422303,,, +4.9218750000,78,-0.9781379298,,, +4.9238281250,78,-0.9777298981,,, +4.9257812500,78,-0.9773181366,,, +4.9277343750,78,-0.9769026469,,, +4.9296875000,78,-0.9764834306,,, +4.9316406250,78,-0.9760604894,,, +4.9335937500,78,-0.9756338247,,, +4.9355468750,78,-0.9752034384,,, +4.9375000000,79,-0.9747693319,,, +4.9394531250,79,-0.9743315070,,, +4.9414062500,79,-0.9738899652,,, +4.9433593750,79,-0.9734447084,,, +4.9453125000,79,-0.9729957382,,, +4.9472656250,79,-0.9725430564,,, +4.9492187500,79,-0.9720866645,,, +4.9511718750,79,-0.9716265645,,, +4.9531250000,79,-0.9711627580,,, +4.9550781250,79,-0.9706952468,,, +4.9570312500,79,-0.9702240327,,, +4.9589843750,79,-0.9697491174,,, +4.9609375000,79,-0.9692705029,,, +4.9628906250,79,-0.9687881909,,, +4.9648437500,79,-0.9683021833,,, +4.9667968750,79,-0.9678124819,,, +4.9687500000,79,-0.9673190886,,, +4.9707031250,79,-0.9668220053,,, +4.9726562500,79,-0.9663212338,,, +4.9746093750,79,-0.9658167761,,, +4.9765625000,79,-0.9653086341,,, +4.9785156250,79,-0.9647968098,,, +4.9804687500,79,-0.9642813050,,, +4.9824218750,79,-0.9637621218,,, +4.9843750000,79,-0.9632392622,,, +4.9863281250,79,-0.9627127280,,, +4.9882812500,79,-0.9621825215,,, +4.9902343750,79,-0.9616486445,,, +4.9921875000,79,-0.9611110990,,, +4.9941406250,79,-0.9605698873,,, +4.9960937500,79,-0.9600250113,,, +4.9980468750,79,-0.9594764730,,, +5.0000000000,80,-0.9589242747,,, +5.0019531250,80,-0.9583684183,,, +5.0039062500,80,-0.9578089061,,, +5.0058593750,80,-0.9572457401,,, +5.0078125000,80,-0.9566789225,,, +5.0097656250,80,-0.9561084555,,, +5.0117187500,80,-0.9555343412,,, +5.0136718750,80,-0.9549565818,,, +5.0156250000,80,-0.9543751796,,, +5.0175781250,80,-0.9537901367,,, +5.0195312500,80,-0.9532014554,,, +5.0214843750,80,-0.9526091379,,, +5.0234375000,80,-0.9520131865,,, +5.0253906250,80,-0.9514136034,,, +5.0273437500,80,-0.9508103911,,, +5.0292968750,80,-0.9502035516,,, +5.0312500000,80,-0.9495930874,,, +5.0332031250,80,-0.9489790008,,, +5.0351562500,80,-0.9483612942,,, +5.0371093750,80,-0.9477399698,,, +5.0390625000,80,-0.9471150301,,, +5.0410156250,80,-0.9464864775,,, +5.0429687500,80,-0.9458543142,,, +5.0449218750,80,-0.9452185429,,, +5.0468750000,80,-0.9445791658,,, +5.0488281250,80,-0.9439361854,,, +5.0507812500,80,-0.9432896042,,, +5.0527343750,80,-0.9426394247,,, +5.0546875000,80,-0.9419856492,,, +5.0566406250,80,-0.9413282804,,, +5.0585937500,80,-0.9406673207,,, +5.0605468750,80,-0.9400027726,,, +5.0625000000,81,-0.9393346387,,, +5.0644531250,81,-0.9386629215,,, +5.0664062500,81,-0.9379876236,,, +5.0683593750,81,-0.9373087476,,, +5.0703125000,81,-0.9366262960,,, +5.0722656250,81,-0.9359402715,,, +5.0742187500,81,-0.9352506766,,, +5.0761718750,81,-0.9345575141,,, +5.0781250000,81,-0.9338607865,,, +5.0800781250,81,-0.9331604965,,, +5.0820312500,81,-0.9324566468,,, +5.0839843750,81,-0.9317492400,,, +5.0859375000,81,-0.9310382789,,, +5.0878906250,81,-0.9303237662,,, +5.0898437500,81,-0.9296057046,,, +5.0917968750,81,-0.9288840968,,, +5.0937500000,81,-0.9281589456,,, +5.0957031250,81,-0.9274302537,,, +5.0976562500,81,-0.9266980240,,, +5.0996093750,81,-0.9259622592,,, +5.1015625000,81,-0.9252229622,,, +5.1035156250,81,-0.9244801357,,, +5.1054687500,81,-0.9237337826,,, +5.1074218750,81,-0.9229839057,,, +5.1093750000,81,-0.9222305080,,, +5.1113281250,81,-0.9214735922,,, +5.1132812500,81,-0.9207131612,,, +5.1152343750,81,-0.9199492181,,, +5.1171875000,81,-0.9191817656,,, +5.1191406250,81,-0.9184108067,,, +5.1210937500,81,-0.9176363443,,, +5.1230468750,81,-0.9168583814,,, +5.1250000000,82,-0.9160769210,,, +5.1269531250,82,-0.9152919661,,, +5.1289062500,82,-0.9145035196,,, +5.1308593750,82,-0.9137115845,,, +5.1328125000,82,-0.9129161639,,, +5.1347656250,82,-0.9121172608,,, +5.1367187500,82,-0.9113148782,,, +5.1386718750,82,-0.9105090193,,, +5.1406250000,82,-0.9096996870,,, +5.1425781250,82,-0.9088868845,,, +5.1445312500,82,-0.9080706149,,, +5.1464843750,82,-0.9072508813,,, +5.1484375000,82,-0.9064276868,,, +5.1503906250,82,-0.9056010345,,, +5.1523437500,82,-0.9047709277,,, +5.1542968750,82,-0.9039373694,,, +5.1562500000,82,-0.9031003629,,, +5.1582031250,82,-0.9022599113,,, +5.1601562500,82,-0.9014160179,,, +5.1621093750,82,-0.9005686859,,, +5.1640625000,82,-0.8997179184,,, +5.1660156250,82,-0.8988637188,,, +5.1679687500,82,-0.8980060903,,, +5.1699218750,82,-0.8971450362,,, +5.1718750000,82,-0.8962805598,,, +5.1738281250,82,-0.8954126643,,, +5.1757812500,82,-0.8945413531,,, +5.1777343750,82,-0.8936666295,,, +5.1796875000,82,-0.8927884968,,, +5.1816406250,82,-0.8919069584,,, +5.1835937500,82,-0.8910220176,,, +5.1855468750,82,-0.8901336779,,, +5.1875000000,83,-0.8892419426,,, +5.1894531250,83,-0.8883468151,,, +5.1914062500,83,-0.8874482988,,, +5.1933593750,83,-0.8865463972,,, +5.1953125000,83,-0.8856411137,,, +5.1972656250,83,-0.8847324517,,, +5.1992187500,83,-0.8838204147,,, +5.2011718750,83,-0.8829050063,,, +5.2031250000,83,-0.8819862298,,, +5.2050781250,83,-0.8810640888,,, +5.2070312500,83,-0.8801385868,,, +5.2089843750,83,-0.8792097273,,, +5.2109375000,83,-0.8782775140,,, +5.2128906250,83,-0.8773419502,,, +5.2148437500,83,-0.8764030397,,, +5.2167968750,83,-0.8754607860,,, +5.2187500000,83,-0.8745151926,,, +5.2207031250,83,-0.8735662633,,, +5.2226562500,83,-0.8726140015,,, +5.2246093750,83,-0.8716584110,,, +5.2265625000,83,-0.8706994954,,, +5.2285156250,83,-0.8697372583,,, +5.2304687500,83,-0.8687717035,,, +5.2324218750,83,-0.8678028345,,, +5.2343750000,83,-0.8668306552,,, +5.2363281250,83,-0.8658551691,,, +5.2382812500,83,-0.8648763801,,, +5.2402343750,83,-0.8638942918,,, +5.2421875000,83,-0.8629089081,,, +5.2441406250,83,-0.8619202326,,, +5.2460937500,83,-0.8609282691,,, +5.2480468750,83,-0.8599330215,,, +5.2500000000,84,-0.8589344934,,, +5.2519531250,84,-0.8579326888,,, +5.2539062500,84,-0.8569276115,,, +5.2558593750,84,-0.8559192652,,, +5.2578125000,84,-0.8549076539,,, +5.2597656250,84,-0.8538927813,,, +5.2617187500,84,-0.8528746514,,, +5.2636718750,84,-0.8518532681,,, +5.2656250000,84,-0.8508286351,,, +5.2675781250,84,-0.8498007566,,, +5.2695312500,84,-0.8487696363,,, +5.2714843750,84,-0.8477352782,,, +5.2734375000,84,-0.8466976862,,, +5.2753906250,84,-0.8456568644,,, +5.2773437500,84,-0.8446128166,,, +5.2792968750,84,-0.8435655469,,, +5.2812500000,84,-0.8425150593,,, +5.2832031250,84,-0.8414613577,,, +5.2851562500,84,-0.8404044462,,, +5.2871093750,84,-0.8393443288,,, +5.2890625000,84,-0.8382810095,,, +5.2910156250,84,-0.8372144925,,, +5.2929687500,84,-0.8361447817,,, +5.2949218750,84,-0.8350718813,,, +5.2968750000,84,-0.8339957954,,, +5.2988281250,84,-0.8329165280,,, +5.3007812500,84,-0.8318340833,,, +5.3027343750,84,-0.8307484654,,, +5.3046875000,84,-0.8296596785,,, +5.3066406250,84,-0.8285677266,,, +5.3085937500,84,-0.8274726141,,, +5.3105468750,84,-0.8263743449,,, +5.3125000000,85,-0.8252729234,,, +5.3144531250,85,-0.8241683538,,, +5.3164062500,85,-0.8230606401,,, +5.3183593750,85,-0.8219497868,,, +5.3203125000,85,-0.8208357980,,, +5.3222656250,85,-0.8197186779,,, +5.3242187500,85,-0.8185984308,,, +5.3261718750,85,-0.8174750611,,, +5.3281250000,85,-0.8163485729,,, +5.3300781250,85,-0.8152189706,,, +5.3320312500,85,-0.8140862585,,, +5.3339843750,85,-0.8129504409,,, +5.3359375000,85,-0.8118115222,,, +5.3378906250,85,-0.8106695066,,, +5.3398437500,85,-0.8095243986,,, +5.3417968750,85,-0.8083762024,,, +5.3437500000,85,-0.8072249226,,, +5.3457031250,85,-0.8060705635,,, +5.3476562500,85,-0.8049131294,,, +5.3496093750,85,-0.8037526248,,, +5.3515625000,85,-0.8025890542,,, +5.3535156250,85,-0.8014224219,,, +5.3554687500,85,-0.8002527325,,, +5.3574218750,85,-0.7990799903,,, +5.3593750000,85,-0.7979041999,,, +5.3613281250,85,-0.7967253657,,, +5.3632812500,85,-0.7955434923,,, +5.3652343750,85,-0.7943585841,,, +5.3671875000,85,-0.7931706456,,, +5.3691406250,85,-0.7919796815,,, +5.3710937500,85,-0.7907856962,,, +5.3730468750,85,-0.7895886943,,, +5.3750000000,86,-0.7883886803,,, +5.3769531250,86,-0.7871856589,,, +5.3789062500,86,-0.7859796346,,, +5.3808593750,86,-0.7847706121,,, +5.3828125000,86,-0.7835585958,,, +5.3847656250,86,-0.7823435906,,, +5.3867187500,86,-0.7811256009,,, +5.3886718750,86,-0.7799046315,,, +5.3906250000,86,-0.7786806870,,, +5.3925781250,86,-0.7774537720,,, +5.3945312500,86,-0.7762238913,,, +5.3964843750,86,-0.7749910496,,, +5.3984375000,86,-0.7737552515,,, +5.4003906250,86,-0.7725165017,,, +5.4023437500,86,-0.7712748050,,, +5.4042968750,86,-0.7700301662,,, +5.4062500000,86,-0.7687825899,,, +5.4082031250,86,-0.7675320809,,, +5.4101562500,86,-0.7662786441,,, +5.4121093750,86,-0.7650222841,,, +5.4140625000,86,-0.7637630058,,, +5.4160156250,86,-0.7625008140,,, +5.4179687500,86,-0.7612357135,,, +5.4199218750,86,-0.7599677090,,, +5.4218750000,86,-0.7586968056,,, +5.4238281250,86,-0.7574230079,,, +5.4257812500,86,-0.7561463209,,, +5.4277343750,86,-0.7548667495,,, +5.4296875000,86,-0.7535842984,,, +5.4316406250,86,-0.7522989726,,, +5.4335937500,86,-0.7510107771,,, +5.4355468750,86,-0.7497197167,,, +5.4375000000,87,-0.7484257963,,, +5.4394531250,87,-0.7471290209,,, +5.4414062500,87,-0.7458293955,,, +5.4433593750,87,-0.7445269249,,, +5.4453125000,87,-0.7432216142,,, +5.4472656250,87,-0.7419134683,,, +5.4492187500,87,-0.7406024922,,, +5.4511718750,87,-0.7392886910,,, +5.4531250000,87,-0.7379720696,,, +5.4550781250,87,-0.7366526331,,, +5.4570312500,87,-0.7353303865,,, +5.4589843750,87,-0.7340053348,,, +5.4609375000,87,-0.7326774831,,, +5.4628906250,87,-0.7313468364,,, +5.4648437500,87,-0.7300133999,,, +5.4667968750,87,-0.7286771786,,, +5.4687500000,87,-0.7273381776,,, +5.4707031250,87,-0.7259964021,,, +5.4726562500,87,-0.7246518571,,, +5.4746093750,87,-0.7233045478,,, +5.4765625000,87,-0.7219544792,,, +5.4785156250,87,-0.7206016567,,, +5.4804687500,87,-0.7192460853,,, +5.4824218750,87,-0.7178877701,,, +5.4843750000,87,-0.7165267165,,, +5.4863281250,87,-0.7151629295,,, +5.4882812500,87,-0.7137964144,,, +5.4902343750,87,-0.7124271763,,, +5.4921875000,87,-0.7110552206,,, +5.4941406250,87,-0.7096805524,,, +5.4960937500,87,-0.7083031770,,, +5.4980468750,87,-0.7069230996,,, +5.5000000000,88,-0.7055403256,,, +5.5019531250,88,-0.7041548601,,, +5.5039062500,88,-0.7027667085,,, +5.5058593750,88,-0.7013758760,,, +5.5078125000,88,-0.6999823680,,, +5.5097656250,88,-0.6985861898,,, +5.5117187500,88,-0.6971873467,,, +5.5136718750,88,-0.6957858440,,, +5.5156250000,88,-0.6943816871,,, +5.5175781250,88,-0.6929748814,,, +5.5195312500,88,-0.6915654322,,, +5.5214843750,88,-0.6901533448,,, +5.5234375000,88,-0.6887386248,,, +5.5253906250,88,-0.6873212774,,, +5.5273437500,88,-0.6859013081,,, +5.5292968750,88,-0.6844787222,,, +5.5312500000,88,-0.6830535254,,, +5.5332031250,88,-0.6816257228,,, +5.5351562500,88,-0.6801953201,,, +5.5371093750,88,-0.6787623226,,, +5.5390625000,88,-0.6773267359,,, +5.5410156250,88,-0.6758885653,,, +5.5429687500,88,-0.6744478165,,, +5.5449218750,88,-0.6730044948,,, +5.5468750000,88,-0.6715586059,,, +5.5488281250,88,-0.6701101551,,, +5.5507812500,88,-0.6686591481,,, +5.5527343750,88,-0.6672055903,,, +5.5546875000,88,-0.6657494874,,, +5.5566406250,88,-0.6642908448,,, +5.5585937500,88,-0.6628296681,,, +5.5605468750,88,-0.6613659630,,, +5.5625000000,89,-0.6598997350,,, +5.5644531250,89,-0.6584309896,,, +5.5664062500,89,-0.6569597325,,, +5.5683593750,89,-0.6554859693,,, +5.5703125000,89,-0.6540097057,,, +5.5722656250,89,-0.6525309472,,, +5.5742187500,89,-0.6510496994,,, +5.5761718750,89,-0.6495659682,,, +5.5781250000,89,-0.6480797590,,, +5.5800781250,89,-0.6465910776,,, +5.5820312500,89,-0.6450999297,,, +5.5839843750,89,-0.6436063209,,, +5.5859375000,89,-0.6421102569,,, +5.5878906250,89,-0.6406117435,,, +5.5898437500,89,-0.6391107863,,, +5.5917968750,89,-0.6376073911,,, +5.5937500000,89,-0.6361015637,,, +5.5957031250,89,-0.6345933097,,, +5.5976562500,89,-0.6330826349,,, +5.5996093750,89,-0.6315695451,,, +5.6015625000,89,-0.6300540461,,, +5.6035156250,89,-0.6285361436,,, +5.6054687500,89,-0.6270158434,,, +5.6074218750,89,-0.6254931514,,, +5.6093750000,89,-0.6239680733,,, +5.6113281250,89,-0.6224406149,,, +5.6132812500,89,-0.6209107821,,, +5.6152343750,89,-0.6193785807,,, +5.6171875000,89,-0.6178440166,,, +5.6191406250,89,-0.6163070956,,, +5.6210937500,89,-0.6147678236,,, +5.6230468750,89,-0.6132262064,,, +5.6250000000,90,-0.6116822500,,, +5.6269531250,90,-0.6101359602,,, +5.6289062500,90,-0.6085873429,,, +5.6308593750,90,-0.6070364040,,, +5.6328125000,90,-0.6054831494,,, +5.6347656250,90,-0.6039275851,,, +5.6367187500,90,-0.6023697171,,, +5.6386718750,90,-0.6008095511,,, +5.6406250000,90,-0.5992470933,,, +5.6425781250,90,-0.5976823495,,, +5.6445312500,90,-0.5961153257,,, +5.6464843750,90,-0.5945460280,,, +5.6484375000,90,-0.5929744622,,, +5.6503906250,90,-0.5914006344,,, +5.6523437500,90,-0.5898245506,,, +5.6542968750,90,-0.5882462168,,, +5.6562500000,90,-0.5866656390,,, +5.6582031250,90,-0.5850828233,,, +5.6601562500,90,-0.5834977756,,, +5.6621093750,90,-0.5819105021,,, +5.6640625000,90,-0.5803210087,,, +5.6660156250,90,-0.5787293017,,, +5.6679687500,90,-0.5771353869,,, +5.6699218750,90,-0.5755392706,,, +5.6718750000,90,-0.5739409587,,, +5.6738281250,90,-0.5723404574,,, +5.6757812500,90,-0.5707377729,,, +5.6777343750,90,-0.5691329111,,, +5.6796875000,90,-0.5675258782,,, +5.6816406250,90,-0.5659166805,,, +5.6835937500,90,-0.5643053239,,, +5.6855468750,90,-0.5626918147,,, +5.6875000000,91,-0.5610761589,,, +5.6894531250,91,-0.5594583629,,, +5.6914062500,91,-0.5578384327,,, +5.6933593750,91,-0.5562163745,,, +5.6953125000,91,-0.5545921944,,, +5.6972656250,91,-0.5529658988,,, +5.6992187500,91,-0.5513374938,,, +5.7011718750,91,-0.5497069857,,, +5.7031250000,91,-0.5480743805,,, +5.7050781250,91,-0.5464396846,,, +5.7070312500,91,-0.5448029042,,, +5.7089843750,91,-0.5431640456,,, +5.7109375000,91,-0.5415231149,,, +5.7128906250,91,-0.5398801185,,, +5.7148437500,91,-0.5382350626,,, +5.7167968750,91,-0.5365879536,,, +5.7187500000,91,-0.5349387976,,, +5.7207031250,91,-0.5332876009,,, +5.7226562500,91,-0.5316343700,,, +5.7246093750,91,-0.5299791110,,, +5.7265625000,91,-0.5283218303,,, +5.7285156250,91,-0.5266625342,,, +5.7304687500,91,-0.5250012291,,, +5.7324218750,91,-0.5233379212,,, +5.7343750000,91,-0.5216726170,,, +5.7363281250,91,-0.5200053227,,, +5.7382812500,91,-0.5183360448,,, +5.7402343750,91,-0.5166647896,,, +5.7421875000,91,-0.5149915634,,, +5.7441406250,91,-0.5133163728,,, +5.7460937500,91,-0.5116392240,,, +5.7480468750,91,-0.5099601234,,, +5.7500000000,92,-0.5082790775,,, +5.7519531250,92,-0.5065960927,,, +5.7539062500,92,-0.5049111753,,, +5.7558593750,92,-0.5032243319,,, +5.7578125000,92,-0.5015355688,,, +5.7597656250,92,-0.4998448925,33024,5.7597656250,0.0000000000 +5.7617187500,92,-0.4981523095,,, +5.7636718750,92,-0.4964578262,,, +5.7656250000,92,-0.4947614490,,, +5.7675781250,92,-0.4930631844,,, +5.7695312500,92,-0.4913630390,,, +5.7714843750,92,-0.4896610192,,, +5.7734375000,92,-0.4879571315,,, +5.7753906250,92,-0.4862513823,,, +5.7773437500,92,-0.4845437783,,, +5.7792968750,92,-0.4828343258,,, +5.7812500000,92,-0.4811230316,,, +5.7832031250,92,-0.4794099019,,, +5.7851562500,92,-0.4776949435,,, +5.7871093750,92,-0.4759781628,,, +5.7890625000,92,-0.4742595664,,, +5.7910156250,92,-0.4725391608,,, +5.7929687500,92,-0.4708169526,,, +5.7949218750,92,-0.4690929485,,, +5.7968750000,92,-0.4673671548,,, +5.7988281250,92,-0.4656395783,,, +5.8007812500,92,-0.4639102256,,, +5.8027343750,92,-0.4621791031,,, +5.8046875000,92,-0.4604462176,,, +5.8066406250,92,-0.4587115756,,, +5.8085937500,92,-0.4569751838,,, +5.8105468750,92,-0.4552370488,,, +5.8125000000,93,-0.4534971771,,, +5.8144531250,93,-0.4517555755,,, +5.8164062500,93,-0.4500122506,,, +5.8183593750,93,-0.4482672091,,, +5.8203125000,93,-0.4465204575,,, +5.8222656250,93,-0.4447720026,,, +5.8242187500,93,-0.4430218510,,, +5.8261718750,93,-0.4412700095,,, +5.8281250000,93,-0.4395164846,,, +5.8300781250,93,-0.4377612831,,, +5.8320312500,93,-0.4360044117,,, +5.8339843750,93,-0.4342458770,,, +5.8359375000,93,-0.4324856859,,, +5.8378906250,93,-0.4307238449,,, +5.8398437500,93,-0.4289603608,,, +5.8417968750,93,-0.4271952404,,, +5.8437500000,93,-0.4254284904,,, +5.8457031250,93,-0.4236601175,,, +5.8476562500,93,-0.4218901285,,, +5.8496093750,93,-0.4201185301,,, +5.8515625000,93,-0.4183453290,,, +5.8535156250,93,-0.4165705321,,, +5.8554687500,93,-0.4147941461,,, +5.8574218750,93,-0.4130161778,,, +5.8593750000,93,-0.4112366340,,, +5.8613281250,93,-0.4094555214,,, +5.8632812500,93,-0.4076728469,,, +5.8652343750,93,-0.4058886172,,, +5.8671875000,93,-0.4041028392,,, +5.8691406250,93,-0.4023155196,,, +5.8710937500,93,-0.4005266653,,, +5.8730468750,93,-0.3987362832,,, +5.8750000000,94,-0.3969443800,,, +5.8769531250,94,-0.3951509626,,, +5.8789062500,94,-0.3933560378,,, +5.8808593750,94,-0.3915596124,,, +5.8828125000,94,-0.3897616934,,, +5.8847656250,94,-0.3879622875,,, +5.8867187500,94,-0.3861614017,,, +5.8886718750,94,-0.3843590428,,, +5.8906250000,94,-0.3825552177,,, +5.8925781250,94,-0.3807499333,,, +5.8945312500,94,-0.3789431964,,, +5.8964843750,94,-0.3771350140,,, +5.8984375000,94,-0.3753253929,,, +5.9003906250,94,-0.3735143401,,, +5.9023437500,94,-0.3717018624,,, +5.9042968750,94,-0.3698879667,,, +5.9062500000,94,-0.3680726601,,, +5.9082031250,94,-0.3662559494,,, +5.9101562500,94,-0.3644378415,,, +5.9121093750,94,-0.3626183435,,, +5.9140625000,94,-0.3607974621,,, +5.9160156250,94,-0.3589752044,,, +5.9179687500,94,-0.3571515773,,, +5.9199218750,94,-0.3553265878,,, +5.9218750000,94,-0.3535002428,,, +5.9238281250,94,-0.3516725494,,, +5.9257812500,94,-0.3498435144,,, +5.9277343750,94,-0.3480131449,,, +5.9296875000,94,-0.3461814478,,, +5.9316406250,94,-0.3443484301,,, +5.9335937500,94,-0.3425140988,,, +5.9355468750,94,-0.3406784610,,, +5.9375000000,95,-0.3388415235,,, +5.9394531250,95,-0.3370032935,,, +5.9414062500,95,-0.3351637780,,, +5.9433593750,95,-0.3333229838,,, +5.9453125000,95,-0.3314809182,,, +5.9472656250,95,-0.3296375880,,, +5.9492187500,95,-0.3277930004,,, +5.9511718750,95,-0.3259471624,,, +5.9531250000,95,-0.3241000810,,, +5.9550781250,95,-0.3222517632,,, +5.9570312500,95,-0.3204022161,,, +5.9589843750,95,-0.3185514468,,, +5.9609375000,95,-0.3166994623,,, +5.9628906250,95,-0.3148462697,,, +5.9648437500,95,-0.3129918761,,, +5.9667968750,95,-0.3111362885,,, +5.9687500000,95,-0.3092795140,,, +5.9707031250,95,-0.3074215597,,, +5.9726562500,95,-0.3055624326,,, +5.9746093750,95,-0.3037021400,,, +5.9765625000,95,-0.3018406888,,, +5.9785156250,95,-0.2999780862,,, +5.9804687500,95,-0.2981143392,,, +5.9824218750,95,-0.2962494551,,, +5.9843750000,95,-0.2943834408,,, +5.9863281250,95,-0.2925163036,,, +5.9882812500,95,-0.2906480505,,, +5.9902343750,95,-0.2887786887,,, +5.9921875000,95,-0.2869082252,,, +5.9941406250,95,-0.2850366673,,, +5.9960937500,95,-0.2831640221,,, +5.9980468750,95,-0.2812902967,,, +6.0000000000,96,-0.2794154982,,, +6.0019531250,96,-0.2775396339,,, +6.0039062500,96,-0.2756627108,,, +6.0058593750,96,-0.2737847361,,, +6.0078125000,96,-0.2719057171,,, +6.0097656250,96,-0.2700256608,,, +6.0117187500,96,-0.2681445745,,, +6.0136718750,96,-0.2662624652,,, +6.0156250000,96,-0.2643793403,,, +6.0175781250,96,-0.2624952068,,, +6.0195312500,96,-0.2606100720,,, +6.0214843750,96,-0.2587239430,,, +6.0234375000,96,-0.2568368271,,, +6.0253906250,96,-0.2549487314,,, +6.0273437500,96,-0.2530596632,,, +6.0292968750,96,-0.2511696296,,, +6.0312500000,96,-0.2492786379,,, +6.0332031250,96,-0.2473866953,,, +6.0351562500,96,-0.2454938090,,, +6.0371093750,96,-0.2435999862,,, +6.0390625000,96,-0.2417052341,,, +6.0410156250,96,-0.2398095600,,, +6.0429687500,96,-0.2379129711,,, +6.0449218750,96,-0.2360154746,,, +6.0468750000,96,-0.2341170778,,, +6.0488281250,96,-0.2322177879,,, +6.0507812500,96,-0.2303176122,,, +6.0527343750,96,-0.2284165579,,, +6.0546875000,96,-0.2265146322,,, +6.0566406250,96,-0.2246118424,,, +6.0585937500,96,-0.2227081959,,, +6.0605468750,96,-0.2208036997,,, +6.0625000000,97,-0.2188983613,,, +6.0644531250,97,-0.2169921878,,, +6.0664062500,97,-0.2150851866,,, +6.0683593750,97,-0.2131773649,,, +6.0703125000,97,-0.2112687300,,, +6.0722656250,97,-0.2093592892,,, +6.0742187500,97,-0.2074490497,,, +6.0761718750,97,-0.2055380188,,, +6.0781250000,97,-0.2036262039,,, +6.0800781250,97,-0.2017136123,,, +6.0820312500,97,-0.1998002511,,, +6.0839843750,97,-0.1978861278,,, +6.0859375000,97,-0.1959712496,,, +6.0878906250,97,-0.1940556238,,, +6.0898437500,97,-0.1921392578,,, +6.0917968750,97,-0.1902221588,,, +6.0937500000,97,-0.1883043342,,, +6.0957031250,97,-0.1863857912,,, +6.0976562500,97,-0.1844665372,,, +6.0996093750,97,-0.1825465796,,, +6.1015625000,97,-0.1806259256,,, +6.1035156250,97,-0.1787045826,,, +6.1054687500,97,-0.1767825578,,, +6.1074218750,97,-0.1748598587,,, +6.1093750000,97,-0.1729364926,,, +6.1113281250,97,-0.1710124667,,, +6.1132812500,97,-0.1690877885,,, +6.1152343750,97,-0.1671624653,,, +6.1171875000,97,-0.1652365044,,, +6.1191406250,97,-0.1633099131,,, +6.1210937500,97,-0.1613826989,,, +6.1230468750,97,-0.1594548691,,, +6.1250000000,98,-0.1575264310,,, +6.1269531250,98,-0.1555973920,,, +6.1289062500,98,-0.1536677594,,, +6.1308593750,98,-0.1517375406,,, +6.1328125000,98,-0.1498067430,,, +6.1347656250,98,-0.1478753740,,, +6.1367187500,98,-0.1459434408,,, +6.1386718750,98,-0.1440109509,,, +6.1406250000,98,-0.1420779116,,, +6.1425781250,98,-0.1401443304,,, +6.1445312500,98,-0.1382102145,,, +6.1464843750,98,-0.1362755715,,, +6.1484375000,98,-0.1343404085,,, +6.1503906250,98,-0.1324047331,,, +6.1523437500,98,-0.1304685526,,, +6.1542968750,98,-0.1285318745,,, +6.1562500000,98,-0.1265947060,,, +6.1582031250,98,-0.1246570546,,, +6.1601562500,98,-0.1227189276,,, +6.1621093750,98,-0.1207803326,,, +6.1640625000,98,-0.1188412767,,, +6.1660156250,98,-0.1169017676,,, +6.1679687500,98,-0.1149618125,,, +6.1699218750,98,-0.1130214188,,, +6.1718750000,98,-0.1110805940,,, +6.1738281250,98,-0.1091393455,,, +6.1757812500,98,-0.1071976806,,, +6.1777343750,98,-0.1052556069,,, +6.1796875000,98,-0.1033131315,,, +6.1816406250,98,-0.1013702621,,, +6.1835937500,98,-0.0994270060,,, +6.1855468750,98,-0.0974833706,,, +6.1875000000,99,-0.0955393634,,, +6.1894531250,99,-0.0935949916,,, +6.1914062500,99,-0.0916502629,,, +6.1933593750,99,-0.0897051845,,, +6.1953125000,99,-0.0877597639,,, +6.1972656250,99,-0.0858140086,,, +6.1992187500,99,-0.0838679259,,, +6.2011718750,99,-0.0819215233,,, +6.2031250000,99,-0.0799748081,,, +6.2050781250,99,-0.0780277879,,, +6.2070312500,99,-0.0760804700,,, +6.2089843750,99,-0.0741328619,,, +6.2109375000,99,-0.0721849711,,, +6.2128906250,99,-0.0702368048,,, +6.2148437500,99,-0.0682883706,,, +6.2167968750,99,-0.0663396759,,, +6.2187500000,99,-0.0643907282,,, +6.2207031250,99,-0.0624415348,,, +6.2226562500,99,-0.0604921032,,, +6.2246093750,99,-0.0585424409,,, +6.2265625000,99,-0.0565925552,,, +6.2285156250,99,-0.0546424537,,, +6.2304687500,99,-0.0526921437,,, +6.2324218750,99,-0.0507416327,,, +6.2343750000,99,-0.0487909282,,, +6.2363281250,99,-0.0468400375,,, +6.2382812500,99,-0.0448889681,,, +6.2402343750,99,-0.0429377275,,, +6.2421875000,99,-0.0409863232,,, +6.2441406250,99,-0.0390347624,,, +6.2460937500,99,-0.0370830528,,, +6.2480468750,99,-0.0351312017,,, +6.2500000000,100,-0.0331792165,,, +6.2519531250,100,-0.0312271049,,, +6.2539062500,100,-0.0292748740,,, +6.2558593750,100,-0.0273225316,,, +6.2578125000,100,-0.0253700849,,, +6.2597656250,100,-0.0234175414,,, +6.2617187500,100,-0.0214649085,,, +6.2636718750,100,-0.0195121938,,, +6.2656250000,100,-0.0175594047,,, +6.2675781250,100,-0.0156065486,,, +6.2695312500,100,-0.0136536329,,, +6.2714843750,100,-0.0117006652,,, +6.2734375000,100,-0.0097476528,,, +6.2753906250,100,-0.0077946032,,, +6.2773437500,100,-0.0058415240,,, +6.2792968750,100,-0.0038884224,,, +6.2812500000,100,-0.0019353060,,, +6.2832031250,100,0.0000178178,33024,6.2832031250,0.0000000000 +6.2851562500,100,0.0019709415,,, +6.2871093750,100,0.0039240577,,, +6.2890625000,100,0.0058771590,,, +6.2910156250,100,0.0078302378,,, +6.2929687500,100,0.0097832867,,, +6.2949218750,100,0.0117362984,,, +6.2968750000,100,0.0136892652,,, +6.2988281250,100,0.0156421799,,, +6.3007812500,100,0.0175950348,,, +6.3027343750,100,0.0195478227,,, +6.3046875000,100,0.0215005360,,, +6.3066406250,100,0.0234531672,,, +6.3085937500,100,0.0254057090,,, +6.3105468750,100,0.0273581539,,, +6.3125000000,101,0.0293104944,,, +6.3144531250,101,0.0312627231,,, +6.3164062500,101,0.0332148325,,, +6.3183593750,101,0.0351668153,,, +6.3203125000,101,0.0371186639,,, +6.3222656250,101,0.0390703709,,, +6.3242187500,101,0.0410219288,,, +6.3261718750,101,0.0429733303,,, +6.3281250000,101,0.0449245678,,, +6.3300781250,101,0.0468756340,,, +6.3320312500,101,0.0488265213,,, +6.3339843750,101,0.0507772224,,, +6.3359375000,101,0.0527277298,,, +6.3378906250,101,0.0546780361,,, +6.3398437500,101,0.0566281337,,, +6.3417968750,101,0.0585780154,,, +6.3437500000,101,0.0605276736,,, +6.3457031250,101,0.0624771009,,, +6.3476562500,101,0.0644262898,,, +6.3496093750,101,0.0663752330,,, +6.3515625000,101,0.0683239230,,, +6.3535156250,101,0.0702723524,,, +6.3554687500,101,0.0722205137,,, +6.3574218750,101,0.0741683995,,, +6.3593750000,101,0.0761160023,,, +6.3613281250,101,0.0780633148,,, +6.3632812500,101,0.0800103296,,, +6.3652343750,101,0.0819570391,,, +6.3671875000,101,0.0839034359,,, +6.3691406250,101,0.0858495127,,, +6.3710937500,101,0.0877952620,,, +6.3730468750,101,0.0897406764,,, +6.3750000000,102,0.0916857485,,, +6.3769531250,102,0.0936304708,,, +6.3789062500,102,0.0955748359,,, +6.3808593750,102,0.0975188365,,, +6.3828125000,102,0.0994624650,,, +6.3847656250,102,0.1014057141,,, +6.3867187500,102,0.1033485764,,, +6.3886718750,102,0.1052910445,,, +6.3906250000,102,0.1072331109,,, +6.3925781250,102,0.1091747682,,, +6.3945312500,102,0.1111160091,,, +6.3964843750,102,0.1130568261,,, +6.3984375000,102,0.1149972118,,, +6.4003906250,102,0.1169371588,,, +6.4023437500,102,0.1188766598,,, +6.4042968750,102,0.1208157072,,, +6.4062500000,102,0.1227542938,,, +6.4082031250,102,0.1246924122,,, +6.4101562500,102,0.1266300548,,, +6.4121093750,102,0.1285672144,,, +6.4140625000,102,0.1305038836,,, +6.4160156250,102,0.1324400549,,, +6.4179687500,102,0.1343757211,,, +6.4199218750,102,0.1363108746,,, +6.4218750000,102,0.1382455081,,, +6.4238281250,102,0.1401796143,,, +6.4257812500,102,0.1421131857,,, +6.4277343750,102,0.1440462150,,, +6.4296875000,102,0.1459786948,,, +6.4316406250,102,0.1479106177,,, +6.4335937500,102,0.1498419764,,, +6.4355468750,102,0.1517727636,,, +6.4375000000,103,0.1537029717,,, +6.4394531250,103,0.1556325935,,, +6.4414062500,103,0.1575616216,,, +6.4433593750,103,0.1594900487,,, +6.4453125000,103,0.1614178674,,, +6.4472656250,103,0.1633450703,,, +6.4492187500,103,0.1652716501,,, +6.4511718750,103,0.1671975994,,, +6.4531250000,103,0.1691229109,,, +6.4550781250,103,0.1710475773,,, +6.4570312500,103,0.1729715912,,, +6.4589843750,103,0.1748949452,,, +6.4609375000,103,0.1768176321,,, +6.4628906250,103,0.1787396445,,, +6.4648437500,103,0.1806609750,,, +6.4667968750,103,0.1825816163,,, +6.4687500000,103,0.1845015612,,, +6.4707031250,103,0.1864208023,,, +6.4726562500,103,0.1883393322,,, +6.4746093750,103,0.1902571436,,, +6.4765625000,103,0.1921742293,,, +6.4785156250,103,0.1940905819,,, +6.4804687500,103,0.1960061941,,, +6.4824218750,103,0.1979210586,,, +6.4843750000,103,0.1998351681,,, +6.4863281250,103,0.2017485153,,, +6.4882812500,103,0.2036610928,,, +6.4902343750,103,0.2055728935,,, +6.4921875000,103,0.2074839100,,, +6.4941406250,103,0.2093941349,,, +6.4960937500,103,0.2113035611,,, +6.4980468750,103,0.2132121813,,, +6.5000000000,104,0.2151199881,,, +6.5019531250,104,0.2170269743,,, +6.5039062500,104,0.2189331326,,, +6.5058593750,104,0.2208384557,,, +6.5078125000,104,0.2227429364,,, +6.5097656250,104,0.2246465674,,, +6.5117187500,104,0.2265493414,,, +6.5136718750,104,0.2284512513,,, +6.5156250000,104,0.2303522896,,, +6.5175781250,104,0.2322524493,,, +6.5195312500,104,0.2341517229,,, +6.5214843750,104,0.2360501033,,, +6.5234375000,104,0.2379475833,,, +6.5253906250,104,0.2398441556,,, +6.5273437500,104,0.2417398130,,, +6.5292968750,104,0.2436345481,,, +6.5312500000,104,0.2455283539,,, +6.5332031250,104,0.2474212231,,, +6.5351562500,104,0.2493131485,,, +6.5371093750,104,0.2512041228,,, +6.5390625000,104,0.2530941388,,, +6.5410156250,104,0.2549831893,,, +6.5429687500,104,0.2568712672,,, +6.5449218750,104,0.2587583652,,, +6.5468750000,104,0.2606444760,,, +6.5488281250,104,0.2625295927,,, +6.5507812500,104,0.2644137078,,, +6.5527343750,104,0.2662968143,,, +6.5546875000,104,0.2681789049,,, +6.5566406250,104,0.2700599725,,, +6.5585937500,104,0.2719400100,,, +6.5605468750,104,0.2738190100,,, +6.5625000000,105,0.2756969655,,, +6.5644531250,105,0.2775738693,,, +6.5664062500,105,0.2794497143,,, +6.5683593750,105,0.2813244932,,, +6.5703125000,105,0.2831981990,,, +6.5722656250,105,0.2850708245,,, +6.5742187500,105,0.2869423625,,, +6.5761718750,105,0.2888128059,,, +6.5781250000,105,0.2906821476,,, +6.5800781250,105,0.2925503804,,, +6.5820312500,105,0.2944174972,,, +6.5839843750,105,0.2962834909,,, +6.5859375000,105,0.2981483544,,, +6.5878906250,105,0.3000120805,,, +6.5898437500,105,0.3018746621,,, +6.5917968750,105,0.3037360923,,, +6.5937500000,105,0.3055963637,,, +6.5957031250,105,0.3074554694,,, +6.5976562500,105,0.3093134022,,, +6.5996093750,105,0.3111701551,,, +6.6015625000,105,0.3130257210,,, +6.6035156250,105,0.3148800928,,, +6.6054687500,105,0.3167332634,,, +6.6074218750,105,0.3185852258,,, +6.6093750000,105,0.3204359729,,, +6.6113281250,105,0.3222854976,,, +6.6132812500,105,0.3241337929,,, +6.6152343750,105,0.3259808517,,, +6.6171875000,105,0.3278266670,,, +6.6191406250,105,0.3296712317,,, +6.6210937500,105,0.3315145389,,, +6.6230468750,105,0.3333565814,,, +6.6250000000,106,0.3351973522,,, +6.6269531250,106,0.3370368444,,, +6.6289062500,106,0.3388750509,,, +6.6308593750,106,0.3407119647,,, +6.6328125000,106,0.3425475787,,, +6.6347656250,106,0.3443818861,,, +6.6367187500,106,0.3462148797,,, +6.6386718750,106,0.3480465527,,, +6.6406250000,106,0.3498768979,,, +6.6425781250,106,0.3517059085,,, +6.6445312500,106,0.3535335774,,, +6.6464843750,106,0.3553598977,,, +6.6484375000,106,0.3571848624,,, +6.6503906250,106,0.3590084646,,, +6.6523437500,106,0.3608306972,,, +6.6542968750,106,0.3626515534,,, +6.6562500000,106,0.3644710262,,, +6.6582031250,106,0.3662891086,,, +6.6601562500,106,0.3681057938,,, +6.6621093750,106,0.3699210747,,, +6.6640625000,106,0.3717349446,,, +6.6660156250,106,0.3735473963,,, +6.6679687500,106,0.3753584231,,, +6.6699218750,106,0.3771680180,,, +6.6718750000,106,0.3789761741,,, +6.6738281250,106,0.3807828846,,, +6.6757812500,106,0.3825881424,,, +6.6777343750,106,0.3843919408,,, +6.6796875000,106,0.3861942729,,, +6.6816406250,106,0.3879951318,,, +6.6835937500,106,0.3897945106,,, +6.6855468750,106,0.3915924024,,, +6.6875000000,107,0.3933888004,,, +6.6894531250,107,0.3951836978,,, +6.6914062500,107,0.3969770877,,, +6.6933593750,107,0.3987689632,,, +6.6953125000,107,0.4005593175,,, +6.6972656250,107,0.4023481438,,, +6.6992187500,107,0.4041354353,,, +6.7011718750,107,0.4059211851,,, +6.7031250000,107,0.4077053865,,, +6.7050781250,107,0.4094880326,,, +6.7070312500,107,0.4112691166,,, +6.7089843750,107,0.4130486318,,, +6.7109375000,107,0.4148265713,,, +6.7128906250,107,0.4166029283,,, +6.7148437500,107,0.4183776962,,, +6.7167968750,107,0.4201508680,,, +6.7187500000,107,0.4219224372,,, +6.7207031250,107,0.4236923968,,, +6.7226562500,107,0.4254607401,,, +6.7246093750,107,0.4272274605,,, +6.7265625000,107,0.4289925511,,, +6.7285156250,107,0.4307560052,,, +6.7304687500,107,0.4325178161,,, +6.7324218750,107,0.4342779771,,, +6.7343750000,107,0.4360364815,,, +6.7363281250,107,0.4377933225,,, +6.7382812500,107,0.4395484935,,, +6.7402343750,107,0.4413019877,,, +6.7421875000,107,0.4430537985,,, +6.7441406250,107,0.4448039192,,, +6.7460937500,107,0.4465523431,,, +6.7480468750,107,0.4482990635,,, +6.7500000000,108,0.4500440738,,, +6.7519531250,108,0.4517873673,,, +6.7539062500,108,0.4535289374,,, +6.7558593750,108,0.4552687774,,, +6.7578125000,108,0.4570068807,,, +6.7597656250,108,0.4587432407,,, +6.7617187500,108,0.4604778506,,, +6.7636718750,108,0.4622107040,,, +6.7656250000,108,0.4639417943,,, +6.7675781250,108,0.4656711147,,, +6.7695312500,108,0.4673986587,,, +6.7714843750,108,0.4691244197,,, +6.7734375000,108,0.4708483912,,, +6.7753906250,108,0.4725705665,,, +6.7773437500,108,0.4742909392,,, +6.7792968750,108,0.4760095025,,, +6.7812500000,108,0.4777262500,,, +6.7832031250,108,0.4794411751,,, +6.7851562500,108,0.4811542713,,, +6.7871093750,108,0.4828655321,,, +6.7890625000,108,0.4845749509,,, +6.7910156250,108,0.4862825211,,, +6.7929687500,108,0.4879882363,,, +6.7949218750,108,0.4896920901,,, +6.7968750000,108,0.4913940757,,, +6.7988281250,108,0.4930941869,,, +6.8007812500,108,0.4947924171,,, +6.8027343750,108,0.4964887597,,, +6.8046875000,108,0.4981832085,,, +6.8066406250,108,0.4998757568,,, +6.8085937500,108,0.5015663982,33024,6.8085937500,0.0000000000 +6.8105468750,108,0.5032551263,,, +6.8125000000,109,0.5049419347,,, +6.8144531250,109,0.5066268168,,, +6.8164062500,109,0.5083097663,,, +6.8183593750,109,0.5099907768,,, +6.8203125000,109,0.5116698418,,, +6.8222656250,109,0.5133469549,,, +6.8242187500,109,0.5150221098,,, +6.8261718750,109,0.5166953001,,, +6.8281250000,109,0.5183665192,,, +6.8300781250,109,0.5200357610,,, +6.8320312500,109,0.5217030190,,, +6.8339843750,109,0.5233682869,,, +6.8359375000,109,0.5250315583,,, +6.8378906250,109,0.5266928268,,, +6.8398437500,109,0.5283520862,,, +6.8417968750,109,0.5300093300,,, +6.8437500000,109,0.5316645521,,, +6.8457031250,109,0.5333177460,,, +6.8476562500,109,0.5349689054,,, +6.8496093750,109,0.5366180241,,, +6.8515625000,109,0.5382650958,,, +6.8535156250,109,0.5399101142,,, +6.8554687500,109,0.5415530730,,, +6.8574218750,109,0.5431939659,,, +6.8593750000,109,0.5448327866,,, +6.8613281250,109,0.5464695291,,, +6.8632812500,109,0.5481041869,,, +6.8652343750,109,0.5497367538,,, +6.8671875000,109,0.5513672237,,, +6.8691406250,109,0.5529955902,,, +6.8710937500,109,0.5546218473,,, +6.8730468750,109,0.5562459887,,, +6.8750000000,110,0.5578680081,,, +6.8769531250,110,0.5594878994,,, +6.8789062500,110,0.5611056565,,, +6.8808593750,110,0.5627212731,,, +6.8828125000,110,0.5643347431,,, +6.8847656250,110,0.5659460604,,, +6.8867187500,110,0.5675552187,,, +6.8886718750,110,0.5691622120,,, +6.8906250000,110,0.5707670341,,, +6.8925781250,110,0.5723696789,,, +6.8945312500,110,0.5739701402,,, +6.8964843750,110,0.5755684121,,, +6.8984375000,110,0.5771644883,,, +6.9003906250,110,0.5787583629,,, +6.9023437500,110,0.5803500296,,, +6.9042968750,110,0.5819394825,,, +6.9062500000,110,0.5835267155,,, +6.9082031250,110,0.5851117224,,, +6.9101562500,110,0.5866944974,,, +6.9121093750,110,0.5882750343,,, +6.9140625000,110,0.5898533271,,, +6.9160156250,110,0.5914293698,,, +6.9179687500,110,0.5930031564,,, +6.9199218750,110,0.5945746808,,, +6.9218750000,110,0.5961439372,,, +6.9238281250,110,0.5977109194,,, +6.9257812500,110,0.5992756215,,, +6.9277343750,110,0.6008380376,,, +6.9296875000,110,0.6023981617,,, +6.9316406250,110,0.6039559878,,, +6.9335937500,110,0.6055115100,,, +6.9355468750,110,0.6070647223,,, +6.9375000000,111,0.6086156189,,, +6.9394531250,111,0.6101641938,,, +6.9414062500,111,0.6117104411,,, +6.9433593750,111,0.6132543549,,, +6.9453125000,111,0.6147959293,,, +6.9472656250,111,0.6163351585,,, +6.9492187500,111,0.6178720366,,, +6.9511718750,111,0.6194065576,,, +6.9531250000,111,0.6209387158,,, +6.9550781250,111,0.6224685053,,, +6.9570312500,111,0.6239959203,,, +6.9589843750,111,0.6255209550,,, +6.9609375000,111,0.6270436034,,, +6.9628906250,111,0.6285638599,,, +6.9648437500,111,0.6300817186,,, +6.9667968750,111,0.6315971737,,, +6.9687500000,111,0.6331102195,,, +6.9707031250,111,0.6346208501,,, +6.9726562500,111,0.6361290599,,, +6.9746093750,111,0.6376348430,,, +6.9765625000,111,0.6391381938,,, +6.9785156250,111,0.6406391064,,, +6.9804687500,111,0.6421375752,,, +6.9824218750,111,0.6436335944,,, +6.9843750000,111,0.6451271584,,, +6.9863281250,111,0.6466182614,,, +6.9882812500,111,0.6481068977,,, +6.9902343750,111,0.6495930617,,, +6.9921875000,111,0.6510767477,,, +6.9941406250,111,0.6525579501,,, +6.9960937500,111,0.6540366631,,, +6.9980468750,111,0.6555128812,,, +7.0000000000,112,0.6569865987,,, +7.0019531250,112,0.6584578100,,, +7.0039062500,112,0.6599265095,,, +7.0058593750,112,0.6613926916,,, +7.0078125000,112,0.6628563506,,, +7.0097656250,112,0.6643174811,,, +7.0117187500,112,0.6657760774,,, +7.0136718750,112,0.6672321339,,, +7.0156250000,112,0.6686856452,,, +7.0175781250,112,0.6701366056,,, +7.0195312500,112,0.6715850097,,, +7.0214843750,112,0.6730308519,,, +7.0234375000,112,0.6744741267,,, +7.0253906250,112,0.6759148285,,, +7.0273437500,112,0.6773529520,,, +7.0292968750,112,0.6787884915,,, +7.0312500000,112,0.6802214417,,, +7.0332031250,112,0.6816517970,,, +7.0351562500,112,0.6830795521,,, +7.0371093750,112,0.6845047014,,, +7.0390625000,112,0.6859272395,,, +7.0410156250,112,0.6873471610,,, +7.0429687500,112,0.6887644605,,, +7.0449218750,112,0.6901791326,,, +7.0468750000,112,0.6915911718,,, +7.0488281250,112,0.6930005729,,, +7.0507812500,112,0.6944073303,,, +7.0527343750,112,0.6958114388,,, +7.0546875000,112,0.6972128930,,, +7.0566406250,112,0.6986116876,,, +7.0585937500,112,0.7000078171,,, +7.0605468750,112,0.7014012763,,, diff --git a/plugins/processing/stimulation/test/Threshold-Crossing-Detector-test.xml b/plugins/processing/stimulation/test/Threshold-Crossing-Detector-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..5018adb9e87d8024e312518e641b055829f3a057 --- /dev/null +++ b/plugins/processing/stimulation/test/Threshold-Crossing-Detector-test.xml @@ -0,0 +1,833 @@ +<OpenViBE-Scenario> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings> + <Setting> + <Identifier>(0x00425137, 0xf2a30c29)</Identifier> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Test Name</Name> + <DefaultValue>Covariance-Matrix-Calculator</DefaultValue> + <Value>Threshold-Crossing-Detector</Value> + </Setting> + </Settings> + <Inputs></Inputs> + <Outputs></Outputs> + <Boxes> + <Box> + <Identifier>(0x00002134, 0x00001d37)</Identifier> + <Name>Threshold Crossing Detector</Name> + <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>-0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Channel Index</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>352</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xeb97db60, 0x15906899)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00002820, 0x00001bd7)</Identifier> + <Name>Player Controller</Name> + <AlgorithmClassIdentifier>(0x5f426dce, 0x08456e13)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Stimulation name</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0xcc14d8d6, 0xf27ecb73)</TypeIdentifier> + <Name>Action to perform</Name> + <DefaultValue>Pause</DefaultValue> + <Value>Stop</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>192</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>768</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x568d148e, 0x650792b3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00002a2d, 0x00002eff)</Identifier> + <Name>Time signal</Name> + <AlgorithmClassIdentifier>(0x28a5e7ff, 0x530095de)</AlgorithmClassIdentifier> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Generated signal</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Sampling frequency</Name> + <DefaultValue>512</DefaultValue> + <Value>512</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Generated epoch sample count</Name> + <DefaultValue>32</DefaultValue> + <Value>32</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>176</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>544</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000054fa, 0x00006eca)</Identifier> + <Name>Threshold Crossing Detector</Name> + <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>0.5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_01</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Channel Index</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>736</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xeb97db60, 0x15906899)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000580e, 0x0000657f)</Identifier> + <Name>Timeout</Name> + <AlgorithmClassIdentifier>(0x24fcd292, 0x5c8f6aa8)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Input Stream</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Output Stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Timeout delay</Name> + <DefaultValue>5</DefaultValue> + <Value>7</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Output Stimulation</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>128</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>768</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x1eaee00e, 0xdb05d34e)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00005e8a, 0x00004108)</Identifier> + <Name>Signal display</Name> + <AlgorithmClassIdentifier>(0x0055be5f, 0x087bdd12)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Data</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations</Name> + </Input> + <Input> + <TypeIdentifier>(0x6ab26b81, 0x0f8c02f3)</TypeIdentifier> + <Name>Channel Units</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x5de046a6, 0x086340aa)</TypeIdentifier> + <Name>Display Mode</Name> + <DefaultValue>Scan</DefaultValue> + <Value>Scan</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x33a30739, 0x00d5299b)</TypeIdentifier> + <Name>Auto vertical scale</Name> + <DefaultValue>Per channel</DefaultValue> + <Value>None</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Scale refresh interval (secs)</Name> + <DefaultValue>5</DefaultValue> + <Value>5</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Vertical Scale</Name> + <DefaultValue>100</DefaultValue> + <Value>2</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Vertical Offset</Name> + <DefaultValue>0</DefaultValue> + <Value>0</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Time Scale</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Bottom ruler</Name> + <DefaultValue>true</DefaultValue> + <Value>true</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Left ruler</Name> + <DefaultValue>false</DefaultValue> + <Value>true</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Multiview</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x92c056a7, 0x2dc71aff)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>9</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>3</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x0000641a, 0x00002056)</Identifier> + <Name>Simple DSP</Name> + <AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input - A</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Output</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> + <Name>Equation</Name> + <DefaultValue>x</DefaultValue> + <Value>sin(x)</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>256</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>544</Value> + </Attribute> + <Attribute> + <Identifier>(0x30a4e5c9, 0x83502953)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0x21889dc4, 0x1126497e)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x00006c77, 0x000010c9)</Identifier> + <Name>Threshold Crossing Detector</Name> + <AlgorithmClassIdentifier>(0x04fa78cd, 0xafe45de7)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier> + <Name>Signal</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Generated stimulations</Name> + </Output> + </Outputs> + <Settings> + <Setting> + <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> + <Name>Threshold</Name> + <DefaultValue>0</DefaultValue> + <Value>0</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross over threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_00</DefaultValue> + <Value>OVTK_StimulationId_Label_00</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2c132d6e, 0x44ab0d97)</TypeIdentifier> + <Name>Cross under threshold</Name> + <DefaultValue>OVTK_StimulationId_Label_01</DefaultValue> + <Value>OVTK_StimulationId_Label_01</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Channel Index</Name> + <DefaultValue>1</DefaultValue> + <Value>1</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>384</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>544</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xeb97db60, 0x15906899)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>1</Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000070e5, 0x00000829)</Identifier> + <Name>Stimulation multiplexer</Name> + <AlgorithmClassIdentifier>(0x07db4efa, 0x472b0938)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations 1</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations 2</Name> + </Input> + <Input> + <Identifier>(0x96bafd02, 0x49e605cb)</Identifier> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Input stimulations 3</Name> + </Input> + </Inputs> + <Outputs> + <Output> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Multiplexed stimulations</Name> + </Output> + </Outputs> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>496</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>544</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xe7af82cd, 0x14edb4d4)</Value> + </Attribute> + <Attribute> + <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> + <Value>1</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + <Attribute> + <Identifier>(0xfba64161, 0x65304e21)</Identifier> + <Value></Value> + </Attribute> + </Attributes> + </Box> + <Box> + <Identifier>(0x000075c6, 0x00000eb6)</Identifier> + <Name>CSV File Writer</Name> + <AlgorithmClassIdentifier>(0x428375e8, 0x325f2db9)</AlgorithmClassIdentifier> + <Inputs> + <Input> + <TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier> + <Name>Input stream</Name> + </Input> + <Input> + <TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier> + <Name>Stimulations stream</Name> + </Input> + </Inputs> + <Settings> + <Setting> + <TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier> + <Name>Filename</Name> + <DefaultValue>record-[$core{date}-$core{time}].csv</DefaultValue> + <Value>${Player_ScenarioDirectory}/$var{Test Name}-output.csv</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier> + <Name>Precision</Name> + <DefaultValue>10</DefaultValue> + <Value>10</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Append data</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + <Setting> + <TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier> + <Name>Only last matrix</Name> + <DefaultValue>false</DefaultValue> + <Value>false</Value> + <Modifiability>false</Modifiability> + </Setting> + </Settings> + <Attributes> + <Attribute> + <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> + <Value>592</Value> + </Attribute> + <Attribute> + <Identifier>(0x207c9054, 0x3c841b63)</Identifier> + <Value>288</Value> + </Attribute> + <Attribute> + <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> + <Value>(0xc33e47e0, 0x70e5f31b)</Value> + </Attribute> + <Attribute> + <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> + <Value></Value> + </Attribute> + <Attribute> + <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> + <Value>4</Value> + </Attribute> + <Attribute> + <Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier> + <Value>2</Value> + </Attribute> + </Attributes> + </Box> + </Boxes> + <Links> + <Link> + <Identifier>(0x00000664, 0x00002f8b)</Identifier> + <Source> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005e8a, 0x00004108)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00000c1b, 0x000048e8)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00006c77, 0x000010c9)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00000d92, 0x00006d6d)</Identifier> + <Source> + <BoxIdentifier>(0x00002a2d, 0x00002eff)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x0000103a, 0x00005d1d)</Identifier> + <Source> + <BoxIdentifier>(0x0000580e, 0x0000657f)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00002820, 0x00001bd7)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002875, 0x00002668)</Identifier> + <Source> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000075c6, 0x00000eb6)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002bb3, 0x00001354)</Identifier> + <Source> + <BoxIdentifier>(0x00006c77, 0x000010c9)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxInputIndex>1</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00002e51, 0x00003a81)</Identifier> + <Source> + <BoxIdentifier>(0x00002134, 0x00001d37)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00004b6b, 0x000020f7)</Identifier> + <Source> + <BoxIdentifier>(0x000054fa, 0x00006eca)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000070e5, 0x00000829)</BoxIdentifier> + <BoxInputIdentifier>(0x96bafd02, 0x49e605cb)</BoxInputIdentifier> + </Target> + </Link> + <Link> + <Identifier>(0x00005325, 0x00005a05)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00002134, 0x00001d37)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00005bd4, 0x000053cd)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000054fa, 0x00006eca)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00006518, 0x00001721)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x000075c6, 0x00000eb6)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + <Link> + <Identifier>(0x00006615, 0x00005aca)</Identifier> + <Source> + <BoxIdentifier>(0x0000641a, 0x00002056)</BoxIdentifier> + <BoxOutputIndex>0</BoxOutputIndex> + </Source> + <Target> + <BoxIdentifier>(0x00005e8a, 0x00004108)</BoxIdentifier> + <BoxInputIndex>0</BoxInputIndex> + </Target> + </Link> + </Links> + <Comments></Comments> + <Metadata> + <Entry> + <Identifier>(0x000062ac, 0x00003721)</Identifier> + <Type>(0x3bcce5d2, 0x43f2d968)</Type> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000041e, 0x000069b5)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x00005e8a, 0x00004108)","childCount":0,"identifier":"(0x00007cf3, 0x00006d7d)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004c5d, 0x000021d4)","index":0,"name":"Default tab","parentIdentifier":"(0x0000041e, 0x000069b5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000420e, 0x000074bb)","index":0,"name":"Empty","parentIdentifier":"(0x00004c5d, 0x000021d4)","type":0}]</Data> + </Entry> + </Metadata> +</OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/stimulation/test/run-command-with-spaces.xml b/plugins/processing/stimulation/test/run-command-with-spaces.xml index 95d43d0635b9d6d2a18910642e49c783c582b93c..c158e5a106536580ffb00125da999994eec47a71 100755 --- a/plugins/processing/stimulation/test/run-command-with-spaces.xml +++ b/plugins/processing/stimulation/test/run-command-with-spaces.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000026b8, 0x00003463)</Identifier> @@ -25,7 +28,7 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 1</Name> <DefaultValue></DefaultValue> - <Value>echo start > ${OUTFILE}</Value> + <Value>echo start > ${OUTFILE}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -39,7 +42,7 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 2</Name> <DefaultValue></DefaultValue> - <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" "has space" >> ${OUTFILE}</Value> + <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" "has space" >> ${OUTFILE}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -53,7 +56,7 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 3</Name> <DefaultValue></DefaultValue> - <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" nospace >> ${OUTFILE}</Value> + <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" nospace >> ${OUTFILE}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -67,7 +70,7 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 4</Name> <DefaultValue></DefaultValue> - <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" "has space" two >> ${OUTFILE}</Value> + <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" "has space" two >> ${OUTFILE}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -81,7 +84,7 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 5</Name> <DefaultValue></DefaultValue> - <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" >> ${OUTFILE}</Value> + <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" >> ${OUTFILE}</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -95,22 +98,18 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 6</Name> <DefaultValue></DefaultValue> - <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" arg1 arg2 arg3 >> ${OUTFILE}</Value> + <Value>"${Player_ScenarioDirectory}/space test/echoparams.${EXT}" arg1 arg2 arg3 >> ${OUTFILE}</Value> <Modifiability>false</Modifiability> </Setting> </Settings> <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>272.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>33</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -120,18 +119,10 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>101</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x01871d22)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -175,24 +166,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>336.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>118</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0133a23e)</Value> @@ -240,24 +223,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>193.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>193</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>496.000000</Value> + <Value>496</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>114</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0155437c)</Value> @@ -291,7 +266,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>1.0</Value> + <Value>1</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -305,24 +280,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>160.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>23</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>320.000000</Value> + <Value>368</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>114</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0186214f)</Value> @@ -353,24 +320,6 @@ <BoxIdentifier>(0x00004b2a, 0x00001be8)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>211</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>496</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>496</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x00005fbf, 0x0000288c)</Identifier> @@ -382,24 +331,6 @@ <BoxIdentifier>(0x000026b8, 0x00003463)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>178</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>320</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>251</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>320</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -407,7 +338,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000037ad, 0x00007f7d)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005418, 0x00006015)","index":0,"name":"Default tab","parentIdentifier":"(0x000037ad, 0x00007f7d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000034e0, 0x000049ae)","index":0,"name":"Empty","parentIdentifier":"(0x00005418, 0x00006015)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000037ad, 0x00007f7d)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005418, 0x00006015)","index":0,"name":"Default tab","parentIdentifier":"(0x000037ad, 0x00007f7d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000034e0, 0x000049ae)","index":0,"name":"Empty","parentIdentifier":"(0x00005418, 0x00006015)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/stimulation/test/test-run-command.xml b/plugins/processing/stimulation/test/test-run-command.xml index 42ee5f7d8c5ac0b54e5a4864f3608d90d52cf9ba..22d2bc69b17024673337dd989e08b21f7fc9cdeb 100644 --- a/plugins/processing/stimulation/test/test-run-command.xml +++ b/plugins/processing/stimulation/test/test-run-command.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x19fa74c1, 0x160aee69)</Identifier> @@ -18,7 +21,7 @@ <TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier> <Name>Interstimulation interval (in sec)</Name> <DefaultValue>1.0</DefaultValue> - <Value>2.0</Value> + <Value>2</Value> <Modifiability>false</Modifiability> </Setting> <Setting> @@ -34,22 +37,14 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>192</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>27</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>129</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -82,7 +77,7 @@ <TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier> <Name>Command 1</Name> <DefaultValue></DefaultValue> - <Value>echo "" > test-run-command.txt</Value> + <Value>echo "" > test-run-command.txt</Value> <Modifiability>false</Modifiability> </Setting> </Settings> @@ -91,10 +86,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>256</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>42</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>416</Value> @@ -107,14 +98,6 @@ <Identifier>(0x61d11811, 0x71e65362)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -156,22 +139,14 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>256</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>27</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>624</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x568d148e, 0x650792b3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>134</Value> - </Attribute> <Attribute> <Identifier>(0xce18836a, 0x9c0eb403)</Identifier> <Value>2</Value> @@ -213,10 +188,6 @@ <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> <Value>192</Value> </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>27</Value> - </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> <Value>416</Value> @@ -225,10 +196,6 @@ <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x27b3ee3c, 0xc50527e6)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>129</Value> - </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> <Value>1</Value> @@ -251,24 +218,6 @@ <BoxIdentifier>(0x231b81fc, 0x445bffb6)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>212</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>416</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>230</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>416</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x49f08097, 0x6d1380fd)</Identifier> @@ -280,24 +229,6 @@ <BoxIdentifier>(0x28da66fe, 0x38162acc)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>212</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>624</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>238</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>624</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments></Comments> @@ -305,7 +236,7 @@ <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":480,"identifier":"(0x340bed7a, 0x471c8a14)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":640},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x5898b888, 0x060a830d)","index":0,"name":"Default tab","parentIdentifier":"(0x340bed7a, 0x471c8a14)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x32c26df5, 0x73834e6c)","index":0,"name":"Empty","parentIdentifier":"(0x5898b888, 0x060a830d)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":480,"identifier":"(0x340bed7a, 0x471c8a14)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":640},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x5898b888, 0x060a830d)","index":0,"name":"Default tab","parentIdentifier":"(0x340bed7a, 0x471c8a14)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x32c26df5, 0x73834e6c)","index":0,"name":"Empty","parentIdentifier":"(0x5898b888, 0x060a830d)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/stimulation/test/test-timeout.xml b/plugins/processing/stimulation/test/test-timeout.xml index c6d654e747ce2c791caa14d8bb1f5a23031baed0..0e7baf8e36299ea3179aa0d4fd7f8cde5bdef678 100644 --- a/plugins/processing/stimulation/test/test-timeout.xml +++ b/plugins/processing/stimulation/test/test-timeout.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.2.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -44,7 +44,7 @@ </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> - <Value>(0xa9cdc629, 0xb153eb33)</Value> + <Value>(0xb7b8f4f9, 0xb979c65c)</Value> </Attribute> <Attribute> <Identifier>(0xc80ce8af, 0xf699f813)</Identifier> diff --git a/plugins/processing/streaming/box-tutorials/signal-merger.xml b/plugins/processing/streaming/box-tutorials/signal-merger.xml index 8e08d5961b1019d06b0dc9255c37b03075aacab9..d52c7aa4c197f809e98394a1d0cad027ae011581 100644 --- a/plugins/processing/streaming/box-tutorials/signal-merger.xml +++ b/plugins/processing/streaming/box-tutorials/signal-merger.xml @@ -1,7 +1,10 @@ <OpenViBE-Scenario> - <FormatVersion>1</FormatVersion> - <Creator>openvibe</Creator> - <CreatorVersion>2.0</CreatorVersion> + <FormatVersion>2</FormatVersion> + <Creator>OpenViBE Designer</Creator> + <CreatorVersion>3.2.0</CreatorVersion> + <Settings></Settings> + <Inputs></Inputs> + <Outputs></Outputs> <Boxes> <Box> <Identifier>(0x000013b7, 0x00000e7c)</Identifier> @@ -26,24 +29,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>224.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>192</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>208.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x990c5a68, 0x0d4024a3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>98</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x005bbd61)</Value> @@ -148,15 +143,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>368.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>38</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>192.000000</Value> + <Value>224</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -166,18 +157,10 @@ <Identifier>(0x527ad68d, 0x16d746a0)</Identifier> <Value></Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>113</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x0056c09c)</Value> </Attribute> - <Attribute> - <Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier> - <Value></Value> - </Attribute> <Attribute> <Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier> <Value>false</Value> @@ -221,24 +204,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>300.000000</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x9e5ca01e, 0x30a4d8c3)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>94</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x00318da1)</Value> @@ -289,24 +264,16 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>112.000000</Value> - </Attribute> - <Attribute> - <Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier> - <Value>25</Value> + <Value>112</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>128.000000</Value> + <Value>176</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> <Value>(0x0b214ed8, 0x1f9ad83a)</Value> </Attribute> - <Attribute> - <Identifier>(0xad100179, 0xa3c984ab)</Identifier> - <Value>121</Value> - </Attribute> <Attribute> <Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier> <Value>(0x00000000, 0x006a6788)</Value> @@ -333,24 +300,6 @@ <BoxIdentifier>(0x000013b7, 0x00000e7c)</BoxIdentifier> <BoxInputIndex>1</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>300</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>200</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>215</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000631a, 0x0000208d)</Identifier> @@ -362,24 +311,6 @@ <BoxIdentifier>(0x00001929, 0x0000100f)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>249</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>208</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>344</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>177</Value> - </Attribute> - </Attributes> </Link> <Link> <Identifier>(0x0000669d, 0x00000659)</Identifier> @@ -391,24 +322,6 @@ <BoxIdentifier>(0x000013b7, 0x00000e7c)</BoxIdentifier> <BoxInputIndex>0</BoxInputIndex> </Target> - <Attributes> - <Attribute> - <Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier> - <Value>131</Value> - </Attribute> - <Attribute> - <Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier> - <Value>128</Value> - </Attribute> - <Attribute> - <Identifier>(0x3f0a3b27, 0x570913d2)</Identifier> - <Value>200</Value> - </Attribute> - <Attribute> - <Identifier>(0x6267b5c5, 0x676e3e42)</Identifier> - <Value>200</Value> - </Attribute> - </Attributes> </Link> </Links> <Comments> @@ -418,11 +331,11 @@ <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>576.000000</Value> + <Value>576</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>272.000000</Value> + <Value>272</Value> </Attribute> </Attributes> </Comment> @@ -439,11 +352,11 @@ as is seen in the <i>Signal Display</i> during playback.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>560.000000</Value> + <Value>560</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>128.000000</Value> + <Value>128</Value> </Attribute> </Attributes> </Comment> @@ -452,7 +365,7 @@ as is seen in the <i>Signal Display</i> during playback.</Text> <Entry> <Identifier>(0x0000775c, 0x000078ff)</Identifier> <Type>(0x3bcce5d2, 0x43f2d968)</Type> - <Data>[{"boxIdentifier":"(0x00001929, 0x0000100f)","childCount":0,"identifier":"(0x000032ed, 0x0000031b)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000571e, 0x00003d0d)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000e7f, 0x0000035a)","index":0,"name":"Default tab","parentIdentifier":"(0x0000571e, 0x00003d0d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00005068, 0x000070ce)","index":0,"name":"Empty","parentIdentifier":"(0x00000e7f, 0x0000035a)","type":0}]</Data> + <Data>[{"boxIdentifier":"(0x00001929, 0x0000100f)","childCount":0,"identifier":"(0x000032ed, 0x0000031b)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x0000571e, 0x00003d0d)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000e7f, 0x0000035a)","index":0,"name":"Default tab","parentIdentifier":"(0x0000571e, 0x00003d0d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00005068, 0x000070ce)","index":0,"name":"Empty","parentIdentifier":"(0x00000e7f, 0x0000035a)","type":0}]</Data> </Entry> </Metadata> </OpenViBE-Scenario> \ No newline at end of file diff --git a/plugins/processing/streaming/box-tutorials/stream-switch.xml b/plugins/processing/streaming/box-tutorials/stream-switch.xml index db22a5e09c8fd98d6fc270edaa0dd46ea599a197..9b37555768686abe1424750fc28fd31151091f1a 100644 --- a/plugins/processing/streaming/box-tutorials/stream-switch.xml +++ b/plugins/processing/streaming/box-tutorials/stream-switch.xml @@ -1,7 +1,7 @@ <OpenViBE-Scenario> <FormatVersion>2</FormatVersion> <Creator>OpenViBE Designer</Creator> - <CreatorVersion>2.1.0</CreatorVersion> + <CreatorVersion>3.2.0</CreatorVersion> <Settings></Settings> <Inputs></Inputs> <Outputs></Outputs> @@ -42,7 +42,7 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> @@ -88,11 +88,11 @@ <Attributes> <Attribute> <Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier> - <Value>240</Value> + <Value>272</Value> </Attribute> <Attribute> <Identifier>(0x207c9054, 0x3c841b63)</Identifier> - <Value>256</Value> + <Value>320</Value> </Attribute> <Attribute> <Identifier>(0x4e7b798a, 0x183beafb)</Identifier> @@ -647,11 +647,11 @@ the simulated signal.</Text> <Attributes> <Attribute> <Identifier>(0x473d9a43, 0x97fc0a97)</Identifier> - <Value>848.000000</Value> + <Value>848</Value> </Attribute> <Attribute> <Identifier>(0x7234b86b, 0x2b8651a5)</Identifier> - <Value>416.000000</Value> + <Value>416</Value> </Attribute> </Attributes> </Comment> diff --git a/plugins/processing/streaming/src/box-algorithms/ovpCBoxAlgorithmStreamedMatrixSwitch.cpp b/plugins/processing/streaming/src/box-algorithms/ovpCBoxAlgorithmStreamedMatrixSwitch.cpp index 3718209cb575bfe2a6959eea2e8e3eb3181d19cd..eeb707c7d09157dc1ae9306d8f0ea636e1d57f8b 100644 --- a/plugins/processing/streaming/src/box-algorithms/ovpCBoxAlgorithmStreamedMatrixSwitch.cpp +++ b/plugins/processing/streaming/src/box-algorithms/ovpCBoxAlgorithmStreamedMatrixSwitch.cpp @@ -102,14 +102,14 @@ bool CBoxAlgorithmStreamedMatrixSwitch::process() if (m_stimDecoder.isBufferReceived()) { // we update the active output index and time if needed - IStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); - for (size_t j = 0; j < stimSet->getStimulationCount(); j++) + CStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); + for (size_t j = 0; j < stimSet->size(); j++) { - if (m_stimOutputIndexes.find(stimSet->getStimulationIdentifier(j)) != m_stimOutputIndexes.end()) + if (m_stimOutputIndexes.find(stimSet->getId(j)) != m_stimOutputIndexes.end()) { - m_activeOutputIdx = m_stimOutputIndexes[stimSet->getStimulationIdentifier(j)]; + m_activeOutputIdx = m_stimOutputIndexes[stimSet->getId(j)]; this->getLogManager() << Kernel::LogLevel_Trace << "Switching with [" - << this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, stimSet->getStimulationIdentifier(j)) + << this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, stimSet->getId(j)) << "] to output [" << m_activeOutputIdx << "].\n"; } } diff --git a/plugins/processing/tests/src/box-algorithms/ovpCTestCodecToolkit.cpp b/plugins/processing/tests/src/box-algorithms/ovpCTestCodecToolkit.cpp index 0480cccdc3bf9b9ef8d545df2ef70b6f5bd191f8..90dca518e365e9ea59a07ae1aef07fc6799c3d88 100644 --- a/plugins/processing/tests/src/box-algorithms/ovpCTestCodecToolkit.cpp +++ b/plugins/processing/tests/src/box-algorithms/ovpCTestCodecToolkit.cpp @@ -169,16 +169,16 @@ bool CTestCodecToolkit::process() } else if (iType == OV_TypeId_Stimulations) { - IStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); + CStimulationSet* stimSet = m_stimDecoder.getOutputStimulationSet(); // as we constantly receive stimulations on the stream, we will check if the incoming set is empty or not - if (stimSet->getStimulationCount() != 0) + if (stimSet->size() != 0) { this->getLogManager() << Kernel::LogLevel_Info << "Stimulation Set buffer received (1st stim is [" - << stimSet->getStimulationIdentifier(0) << ":" - << this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, stimSet->getStimulationIdentifier(0)) + << stimSet->getId(0) << ":" + << this->getTypeManager().getEnumerationEntryNameFromValue(OV_TypeId_Stimulation, stimSet->getId(0)) << "]).\n"; m_stimEncoder.getInputStimulationSet()->clear(); - m_stimEncoder.getInputStimulationSet()->appendStimulation(stimSet->getStimulationIdentifier(0) + 1, stimSet->getStimulationDate(0), 0); + m_stimEncoder.getInputStimulationSet()->push_back(stimSet->getId(0) + 1, stimSet->getDate(0), 0); } } else if (iType == OV_TypeId_ExperimentInfo) diff --git a/plugins/processing/tools/src/box-algorithms/ovpCBoxAlgorithmKeypressEmulator.cpp b/plugins/processing/tools/src/box-algorithms/ovpCBoxAlgorithmKeypressEmulator.cpp index 3806405bc059577a07d251203b6bbd5919489546..be483a2c41a075cf29569edb4a798fd6462488c4 100644 --- a/plugins/processing/tools/src/box-algorithms/ovpCBoxAlgorithmKeypressEmulator.cpp +++ b/plugins/processing/tools/src/box-algorithms/ovpCBoxAlgorithmKeypressEmulator.cpp @@ -56,15 +56,15 @@ bool CBoxAlgorithmKeypressEmulator::process() if (m_decoder.isHeaderReceived()) { } // NOP if (m_decoder.isBufferReceived()) { - const IStimulationSet* set = m_decoder.getOutputStimulationSet(); - for (size_t s = 0; s < set->getStimulationCount(); ++s) + const CStimulationSet* set = m_decoder.getOutputStimulationSet(); + for (size_t s = 0; s < set->size(); ++s) { - if (set->getStimulationIdentifier(s) == m_triggerStimulation) + if (set->getId(s) == m_triggerStimulation) { #if defined(TARGET_OS_Windows) getLogManager() << Kernel::LogLevel_Debug << "Received " << m_triggerStimulation << ", pressing Windows virtual key " << m_keyToPress << " with modifier " << m_modifier << ", delay is at least " - << CTime(this->getPlayerContext().getCurrentTime() - set->getStimulationDate(s)) << "\n"; + << CTime(this->getPlayerContext().getCurrentTime() - set->getDate(s)) << "\n"; // @todo the stimulation time is not necessarily RIGHT NOW. A very // accurate solution would call SendInput exactly when the key needs to be pressed. Unfortunately when diff --git a/plugins/processing/vrpn/CMakeLists.txt b/plugins/processing/vrpn/CMakeLists.txt index 9dcebc929f55eb2239e2701913bdcc2c3810291f..166e996ff85ccf12fdd5754452ae0a99f173cc6d 100644 --- a/plugins/processing/vrpn/CMakeLists.txt +++ b/plugins/processing/vrpn/CMakeLists.txt @@ -1,11 +1,5 @@ project(openvibe-plugins-vrpn VERSION ${OPENVIBE_MAJOR_VERSION}.${OPENVIBE_MINOR_VERSION}.${OPENVIBE_PATCH_VERSION}) -include("FindThirdPartyVRPN_Check") -if(NOT PATH_VRPN) - message(STATUS " --> Not building ${PROJECT_NAME}") - return() -endif(NOT PATH_VRPN) - file(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl) add_library(${PROJECT_NAME} SHARED ${SRC_FILES}) @@ -15,6 +9,7 @@ target_link_libraries(${PROJECT_NAME} openvibe-toolkit openvibe-module-ebml openvibe-module-socket + vrpn ) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -26,7 +21,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES add_definitions(-DTARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines) # --------------------------------- -include("FindThirdPartyVRPN") # ----------------------------- # Install files diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.cpp b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.cpp index 159705d97f6cde18c617c92b3afe38a9f05114c5..71117a9b24cf17f6935cd9c5cbe0eecc6dfb0582 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.cpp +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.cpp @@ -1,5 +1,22 @@ -#if defined TARGET_HAS_ThirdPartyVRPN - +/** + * @file ovpCBoxAlgorithmVRPNAnalogClient.cpp + * @brief Classes implementation for the Box VRPN Analog Client + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include "ovpCBoxAlgorithmVRPNAnalogClient.h" namespace OpenViBE { @@ -148,7 +165,6 @@ void CBoxAlgorithmVRPNAnalogClient::setAnalog(const size_t nAnalog, const double } } -#endif // TARGET_HAS_ThirdPartyVRPN } // namespace VRPN } // namespace Plugins } // namespace OpenViBE diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.h b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.h index 2c12a096301054586147769bda6c950bfd62e69b..7dd37f03fba020f4f9a99f7ea55604d79a6e024b 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.h +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNAnalogClient.h @@ -1,7 +1,24 @@ +/** + * @file ovpCBoxAlgorithmVRPNAnalogClient.h + * @brief Classes for the Box VRPN Analog Client + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #pragma once -#if defined TARGET_HAS_ThirdPartyVRPN - #include "../ovp_defines.h" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> @@ -93,4 +110,3 @@ public: } // namespace VRPN } // namespace Plugins } // namespace OpenViBE -#endif // TARGET_HAS_ThirdPartyVRPN diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.cpp b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.cpp index d299a960666a1a6edfa38bc9520ed7a0978340df..1763959ffa91c57cce646951c2661d9336d2ac24 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.cpp +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.cpp @@ -1,5 +1,22 @@ -#if defined TARGET_HAS_ThirdPartyVRPN - +/** + * @file ovpCBoxAlgorithmVRPNButtonClient.cpp + * @brief Classes implementation for the Box VRPN Button client + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include "ovpCBoxAlgorithmVRPNButtonClient.h" namespace OpenViBE { @@ -23,7 +40,7 @@ bool CBoxAlgorithmVRPNButtonClient::initialize() this->getAlgorithmManager().createAlgorithm(OVP_GD_ClassId_Algorithm_StimulationEncoder)); encoder->initialize(); CStimulationSet* stimSet = new CStimulationSet(); - Kernel::TParameterHandler<IStimulationSet*> ip_StimSet(encoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); + Kernel::TParameterHandler<CStimulationSet*> ip_StimSet(encoder->getInputParameter(OVP_GD_Algorithm_StimulationEncoder_InputParameterId_StimulationSet)); ip_StimSet = stimSet; m_encoders.push_back(encoder); m_stimSets.push_back(stimSet); @@ -126,12 +143,12 @@ void CBoxAlgorithmVRPNButtonClient::setButton(const size_t index, const bool pre else { this->getLogManager() << Kernel::LogLevel_Trace << "Changed button " << index + 1 << " with state " << CString(pressed ? "pressed" : "released") << "...\n"; - if (pressed) { m_stimSets[index]->appendStimulation(m_stimIDsOn[index], this->getPlayerContext().getCurrentTime(), 0); } - else { m_stimSets[index]->appendStimulation(m_stimIDsOff[index], this->getPlayerContext().getCurrentTime(), 0); } + if (pressed) { m_stimSets[index]->push_back(m_stimIDsOn[index], this->getPlayerContext().getCurrentTime(), 0); } + else { m_stimSets[index]->push_back(m_stimIDsOff[index], this->getPlayerContext().getCurrentTime(), 0); } m_gotStimulation = true; } } -#endif // TARGET_HAS_ThirdPartyVRPN + } // namespace VRPN } // namespace Plugins } // namespace OpenViBE diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.h b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.h index 4207dc13708c72f712527fcaa62f57ea09a10275..46036ab730a840c42b30b248e5659f34304651e1 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.h +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCBoxAlgorithmVRPNButtonClient.h @@ -1,7 +1,24 @@ +/** + * @file ovpCBoxAlgorithmVRPNButtonClient.h + * @brief Classes for the Box VRPN Button client + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #pragma once -#if defined TARGET_HAS_ThirdPartyVRPN - #include "../ovp_defines.h" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> @@ -34,7 +51,7 @@ protected: uint64_t m_lastChunkEndTime = 0; bool m_gotStimulation = false; std::vector<Kernel::IAlgorithmProxy*> m_encoders; - std::vector<IStimulationSet*> m_stimSets; + std::vector<CStimulationSet*> m_stimSets; std::vector<uint64_t> m_stimIDsOn; std::vector<uint64_t> m_stimIDsOff; vrpn_Button_Remote* m_vrpnButtonRemote = nullptr; @@ -116,4 +133,3 @@ public: } // namespace VRPN } // namespace Plugins } // namespace OpenViBE -#endif // TARGET_HAS_ThirdPartyVRPN diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.cpp b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.cpp index 1fcb3806dba46a0a4669e231639de4d567a15835..48e4bf2764ec2adda482c91051c804dfdbb39b10 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.cpp +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.cpp @@ -1,5 +1,22 @@ -#if defined TARGET_HAS_ThirdPartyVRPN - +/** + * @file ovpCVRPNAnalogServer.cpp + * @brief Classes implementation for the Box VRPN Analog Server + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include "ovpCVRPNAnalogServer.h" #include "../ovpIVRPNServerManager.h" @@ -141,4 +158,3 @@ bool CVRPNAnalogServer::process() } // namespace VRPN } // namespace Plugins } // namespace OpenViBE -#endif // OVP_HAS_Vrpn diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.h b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.h index ae8005b2134d6e1f8b394eb28afac5a452fbbac7..37059aba239f63642f1590b21db53ead8c68ff13 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.h +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNAnalogServer.h @@ -1,7 +1,24 @@ +/** + * @file ovpCVRPNAnalogServer.h + * @brief Classes for the Box VRPN Analog Server + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #pragma once -#if defined TARGET_HAS_ThirdPartyVRPN - #include "../ovp_defines.h" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> @@ -91,5 +108,3 @@ public: } // namespace VRPN } // namespace Plugins } // namespace OpenViBE - -#endif // OVP_HAS_Vrpn diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.cpp b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.cpp index 33fe7b093c653a6f9c085772e6950ca8525e96af..bb16683f324cbb728734b91319ace19e14a51ee2 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.cpp +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.cpp @@ -1,5 +1,22 @@ -#if defined TARGET_HAS_ThirdPartyVRPN - +/** + * @file ovpCVRPNButtonServer.cpp + * @brief Classes implementation for the Box VRPN Button Server + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include "ovpCVRPNButtonServer.h" #include "../ovpIVRPNServerManager.h" @@ -72,10 +89,10 @@ bool CVRPNButtonServer::process() if (m_decoders[input]->isBufferReceived()) { - const IStimulationSet* stimSet = m_decoders[input]->getOutputStimulationSet(); - for (size_t s = 0; s < stimSet->getStimulationCount(); ++s) + const CStimulationSet* stimSet = m_decoders[input]->getOutputStimulationSet(); + for (size_t s = 0; s < stimSet->size(); ++s) { - setStimulation(s, stimSet->getStimulationIdentifier(s), stimSet->getStimulationDate(s)); + setStimulation(s, stimSet->getId(s), stimSet->getDate(s)); } } } @@ -121,4 +138,3 @@ void CVRPNButtonServer::setStimulation(const size_t /*index*/, const uint64_t id } // namespace VRPN } // namespace Plugins } // namespace OpenViBE -#endif // OVP_HAS_Vrpn diff --git a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.h b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.h index 8e44fb03871337f05cf6fdc157707cf3fbd6888d..4f6027f54e98250a15a9208e9ca9731e7ec2c51b 100644 --- a/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.h +++ b/plugins/processing/vrpn/src/box-algorithms/ovpCVRPNButtonServer.h @@ -1,7 +1,24 @@ +/** + * @file ovpCVRPNButtonServer.h + * @brief Classes for the Box VRPN Button Server + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #pragma once -#if defined TARGET_HAS_ThirdPartyVRPN - #include "../ovp_defines.h" #include <openvibe/ov_all.h> #include <toolkit/ovtk_all.h> @@ -126,5 +143,3 @@ public: } // namespace VRPN } // namespace Plugins } // namespace OpenViBE - -#endif // OVP_HAS_Vrpn diff --git a/plugins/processing/vrpn/src/ovpIVRPNServerManager.cpp b/plugins/processing/vrpn/src/ovpIVRPNServerManager.cpp index 1fd053821061380668ff0948c79de9ae07ecd711..28e119bf9befb4f398dc51e9d8795170f04edad8 100644 --- a/plugins/processing/vrpn/src/ovpIVRPNServerManager.cpp +++ b/plugins/processing/vrpn/src/ovpIVRPNServerManager.cpp @@ -1,5 +1,22 @@ -#if defined TARGET_HAS_ThirdPartyVRPN - +/** + * @file ovpIVRPNServerManager.cpp + * @brief Class implementation for VRPN Management + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include "ovpIVRPNServerManager.h" #include <vrpn_Connection.h> @@ -248,4 +265,4 @@ double CVRPNServerManager::getAnalogState(const CIdentifier& serverID, const siz } // namespace VRPN } // namespace Plugins } // namespace OpenViBE -#endif // OVP_HAS_Vrpn + diff --git a/plugins/processing/vrpn/src/ovpIVRPNServerManager.h b/plugins/processing/vrpn/src/ovpIVRPNServerManager.h index b0be9186e5a7cb399195d5c767fe149088f981c1..d9367be0c009f0ddf408baf7b26b95424277be39 100644 --- a/plugins/processing/vrpn/src/ovpIVRPNServerManager.h +++ b/plugins/processing/vrpn/src/ovpIVRPNServerManager.h @@ -1,12 +1,31 @@ -#pragma once +/** + * @file ovpIVRPNServerManager.h + * @brief Interface for VRPN Management + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ -#if defined TARGET_HAS_ThirdPartyVRPN +#pragma once #include <openvibe/ov_all.h> namespace OpenViBE { namespace Plugins { namespace VRPN { + class IVRPNServerManager { public: @@ -37,8 +56,7 @@ public: virtual bool setAnalogState(const CIdentifier& serverID, size_t analogIndex, double status) = 0; virtual double getAnalogState(const CIdentifier& serverID, size_t analogIndex) const = 0; }; + } // namespace VRPN } // namespace Plugins } // namespace OpenViBE - -#endif // OVP_HAS_Vrpn diff --git a/plugins/processing/vrpn/src/ovp_defines.h b/plugins/processing/vrpn/src/ovp_defines.h index d96be604eef953a68a6fa624823c94153cab3890..d26a612c013df4e714f84f59bd96e12742a8ac16 100644 --- a/plugins/processing/vrpn/src/ovp_defines.h +++ b/plugins/processing/vrpn/src/ovp_defines.h @@ -1,3 +1,22 @@ +/** + * @file ovp_defines.h + * @brief Defines of VRPN related identifiers + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #pragma once // Boxes diff --git a/plugins/processing/vrpn/src/ovp_main.cpp b/plugins/processing/vrpn/src/ovp_main.cpp index eb1599135970abb93c9e3178df1fdba227a86020..b5e423a0952aa50d0923113b64215b5efbf22889 100644 --- a/plugins/processing/vrpn/src/ovp_main.cpp +++ b/plugins/processing/vrpn/src/ovp_main.cpp @@ -1,3 +1,22 @@ +/** + * @file ovp_main.cpp + * @brief Main file for VRPN plugin, registering the boxes to OpenViBE + * + * @copyright (C) 2022 INRIA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. + * If not, see <http://www.gnu.org/licenses/>. + */ #include <openvibe/ov_all.h> #include "ovp_defines.h" @@ -13,13 +32,10 @@ namespace Plugins { namespace VRPN { OVP_Declare_Begin() -#if defined TARGET_HAS_ThirdPartyVRPN OVP_Declare_New(CVRPNAnalogServerDesc); OVP_Declare_New(CVRPNButtonServerDesc); OVP_Declare_New(CBoxAlgorithmVRPNAnalogClientDesc); OVP_Declare_New(CBoxAlgorithmVRPNButtonClientDesc); -#endif - OVP_Declare_End() } // namespace VRPN diff --git a/plugins/server-extensions/fiddler/ovasCPluginFiddler.cpp b/plugins/server-extensions/fiddler/ovasCPluginFiddler.cpp index 4e3bb0dcf6e3012c19cf7a55ea3e3b47ec9fb7d4..6d557135ac2fca5b8620e21b0d8ce8fee5320e13 100755 --- a/plugins/server-extensions/fiddler/ovasCPluginFiddler.cpp +++ b/plugins/server-extensions/fiddler/ovasCPluginFiddler.cpp @@ -66,10 +66,10 @@ void CPluginFiddler::loopHook(std::deque<std::vector<float>>& buffers, CStimulat if (m_LastBufferSize > m_nSamplePerSentBlock) { nProcessed = m_LastBufferSize - m_nSamplePerSentBlock; } // Loop over the stimulations - for (size_t i = 0; i < stimSet.getStimulationCount(); ++i) + for (size_t i = 0; i < stimSet.size(); ++i) { - const uint64_t id = stimSet.getStimulationIdentifier(i); - const uint64_t time = stimSet.getStimulationDate(i); + const uint64_t id = stimSet.getId(i); + const uint64_t time = stimSet.getDate(i); const uint64_t nSample = CTime(time).toSampleCount(m_Sampling); if (id == OVTK_StimulationId_Target && nSample > m_NProcessedSample) diff --git a/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.cpp b/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.cpp index e381f6da84960a340ae6180448236195e94c1158..8e4a0de60b00120bae614aef71a09bf6d0d8e524 100755 --- a/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.cpp +++ b/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.cpp @@ -1,17 +1,36 @@ -#if defined TARGET_HAS_ThirdPartyLSL +///------------------------------------------------------------------------------------------------- +/// +/// \file ovasCPluginLSLOutput.cpp +/// \brief Acquisition Server plugin outputting signals and stimulations to LabStreamingLayer (LSL) streams. +/// \author Jussi T. Lindgren (Inria). +/// \version 0.1 +/// \date +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- -/* - * Notes: This code should be kept compatible with changes to LSL Input Driver in OpenViBE Acquisition Server, - * and LSL Export box in Designer. - * - */ +#if defined TARGET_HAS_ThirdPartyLSL +// Notes: This code should be kept compatible with changes to LSL Input Driver in OpenViBE Acquisition Server, and LSL Export box in Designer. #include "ovasCPluginLSLOutput.h" #include <vector> #include <system/ovCTime.h> -#include <labstreamlayer/Utils.hpp> +#include <lsl/Utils.hpp> namespace OpenViBE { namespace AcquisitionServer { @@ -36,13 +55,11 @@ CPluginLSLOutput::CPluginLSLOutput(const Kernel::IKernelContext& ctx) CPluginLSLOutput::~CPluginLSLOutput() { - if (m_signalOutlet) - { + if (m_signalOutlet) { delete m_signalOutlet; m_signalOutlet = nullptr; } - if (m_stimulusOutlet) - { + if (m_stimulusOutlet) { delete m_stimulusOutlet; m_stimulusOutlet = nullptr; } @@ -59,8 +76,7 @@ bool CPluginLSLOutput::startHook(const std::vector<CString>& selectedChannelName m_useOVTimestamps = m_kernelCtx.getConfigurationManager().expandAsBoolean("${LSL_UseOVTimestamps}", m_useOVTimestamps); m_startTime = System::Time::zgetTime(); - if (m_IsLSLOutputEnabled) - { + if (m_IsLSLOutputEnabled) { m_kernelCtx.getLogManager() << Kernel::LogLevel_Trace << "Will create streams [" << m_SignalStreamName << ", id " << m_SignalStreamID << "] and [" << m_MarkerStreamName << ", id " << m_MarkerStreamID << "]\n"; @@ -69,8 +85,7 @@ bool CPluginLSLOutput::startHook(const std::vector<CString>& selectedChannelName lsl::xml_element channels = signalInfo.desc().append_child("channels"); - for (size_t i = 0; i < nChannel; ++i) - { + for (size_t i = 0; i < nChannel; ++i) { channels.append_child("channel").append_child_value("label", selectedChannelNames[i].toASCIIString()).append_child_value("unit", "unknown"). append_child_value("type", "signal"); } @@ -96,24 +111,19 @@ bool CPluginLSLOutput::startHook(const std::vector<CString>& selectedChannelName void CPluginLSLOutput::loopHook(std::deque<std::vector<float>>& buffers, CStimulationSet& stimSet, const uint64_t start, const uint64_t end, const uint64_t /*sampleTime*/) { - if (m_IsLSLOutputEnabled) - { + if (m_IsLSLOutputEnabled) { // Output signal - if (m_signalOutlet->have_consumers()) - { + if (m_signalOutlet->have_consumers()) { const uint64_t sampleStep = (end - start) / static_cast<uint64_t>(m_nSamplePerSentBlock); - if (m_useOVTimestamps) - { + if (m_useOVTimestamps) { const double sampleStepInSec = CTime(sampleStep).toSeconds(); const double chunkStartInSec = CTime(start).toSeconds(); for (size_t i = 0; i < m_nSamplePerSentBlock; ++i) { m_signalOutlet->push_sample(buffers[i], chunkStartInSec + double(i) * sampleStepInSec); } } - else - { - for (size_t i = 0; i < m_nSamplePerSentBlock; ++i) - { - const double lslTime = OpenViBE::LabStreamLayer::getLSLRelativeTime(m_startTime + CTime(start + i * sampleStep)); + else { + for (size_t i = 0; i < m_nSamplePerSentBlock; ++i) { + const double lslTime = LSL::getLSLRelativeTime(m_startTime + CTime(start + i * sampleStep)); m_signalOutlet->push_sample(buffers[i], lslTime); } } @@ -123,15 +133,12 @@ void CPluginLSLOutput::loopHook(std::deque<std::vector<float>>& buffers, CStimul } // Output stimuli - if (m_stimulusOutlet->have_consumers()) - { - for (size_t i = 0; i < stimSet.getStimulationCount(); ++i) - { - if (stimSet.getStimulationDate(i) >= start && stimSet.getStimulationDate(i) < end) - { - const int code = int(stimSet.getStimulationIdentifier(i)); - const double date = m_useOVTimestamps ? CTime(stimSet.getStimulationDate(i)).toSeconds() - : OpenViBE::LabStreamLayer::getLSLRelativeTime(m_startTime + CTime(stimSet.getStimulationDate(i))); + if (m_stimulusOutlet->have_consumers()) { + for (size_t i = 0; i < stimSet.size(); ++i) { + if (stimSet.getDate(i) >= start && stimSet.getDate(i) < end) { + const int code = int(stimSet.getId(i)); + const double date = m_useOVTimestamps ? CTime(stimSet.getDate(i)).toSeconds() + : LSL::getLSLRelativeTime(m_startTime + CTime(stimSet.getDate(i))); m_stimulusOutlet->push_sample(&code, date); } } @@ -141,15 +148,12 @@ void CPluginLSLOutput::loopHook(std::deque<std::vector<float>>& buffers, CStimul void CPluginLSLOutput::stopHook() { - if (m_IsLSLOutputEnabled) - { - if (m_signalOutlet) - { + if (m_IsLSLOutputEnabled) { + if (m_signalOutlet) { delete m_signalOutlet; m_signalOutlet = nullptr; } - if (m_stimulusOutlet) - { + if (m_stimulusOutlet) { delete m_stimulusOutlet; m_stimulusOutlet = nullptr; } diff --git a/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.h b/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.h index f2d6444b9e4a3ae41d3722b11094f5a27af16f00..cba28b553e7f884f5e1019cb77c95b700dfdb428 100755 --- a/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.h +++ b/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.h @@ -1,8 +1,27 @@ -/** - * \brief Acquisition Server plugin outputting signals and stimulations to LabStreamingLayer (LSL) streams - * \version 0.1 - * \author Jussi T. Lindgren / Inria -*/ +///------------------------------------------------------------------------------------------------- +/// +/// \file ovasCPluginLSLOutput.h +/// \brief Acquisition Server plugin outputting signals and stimulations to LabStreamingLayer (LSL) streams. +/// \author Jussi T. Lindgren (Inria). +/// \version 0.1 +/// \date +/// \copyright (C) 2021 Inria +/// +/// This program is free software: you can redistribute it and/or modify +/// it under the terms of the GNU Affero General Public License as published +/// by the Free Software Foundation, either version 3 of the License, or +/// (at your option) any later version. +/// +/// This program is distributed in the hope that it will be useful, +/// but WITHOUT ANY WARRANTY; without even the implied warranty of +/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +/// GNU Affero General Public License for more details. +/// +/// You should have received a copy of the GNU Affero General Public License +/// along with this program. If not, see <https://www.gnu.org/licenses/>. +/// +///------------------------------------------------------------------------------------------------- + #pragma once #if defined TARGET_HAS_ThirdPartyLSL diff --git a/scripts/linux-dep-helpers/linux-compile-itpp.pl b/scripts/linux-dep-helpers/linux-compile-itpp.pl index 86b7d212e5825686b52194adf372249c2e6db2d9..93c011eb8eb34156fdefd8657f2fb428cfe45f97 100644 --- a/scripts/linux-dep-helpers/linux-compile-itpp.pl +++ b/scripts/linux-dep-helpers/linux-compile-itpp.pl @@ -6,7 +6,7 @@ # # Installation of packages not available in the apt database or PPA -# Eigen installation +# ITPP installation if (!$no_install && $distribution eq 'Fedora') { #if (1) { diff --git a/scripts/linux-dep-helpers/linux-compile-lsl.pl b/scripts/linux-dep-helpers/linux-compile-lsl.pl index 047431d38f08367f6629aaa669ff0f9ff9b4cdb3..30fd26607629742e75fe49803fd764b7308aa10e 100644 --- a/scripts/linux-dep-helpers/linux-compile-lsl.pl +++ b/scripts/linux-dep-helpers/linux-compile-lsl.pl @@ -6,7 +6,7 @@ # # Installation of packages not available in the apt database or PPA -# Eigen installation +# LSL installation if (!$no_install) { diff --git a/scripts/linux-dep-helpers/linux-compile-vrpn.pl b/scripts/linux-dep-helpers/linux-compile-vrpn.pl deleted file mode 100644 index 20e29cb0de0463416586ef760b3ed973be9eaee4..0000000000000000000000000000000000000000 --- a/scripts/linux-dep-helpers/linux-compile-vrpn.pl +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/perl - -# Intended to be run from linux-install_dependencies.pl -# -# Variables are wrt that parent scope -# - -if (!$no_install) { - - my $old_dir = Cwd::getcwd(); - - my $vrpn_src_dir = $dependencies_arch_dir . "/vrpn"; - - # fetch the packages - chdir "$dependencies_arch_dir"; - if (! -e "vrpn_07_31-ov.zip") { - system('wget "http://openvibe.inria.fr/dependencies/linux-x86/vrpn_07_31-ov.zip"'); - ($CHILD_ERROR != 0) and die ("Could not download the itpp external sources [$CHILD_ERROR]"); - } - if (! -e $vrpn_src_dir) { - system('unzip "vrpn_07_31-ov.zip"'); - ($CHILD_ERROR != 0) and die ("Could not extract the itpp external archive"); - } - - # compile - - print "Compiling vrpn ...\n"; - - my $bitness = `uname -m`; - chomp($bitness); - - my $bitness_token = ""; - if($bitness == "x86_64") { - # 64bit - $bitness_token = "pc_linux64"; - - system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux64/g" vrpn/quat/Makefile'); - system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux64/g" vrpn/Makefile'); - } else { - $bitness_token = "pc_linux"; - - system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux/g" vrpn/quat/Makefile'); - system('sed -i "s/CC := gcc/CC := gcc -fPIC/g" vrpn/quat/Makefile'); - system('sed -i "s/#HW_OS := pc_linux$/HW_OS := pc_linux/g" vrpn/Makefile'); - system('sed -i "s/CC := gcc/CC := gcc -fPIC/g" vrpn/Makefile'); - system('sed -i "s/CC := g++/CC := g++ -fPIC/g" vrpn/Makefile'); - } - - system("cd vrpn/quat && make >make-quat.log 2>&1"); - system("cd vrpn && make >make-vrpn.log 2>&1"); - - mkdir("$dependencies_dir/include"); - mkdir("$dependencies_dir/lib"); - - system("chmod a-x vrpn/quat/*.h vrpn/*.h"); - system("cp vrpn/quat/*.h vrpn/*.h $dependencies_dir/include"); - system("cp vrpn/quat/$bitness_token/*.a vrpn/$bitness_token/*.a $dependencies_dir/lib"); - - chdir $old_dir -}; - diff --git a/scripts/linux-dependencies-fedora.txt b/scripts/linux-dependencies-fedora.txt index e0c3650f68d8e70aac2d94958d1975b843652b03..f172f693064057c5745f90a32c8ce778f07c0a9d 100644 --- a/scripts/linux-dependencies-fedora.txt +++ b/scripts/linux-dependencies-fedora.txt @@ -12,9 +12,7 @@ freeimage-devel mesa-libGL-devel freealut-devel libvorbis-devel -eigen3-devel ois-devel -compat-lua-devel sqlite2-devel fftw-devel python3-devel diff --git a/scripts/linux-dependencies-ubuntu1404.txt b/scripts/linux-dependencies-ubuntu1404.txt index e00089197ff3ef664c351f68d03a71c93bbc9310..e96e6f2542fe2755f6f3dd9f2cd2ba80e204dbac 100644 --- a/scripts/linux-dependencies-ubuntu1404.txt +++ b/scripts/linux-dependencies-ubuntu1404.txt @@ -21,14 +21,8 @@ libfreeimage-dev libglu1-mesa-dev libalut-dev libvorbis-dev -libncurses5-dev -libeigen3-dev -libois-dev -libboost-dev -libboost-thread-dev -libboost-regex-dev -libboost-filesystem-dev -liblua5.1-0-dev +libncurses5-dev +libois-dev libitpp-dev libsqlite0-dev libfftw3-dev diff --git a/scripts/linux-dependencies-ubuntu16_plus.txt b/scripts/linux-dependencies-ubuntu16_plus.txt index 82f04175db9688f5ca21224f42734ed7089d5af6..74d5113ddbd04590c28d1825c7b529e086734c5a 100644 --- a/scripts/linux-dependencies-ubuntu16_plus.txt +++ b/scripts/linux-dependencies-ubuntu16_plus.txt @@ -12,9 +12,7 @@ libfreeimage-dev libglu1-mesa-dev libalut-dev libvorbis-dev -libeigen3-dev libois-dev -liblua5.1-0-dev libitpp-dev libsqlite0-dev libfftw3-dev diff --git a/scripts/windows-dependencies-x64.txt b/scripts/windows-dependencies-x64.txt index 24c8c831bd4e2afed96f9030bbbf438e528a1f43..04ebd8a880ff5ac6d8a13fc762b86c4c4df5ad57 100644 --- a/scripts/windows-dependencies-x64.txt +++ b/scripts/windows-dependencies-x64.txt @@ -1,4 +1,3 @@ -build/windows/boost_1.58_x64_vc120_dev.zip;boost;1.58 build/windows/freealut_1.1.0_x64_vc120.zip;freealut;1.1.0 build/windows/gtk_2.24.31_x64_vc120_dev.zip;gtk;2.24.31 build/windows/gtk_2.24.31_x64_vc120_runtime.zip;gtk;2.24.31 @@ -6,7 +5,6 @@ build/windows/itpp_4.3.1_x64_vc120.zip;itpp;4.3.1 build/windows/liblsl_1.12_x64.zip;liblsl;1.12 build/windows/libogg_1.2.1_x64_vc120.zip;libogg;1.2.1 build/windows/libvorbis_1.3.2_x64_vc120.zip;libvorbis;1.3.2 -build/windows/lua_5.1.4_x64_vc110.zip;lua;5.1.4 build/windows/nsis_log_zip_access_2.51.zip;nsis_log_zip_access;2.51 build/windows/openal_1.1_x64.zip;openal;1.1 build/windows/pthread_2.9.1_x64_vc120_dev.zip;pthread;2.9.1 @@ -19,5 +17,3 @@ build/windows/sdk_gtec_unicorn_x64.zip;sdk_gtec_unicorn;0.0.0 build/windows/vcredist_x64_vc120.zip;vcredist;1.0 build/windows/vcredist_x64_vc100.zip;vcredist_100;1.0 build/windows/vcredist_x64_vc110.zip;vcredist_110;1.0 -build/windows/vrpn_7.31_x64_vc120_dev.zip;vrpn;7.31 -build/windows/vrpn_7.31_x64_vc120_runtime.zip;vrpn;7.31 diff --git a/scripts/windows-dependencies-x86.txt b/scripts/windows-dependencies-x86.txt index 127b65da1b9cdf2f06fe164b6da88e0f07ae9035..1c65b67518f3bba25c0d246607e024cfa18fe85b 100644 --- a/scripts/windows-dependencies-x86.txt +++ b/scripts/windows-dependencies-x86.txt @@ -1,4 +1,3 @@ -build/windows/boost_1.58_x86_vc120_dev.zip;boost;1.58 build/windows/freealut_1.1.0_x86_vc120.zip;freealut;1.1.0 build/windows/gtk-2.22.1-dev.zip;gtk;2.22.1 build/windows/gtk-2.22.1-runtime.zip;gtk;2.22.1 @@ -6,7 +5,6 @@ build/windows/itpp_4.3.1_x86_vc120.zip;itpp;4.3.1 build/windows/liblsl_1.12_x86.zip;liblsl;1.12 build/windows/libogg_1.2.1_x86.zip;libogg;1.2.1 build/windows/libvorbis_1.3.2_x86.zip;libvorbis;1.3.2 -build/windows/lua_5.1.4_x86_vc110.zip;lua;5.1.4 build/windows/nsis_log_zip_access_2.51.zip;nsis_log_zip_access;2.51 build/windows/openal_1.1_x86.zip;openal;1.1 build/windows/pthread_2.9.1_x86_vc120_dev.zip;pthread;2.9.1 @@ -23,5 +21,3 @@ build/windows/sdk_tmsi_x86.zip;sdk_tmsi;0.0.0 build/windows/vcredist_x86_vc120.zip;vcredist;1.0 build/windows/vcredist_x86_vc100.zip;vcredist_100;1.0 build/windows/vcredist_x86_vc110.zip;vcredist_110;1.0 -build/windows/vrpn_7.31_x86_vc120_dev.zip;vrpn;7.31 -build/windows/vrpn_7.31_x86_vc120_runtime.zip;vrpn;7.31 diff --git a/scripts/windows-openvibe-x.x.x-setup.nsi.in b/scripts/windows-openvibe-x.x.x-setup.nsi.in index 92a44c81137217e846d0b6533015647949297154..9c82c5041cb2cf7b43d19be20f8864bf00672eec 100644 --- a/scripts/windows-openvibe-x.x.x-setup.nsi.in +++ b/scripts/windows-openvibe-x.x.x-setup.nsi.in @@ -260,8 +260,6 @@ no_need_to_patch_3d_functionnality: CreateShortCut "$SMPROGRAMS\${OV_NAME}\OpenViBE Designer @ARCH_BITS@bit.lnk" "$INSTDIR\openvibe-designer.cmd" "" "%SystemRoot%\system32\shell32.dll" 137 CreateShortCut "$SMPROGRAMS\${OV_NAME}\OpenViBE Acquisition Server @ARCH_BITS@bit.lnk" "$INSTDIR\openvibe-acquisition-server.cmd" "" "%SystemRoot%\system32\shell32.dll" 18 CreateShortCut "$SMPROGRAMS\${OV_NAME}\OpenViBE Tracker @ARCH_BITS@bit.lnk" "$INSTDIR\openvibe-tracker.cmd" "" "%SystemRoot%\system32\shell32.dll" 249 - CreateShortCut "$SMPROGRAMS\${OV_NAME}\OpenViBE VR-demo Spaceship @ARCH_BITS@bit.lnk" "$INSTDIR\openvibe-vr-demo-spaceship.cmd" "" "%SystemRoot%\system32\shell32.dll" 200 - CreateShortCut "$SMPROGRAMS\${OV_NAME}\OpenViBE VR-demo Handball @ARCH_BITS@bit.lnk" "$INSTDIR\openvibe-vr-demo-handball.cmd" "" "%SystemRoot%\system32\shell32.dll" 200 CreateShortCut "$SMPROGRAMS\${OV_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"