This commit is contained in:
2021-10-14 13:47:35 +02:00
commit 6625a8dfaa
4026 changed files with 844291 additions and 0 deletions
@@ -0,0 +1 @@
OV_ADD_PROJECTS("PLUGINS")
@@ -0,0 +1,30 @@
PROJECT(openvibe-plugins-designer-examples)
FILE(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl)
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRC_FILES})
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
FOLDER ${PLUGINS_FOLDER}
COMPILE_FLAGS "-DOVP_Exports -DOVP_Shared")
SET(INCLUDED_OV_SDK_COMPONENTS MAIN COMMON TOOLKIT EBML SYSTEM XML)
INCLUDE("AddOpenViBESDKComponents")
INCLUDE("FindOpenViBEVisualizationToolkit")
INCLUDE("FindThirdPartyGTK")
# ---------------------------------
# Target macros
# Defines target operating system, architecture and compiler
# ---------------------------------
SET_BUILD_PLATFORM()
# -----------------------------
# Install files
# -----------------------------
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/)
@@ -0,0 +1,174 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>openvibe</Creator>
<CreatorVersion>2.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x00002e59, 0x00005225)</Identifier>
<Name>Modifiable Settings example</Name>
<AlgorithmClassIdentifier>(0x4ab0dd05, 0x32155d41)</AlgorithmClassIdentifier>
<Settings>
<Setting>
<TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier>
<Name>Int</Name>
<DefaultValue>1</DefaultValue>
<Value>1</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Float</Name>
<DefaultValue>1.3</DefaultValue>
<Value>1.3</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Bool</Name>
<DefaultValue>false</DefaultValue>
<Value>false</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>String</Name>
<DefaultValue>string</DefaultValue>
<Value>string</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>filename</Name>
<DefaultValue>somefile.txt</DefaultValue>
<Value>somefile.txt</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0xb0d0db45, 0x49cbc34a)</TypeIdentifier>
<Name>script</Name>
<DefaultValue>somescript.lua</DefaultValue>
<Value>somescript.lua</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x7f45a2a9, 0x7db12219)</TypeIdentifier>
<Name>color</Name>
<DefaultValue>20,65,90</DefaultValue>
<Value>20,65,90</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>colorgradient</Name>
<DefaultValue>0:0,0,0; 100:60,40,40</DefaultValue>
<Value>0:0,0,0; 100:60,40,40</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2f3563a4, 0x571e194d)</TypeIdentifier>
<Name>unit</Name>
<DefaultValue>V</DefaultValue>
<Value>V</Value>
<Modifiability>true</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x501f79fa, 0x7e1f6680)</TypeIdentifier>
<Name>factor</Name>
<DefaultValue>1e-01</DefaultValue>
<Value>1e-01</Value>
<Modifiability>true</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>144.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>432.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x905adcea, 0xd88c907d)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>222</Value>
</Attribute>
<Attribute>
<Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier>
<Value>false</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>10</Value>
</Attribute>
</Attributes>
</Box>
</Boxes>
<Links></Links>
<Comments>
<Comment>
<Identifier>(0x00004034, 0x00002caa)</Identifier>
<Text>This box has a setting of each type and each is
marked as a modifiable parameter. It means
that during run, a widget will appear where
you can modify the value of these settings. As
you do that, you will notice that the
values displayed in the log (every 5 seconds)
chanfes accordingly.</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>112</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>144</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":477,"identifier":"(0x00002cca, 0x000017dc)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":614},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00002075, 0x000044ac)","index":0,"name":"config","parentIdentifier":"(0x00002cca, 0x000017dc)","type":2},{"boxIdentifier":"(0x00002e59, 0x00005225)","childCount":0,"identifier":"(0x0000463a, 0x00002105)","index":0,"parentIdentifier":"(0x00002075, 0x000044ac)","type":3}]</Data>
</Entry>
</Metadata>
<Attributes>
<Attribute>
<Identifier>(0x790d75b8, 0x3bb90c33)</Identifier>
<Value>Loic Mahe</Value>
</Attribute>
<Attribute>
<Identifier>(0x8c1fc55b, 0x7b433dc2)</Identifier>
<Value>1.0</Value>
</Attribute>
<Attribute>
<Identifier>(0x9f5c4075, 0x4a0d3666)</Identifier>
<Value>Modifiable Settings example</Value>
</Attribute>
<Attribute>
<Identifier>(0xf36a1567, 0xd13c53da)</Identifier>
<Value>http://openvibe.inria.fr/modifiable-box-settings/</Value>
</Attribute>
<Attribute>
<Identifier>(0xf6b2e3fa, 0x7bd43926)</Identifier>
<Value>box-tutorials</Value>
</Attribute>
<Attribute>
<Identifier>(0xf8034a49, 0x8b3f37cc)</Identifier>
<Value>Inria</Value>
</Attribute>
</Attributes>
</OpenViBE-Scenario>
@@ -0,0 +1,67 @@
/**
* \page BoxAlgorithm_ModifiableSettings Modifiable Settings
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Description|
This box purpose is to test and demonstrate the modifiable settings feature.
It has a setting of each type and all are modifiable during scenario playback.
Values are displayed in log (LogLevel_Info) every 5 seconds.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Description|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Settings|
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Settings|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting1|
An integer.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting1|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting2|
A float.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting2|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting3|
A boolean.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting3|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting4|
A string.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting4|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting5|
A filename.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting5|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting6|
A script.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting6|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting7|
A color.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting7|
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Setting8|
A color gradient.
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Setting8|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Examples|
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Examples|
__________________________________________________________________
Miscellaneous description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ModifiableSettings_Miscellaneous|
* |OVP_DocEnd_BoxAlgorithm_ModifiableSettings_Miscellaneous|
*/
@@ -0,0 +1,135 @@
.. _Doc_BoxAlgorithm_ModifiableSettingsExample:
Modifiable Settings example
===========================
.. todo:: Write general box description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Settings:
Settings
--------
.. todo:: Write settings general description...
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Int", "Integer", "1"
"Float", "Float", "1.3"
"Bool", "Boolean", "false"
"String", "String", "string"
"filename", "Filename", "somefile.txt"
"script", "Script", "somescript.lua"
"color", "", "20,65,90"
"colorgradient", "", "0:0,0,0; 100:60,40,40"
"unit", "Measurement unit", "V"
"factor", "Factor", "1e-01"
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_1:
Int
~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_2:
Float
~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_3:
Bool
~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_4:
String
~~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_5:
filename
~~~~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_6:
script
~~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_7:
color
~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_8:
colorgradient
~~~~~~~~~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_9:
unit
~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Setting_10:
factor
~~~~~~
.. todo:: Write setting description...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Examples:
Examples
--------
.. todo:: Write example of use...
.. _Doc_BoxAlgorithm_ModifiableSettingsExample_Miscellaneous:
Miscellaneous
-------------
.. todo:: Write any miscellaneous information...
@@ -0,0 +1,35 @@
#include "ovpCBoxAlgorithmModifiableSettings.h"
namespace OpenViBE {
namespace Plugins {
namespace Examples {
//---------------------------------------------------------------------------------------------------
bool CBoxAlgorithmModifiableSettings::processClock(Kernel::CMessageClock& /*msg*/)
{
updateSettings();
//print settings values
for (size_t i = 0; i < m_SettingsValue.size(); ++i)
{
this->getLogManager() << Kernel::LogLevel_Info << "Setting " << i << " value is " << m_SettingsValue[i] << "\n";
}
this->getLogManager() << Kernel::LogLevel_Info << "\n";
return true;
}
//---------------------------------------------------------------------------------------------------
bool CBoxAlgorithmModifiableSettings::updateSettings()
{
m_SettingsValue.clear();
const size_t nSetting = this->getStaticBoxContext().getSettingCount();
for (size_t i = 0; i < nSetting; ++i)
{
CString value = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), i);
m_SettingsValue.push_back(value);
}
return true;
}
} // namespace Examples
} // namespace Plugins
} // namespace OpenViBE
@@ -0,0 +1,99 @@
#pragma once
#include "../ovp_defines.h"
#include <openvibe/ov_all.h>
#include <toolkit/ovtk_all.h>
#include <visualization-toolkit/ovviz_all.h>
#include <vector>
namespace OpenViBE {
namespace Plugins {
namespace Examples {
/**
* \class CBoxAlgorithmModifiableSettings
* \author lmahe (Inria)
* \date Mon Oct 14 16:35:48 2013
* \brief The class CBoxAlgorithmModifiableSettings describes the box ModifiableSettings.
*
*/
class CBoxAlgorithmModifiableSettings final : virtual public Toolkit::TBoxAlgorithm<IBoxAlgorithm>
{
public:
void release() override { delete this; }
bool initialize() override { return true; }
bool uninitialize() override { return true; }
bool processClock(Kernel::CMessageClock& msg) override;
uint64_t getClockFrequency() override { return 0x1ULL << 30; } // 4Hz
bool process() override { return true; }
_IsDerivedFromClass_Final_(Toolkit::TBoxAlgorithm<IBoxAlgorithm>, OVP_ClassId_BoxAlgorithm_ModifiableSettings)
protected:
bool updateSettings();
std::vector<CString> m_SettingsValue;
};
/**
* \class CBoxAlgorithmModifiableSettingsDesc
* \author lmahe (Inria)
* \date Mon Oct 14 16:35:48 2013
* \brief Descriptor of the box ModifiableSettings.
*
*/
class CBoxAlgorithmModifiableSettingsDesc final : virtual public IBoxAlgorithmDesc
{
public:
void release() override { }
CString getName() const override { return CString("Modifiable Settings example"); }
CString getAuthorName() const override { return CString("lmahe"); }
CString getAuthorCompanyName() const override { return CString("Inria"); }
CString getShortDescription() const override
{
return CString("Settings of this box are modifiable during playback. Values are displayed in log every 5 seconds");
}
CString getDetailedDescription() const override
{
return CString(
"This box purpose is to test and demonstrate the modifiable settings feature.\n It has a setting of each type and all are modifiable during scenario playback.\n");
}
CString getCategory() const override { return CString("Examples/Basic"); }
CString getVersion() const override { return CString("1.0"); }
CString getStockItemName() const override { return CString(""); }
CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_ModifiableSettings; }
IPluginObject* create() override { return new CBoxAlgorithmModifiableSettings; }
bool hasFunctionality(const EPluginFunctionality functionality) const override { return functionality == EPluginFunctionality::Visualization; }
bool getBoxPrototype(Kernel::IBoxProto& prototype) const override
{
prototype.addSetting("Int", OV_TypeId_Integer, "1", true);
prototype.addSetting("Float", OV_TypeId_Float, "1.3", true);
prototype.addSetting("Bool", OV_TypeId_Boolean, "false", true);
prototype.addSetting("String", OV_TypeId_String, "string", true);
prototype.addSetting("filename", OV_TypeId_Filename, "somefile.txt", true);
prototype.addSetting("script", OV_TypeId_Script, "somescript.lua", true);
prototype.addSetting("color", OV_TypeId_Color, "20,65,90", true);
prototype.addSetting("colorgradient", OV_TypeId_ColorGradient, "0:0,0,0; 100:60,40,40", true);
prototype.addSetting("unit", OV_TypeId_MeasurementUnit, "V", true);
prototype.addSetting("factor", OV_TypeId_Factor, "1e-01", true);
prototype.addFlag(OV_AttributeId_Box_FlagIsUnstable);
return true;
}
_IsDerivedFromClass_Final_(IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_ModifiableSettingsDesc)
};
} // namespace Examples
} // namespace Plugins
} // namespace OpenViBE
@@ -0,0 +1,14 @@
#pragma once
// Boxes
//---------------------------------------------------------------------------------------------------
#define OVP_ClassId_BoxAlgorithm_ModifiableSettings OpenViBE::CIdentifier(0x4AB0DD05, 0x32155D41)
#define OVP_ClassId_BoxAlgorithm_ModifiableSettingsDesc OpenViBE::CIdentifier(0x3808515D, 0x97C7F9B6)
// Global defines
//---------------------------------------------------------------------------------------------------
#ifdef TARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines
#include "ovp_global_defines.h"
#endif // TARGET_HAS_ThirdPartyOpenViBEPluginsGlobalDefines
#define OV_AttributeId_Box_FlagIsUnstable OpenViBE::CIdentifier(0x666FFFFF, 0x666FFFFF)
@@ -0,0 +1,10 @@
#include "ovp_defines.h"
#include "box-algorithms/ovpCBoxAlgorithmModifiableSettings.h"
OVP_Declare_Begin()
context.getTypeManager().registerEnumerationEntry(OV_TypeId_BoxAlgorithmFlag, OV_AttributeId_Box_FlagIsUnstable.toString(),
OV_AttributeId_Box_FlagIsUnstable.id());
OVP_Declare_New(OpenViBE::Plugins::Examples::CBoxAlgorithmModifiableSettingsDesc);
OVP_Declare_End()
@@ -0,0 +1 @@
OV_ADD_PROJECTS("PLUGINS_VISUALIZATION")
@@ -0,0 +1,46 @@
PROJECT(openvibe-plugins-designer-advanced-visualization)
SET(PROJECT_PRODUCT_NAME "Mensia Advanced Visualization Toolset")
MESSAGE(STATUS "Now building ${PROJECT_NAME} ${PROJECT_VERSION} (${OV_PROJECT_BRANCH}~${OV_PROJECT_COMMITHASH})" )
FILE(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl include/*.h include/*.hpp)
INCLUDE("FindSourceRCProperties")
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRC_FILES})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${RLM_LIB_FILES})
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
FOLDER ${PLUGINS_FOLDER}
COMPILE_FLAGS "-DOVP_Exports -DOVP_Shared")
IF(MENSIA_ADVANCED_VISUALIZATION_EXPERIMENTAL)
MESSAGE(STATUS " MENSIA_ADVANCED_VISUALIZATION_EXPERIMENTAL is set, experimental visualization will be built.")
ADD_DEFINITIONS(-DTARGET_Has_Experimental)
ENDIF()
INCLUDE("AddOpenViBESDKComponents")
INCLUDE("FindOpenViBEVisualizationToolkit")
INCLUDE("FindThirdPartyGTK")
INCLUDE("FindLibMensiaAdvancedVisualisation")
INCLUDE("FindThirdPartyOpenGL")
INCLUDE("GenerateDocumentation")
# ---------------------------------
# Target macros
# Defines target operating system, architecture and compiler
# ---------------------------------
SET_BUILD_PLATFORM()
# -----------------------------
# Install files
# -----------------------------
INSTALL(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION ${DIST_BINDIR}
LIBRARY DESTINATION ${DIST_LIBDIR}
ARCHIVE DESTINATION ${DIST_LIBDIR})
INSTALL(DIRECTORY share/ DESTINATION ${DIST_DATADIR}/openvibe/plugins)
INSTALL(DIRECTORY box-tutorials/ DESTINATION ${DIST_DATADIR}/openvibe/scenarios/box-tutorials/advanced-visualization)
@@ -0,0 +1,771 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x0000138a, 0x0000295a)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-224</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>(0x000015e3, 0x000042e6)</Identifier>
<Name>2D Topography</Name>
<AlgorithmClassIdentifier>(0x7c3a05b8, 0xc45386f8)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.02</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>${AdvancedViz_DefaultColorGradient}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>160</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xa291db4a, 0x5f4fcbfc)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>123</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>4</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00003b97, 0x00004028)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-304</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x000045c5, 0x00003961)</Identifier>
<Name>Epoch average</Name>
<AlgorithmClassIdentifier>(0x21283d9f, 0xe76ff640)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input epochs</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Averaged epochs</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>32</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>64</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xb73cee83, 0xf7215d60)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>120</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>(0x0000520b, 0x000068f6)</Identifier>
<Name>x&#178;</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>-64</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>51</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>74</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>(0x00005e76, 0x0000282e)</Identifier>
<Name>8-15 Hz</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>High cut frequency (Hz)</Name>
<DefaultValue>40</DefaultValue>
<Value>15</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>-144</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x000069d0, 0x00007ac3)</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>0</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</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>105</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
</Boxes>
<Links>
<Link>
<Identifier>(0x00000d6a, 0x000040a6)</Identifier>
<Source>
<BoxIdentifier>(0x000069d0, 0x00007ac3)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000045c5, 0x00003961)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>19</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>40</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00001d11, 0x00002529)</Identifier>
<Source>
<BoxIdentifier>(0x0000138a, 0x0000295a)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00005e76, 0x0000282e)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-205</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-168</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00003f0b, 0x00003088)</Identifier>
<Source>
<BoxIdentifier>(0x00003b97, 0x00004028)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000138a, 0x0000295a)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-279</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-241</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00003f97, 0x0000658d)</Identifier>
<Source>
<BoxIdentifier>(0x00005e76, 0x0000282e)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000520b, 0x000068f6)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-119</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-94</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000075c1, 0x0000468d)</Identifier>
<Source>
<BoxIdentifier>(0x0000520b, 0x000068f6)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000069d0, 0x00007ac3)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-32</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-17</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00007c6b, 0x00002226)</Identifier>
<Source>
<BoxIdentifier>(0x000045c5, 0x00003961)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000015e3, 0x000042e6)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>89</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>136</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x00000940, 0x00007015)</Identifier>
<Text>&lt;b&gt;Epoch Average&lt;/b&gt;
Moving average over the last 32 epochs</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>64</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00001049, 0x0000086b)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;2D Topography&lt;/i&gt;
Maps the alpha power onto a 2D model of the scalp</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>160</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00002668, 0x000078d5)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter in the alpha band</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-144</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00004e08, 0x00007a62)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-304</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000053b1, 0x0000293c)</Identifier>
<Text>&lt;b&gt;Band Power&lt;/b&gt;
Average of the squared signal
on blocks of 32 samples</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-48</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00006fc9, 0x00005cce)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-224</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0x000015e3, 0x000042e6)","childCount":0,"identifier":"(0x000017ea, 0x000031ee)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00005815, 0x0000441d)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004d9a, 0x00003295)","index":0,"name":"Default tab","parentIdentifier":"(0x00005815, 0x0000441d)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000000c1, 0x00005a9b)","index":0,"name":"Empty","parentIdentifier":"(0x00004d9a, 0x00003295)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
@@ -0,0 +1,778 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x000001e1, 0x00001031)</Identifier>
<Name>Epoch average</Name>
<AlgorithmClassIdentifier>(0x21283d9f, 0xe76ff640)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input epochs</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Averaged epochs</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>32</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xb73cee83, 0xf7215d60)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>120</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>(0x00000390, 0x00002a39)</Identifier>
<Name>x&#178;</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>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>51</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>74</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>(0x00000728, 0x000051d2)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-336</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x0000512d, 0x00000e9f)</Identifier>
<Name>3D Cubes</Name>
<AlgorithmClassIdentifier>(0xe028305d, 0x4acf9d1a)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.25</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>0:100,100,100; 49:100,100,100; 50:0,0,100; 75:0,83,4; 100:100,1,0</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xa291db4a, 0x5f4fcbfc)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>81</Value>
</Attribute>
<Attribute>
<Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>4</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00005c5e, 0x00006d4f)</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>-32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</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>105</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00006ea1, 0x00004c67)</Identifier>
<Name>8-15 Hz</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>High cut frequency (Hz)</Name>
<DefaultValue>40</DefaultValue>
<Value>15</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>-176</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x000079d1, 0x00004e56)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-256</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>
</Boxes>
<Links>
<Link>
<Identifier>(0x00000878, 0x000036c3)</Identifier>
<Source>
<BoxIdentifier>(0x000079d1, 0x00004e56)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00006ea1, 0x00004c67)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-237</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>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x0000098c, 0x000077f5)</Identifier>
<Source>
<BoxIdentifier>(0x000001e1, 0x00001031)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000512d, 0x00000e9f)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>57</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>104</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00001289, 0x000050aa)</Identifier>
<Source>
<BoxIdentifier>(0x00005c5e, 0x00006d4f)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000001e1, 0x00001031)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-13</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>8</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00003382, 0x0000207a)</Identifier>
<Source>
<BoxIdentifier>(0x00006ea1, 0x00004c67)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00000390, 0x00002a39)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-151</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-126</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00004963, 0x000026b2)</Identifier>
<Source>
<BoxIdentifier>(0x00000728, 0x000051d2)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000079d1, 0x00004e56)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-311</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-273</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x0000662a, 0x00007347)</Identifier>
<Source>
<BoxIdentifier>(0x00000390, 0x00002a39)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00005c5e, 0x00006d4f)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-64</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-49</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x0000159f, 0x00004fe3)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-256</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00001bd9, 0x00000872)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;3D Cube&lt;/i&gt;
The Alpha power of each channel is represented
as a cube, whose size and color depends on the value.
Note that this pipeline only produce positive values,
thus only the [50-100%] part of the gradient will be used.</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>144</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00002ba5, 0x000028e3)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-336</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00002f0c, 0x0000549c)</Identifier>
<Text>&lt;b&gt;Band Power&lt;/b&gt;
Average of the squared signal
on blocks of 32 samples</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-80</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00004365, 0x00004e39)</Identifier>
<Text>&lt;b&gt;Epoch Average&lt;/b&gt;
Moving average over the last 32 epochs</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>32</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00005a9c, 0x00004eff)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter in the alpha band</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-176</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0x0000512d, 0x00000e9f)","childCount":0,"identifier":"(0x0000239e, 0x00000b54)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000027da, 0x00000e29)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000676d, 0x0000113e)","index":0,"name":"Default tab","parentIdentifier":"(0x000027da, 0x00000e29)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00002462, 0x000064e0)","index":0,"name":"Empty","parentIdentifier":"(0x0000676d, 0x0000113e)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
@@ -0,0 +1,797 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x00002f34, 0x00005835)</Identifier>
<Name>Epoch average</Name>
<AlgorithmClassIdentifier>(0x21283d9f, 0xe76ff640)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input epochs</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Averaged epochs</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>32</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>0</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xb73cee83, 0xf7215d60)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>120</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>(0x000031ec, 0x00001a4b)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-368</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x0000324d, 0x0000433b)</Identifier>
<Name>x&#178;</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>-128</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>51</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>74</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>(0x000050d9, 0x00004e88)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-288</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>(0x0000643d, 0x0000110a)</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>-64</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</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>105</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x0000659d, 0x000029b3)</Identifier>
<Name>8-15 Hz</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>High cut frequency (Hz)</Name>
<DefaultValue>40</DefaultValue>
<Value>15</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>-208</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x00007ada, 0x00004ca9)</Identifier>
<Name>3D Topography</Name>
<AlgorithmClassIdentifier>(0xc709ea84, 0xb577d910)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.025</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>${AdvancedViz_DefaultColorGradient}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>112</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xa291db4a, 0x5f4fcbfc)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>123</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>(0x00000f29, 0x00003a6f)</Identifier>
<Source>
<BoxIdentifier>(0x0000643d, 0x0000110a)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00002f34, 0x00005835)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-45</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-24</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00001744, 0x00006eca)</Identifier>
<Source>
<BoxIdentifier>(0x000050d9, 0x00004e88)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000659d, 0x000029b3)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-269</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-232</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00001801, 0x000039ce)</Identifier>
<Source>
<BoxIdentifier>(0x000031ec, 0x00001a4b)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000050d9, 0x00004e88)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-343</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-305</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00002294, 0x00003fe3)</Identifier>
<Source>
<BoxIdentifier>(0x0000324d, 0x0000433b)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000643d, 0x0000110a)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-96</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-81</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00002e55, 0x000024a9)</Identifier>
<Source>
<BoxIdentifier>(0x0000659d, 0x000029b3)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000324d, 0x0000433b)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-183</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-158</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00004d5d, 0x00007851)</Identifier>
<Source>
<BoxIdentifier>(0x00002f34, 0x00005835)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00007ada, 0x00004ca9)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>88</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x00000386, 0x0000356c)</Identifier>
<Text>&lt;b&gt;Epoch Average&lt;/b&gt;
Moving average over the last 32 epochs</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>0</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00000998, 0x000034ad)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-368</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000018bf, 0x00006660)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;3D Topography&lt;/i&gt;
Maps the alpha power onto a 3D model of the scalp</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>112</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x0000584e, 0x00004a1d)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-288</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000070b7, 0x0000528d)</Identifier>
<Text>&lt;b&gt;Band Power&lt;/b&gt;
Average of the squared signal
on blocks of 32 samples</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-112</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00007654, 0x00002555)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter in the alpha band</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-208</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000060e0, 0x00003dd1)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x00007ada, 0x00004ca9)","childCount":0,"identifier":"(0x000064a2, 0x00001ff6)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000648f, 0x00006132)","index":0,"name":"Default tab","parentIdentifier":"(0x000060e0, 0x00003dd1)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000416e, 0x00003e00)","index":0,"name":"Empty","parentIdentifier":"(0x0000648f, 0x00006132)","type":0}]</Data>
</Entry>
</Metadata>
<Attributes>
<Attribute>
<Identifier>(0x790d75b8, 0x3bb90c33)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0x8c1fc55b, 0x7b433dc2)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0x9f5c4075, 0x4a0d3666)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xf36a1567, 0xd13c53da)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xf6b2e3fa, 0x7bd43926)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xf8034a49, 0x8b3f37cc)</Identifier>
<Value></Value>
</Attribute>
</Attributes>
</OpenViBE-Scenario>
@@ -0,0 +1,801 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x0000008b, 0x00001edb)</Identifier>
<Name>Epoch average</Name>
<AlgorithmClassIdentifier>(0x21283d9f, 0xe76ff640)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input epochs</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Averaged epochs</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>32</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xb73cee83, 0xf7215d60)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>120</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>(0x00001776, 0x0000585d)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-336</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00004b05, 0x000011ad)</Identifier>
<Name>8-15 Hz</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>High cut frequency (Hz)</Name>
<DefaultValue>40</DefaultValue>
<Value>15</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>-176</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x00004e05, 0x0000586f)</Identifier>
<Name>Continuous Bitmap</Name>
<AlgorithmClassIdentifier>(0x9e1cd345, 0x86569e7e)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
<Input>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Markers</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x8f02e3f6, 0xffb00f4b)</TypeIdentifier>
<Name>Temporal Coherence</Name>
<DefaultValue>Time Locked</DefaultValue>
<Value>Time Locked</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Time Scale</Name>
<DefaultValue>20</DefaultValue>
<Value>20</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier>
<Name>Matrix Count</Name>
<DefaultValue>50</DefaultValue>
<Value>50</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.025</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>${AdvancedViz_DefaultColorGradient}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xafb1edd5, 0x68e1da05)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>150</Value>
</Attribute>
<Attribute>
<Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>7</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>2</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x000055e0, 0x00003156)</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>-32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</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>105</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x000061f6, 0x00002e0c)</Identifier>
<Name>x&#178;</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>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>51</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>74</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>(0x00007f9e, 0x00001eaa)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-256</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>
</Boxes>
<Links>
<Link>
<Identifier>(0x00000c8f, 0x00003006)</Identifier>
<Source>
<BoxIdentifier>(0x000061f6, 0x00002e0c)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000055e0, 0x00003156)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-64</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-49</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00001971, 0x0000660f)</Identifier>
<Source>
<BoxIdentifier>(0x00007f9e, 0x00001eaa)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00004b05, 0x000011ad)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-237</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>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00002e24, 0x00000cb9)</Identifier>
<Source>
<BoxIdentifier>(0x000055e0, 0x00003156)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000008b, 0x00001edb)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-13</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>8</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00003dba, 0x000005a9)</Identifier>
<Source>
<BoxIdentifier>(0x00004b05, 0x000011ad)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000061f6, 0x00002e0c)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-151</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-126</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00004841, 0x000069b9)</Identifier>
<Source>
<BoxIdentifier>(0x00001776, 0x0000585d)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00007f9e, 0x00001eaa)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-311</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-273</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00006e4b, 0x00005afb)</Identifier>
<Source>
<BoxIdentifier>(0x0000008b, 0x00001edb)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00004e05, 0x0000586f)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>57</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>104</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>120</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x00000ee7, 0x0000520b)</Identifier>
<Text>&lt;b&gt;Band Power&lt;/b&gt;
Average of the squared signal
on blocks of 32 samples</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-80</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00003ad7, 0x000056c4)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-256</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00004e62, 0x0000498c)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;Continuous Bitmap&lt;/i&gt;
Displays the alpha power of every channel
in form of a color map.</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00005de9, 0x00005fa6)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter in the alpha band</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-176</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000067c5, 0x00002f33)</Identifier>
<Text>&lt;b&gt;Epoch Average&lt;/b&gt;
Moving average over the last 32 epochs</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>32</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00006d4e, 0x00002280)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-336</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0x00004e05, 0x0000586f)","childCount":0,"identifier":"(0x000047f2, 0x00003fd2)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00007ca3, 0x000020f5)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00005798, 0x00000046)","index":0,"name":"Default tab","parentIdentifier":"(0x00007ca3, 0x000020f5)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00002baf, 0x000018c9)","index":0,"name":"Empty","parentIdentifier":"(0x00005798, 0x00000046)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
@@ -0,0 +1,811 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x000019eb, 0x0000540e)</Identifier>
<Name>Continuous Multi Oscilloscope</Name>
<AlgorithmClassIdentifier>(0xa927fb20, 0xc4089f99)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
<Input>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Markers</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x8f02e3f6, 0xffb00f4b)</TypeIdentifier>
<Name>Temporal Coherence</Name>
<DefaultValue>Time Locked</DefaultValue>
<Value>Time Locked</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Time Scale</Name>
<DefaultValue>20</DefaultValue>
<Value>20</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier>
<Name>Matrix Count</Name>
<DefaultValue>50</DefaultValue>
<Value>50</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Positive Data Only ?</Name>
<DefaultValue>false</DefaultValue>
<Value>true</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.015</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Tranlucency</Name>
<DefaultValue>1</DefaultValue>
<Value>1</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>${AdvancedViz_DefaultColorGradient}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x6640d485, 0xe92d22ae)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>230</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>9</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>2</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x0000384d, 0x00005e1b)</Identifier>
<Name>Epoch average</Name>
<AlgorithmClassIdentifier>(0x21283d9f, 0xe76ff640)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input epochs</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Averaged epochs</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>32</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xb73cee83, 0xf7215d60)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>120</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>(0x00003c36, 0x000065b1)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-336</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x0000481d, 0x00000085)</Identifier>
<Name>x&#178;</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>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>51</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>74</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>(0x00005985, 0x00002d6f)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-256</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>(0x000062e6, 0x00003091)</Identifier>
<Name>8-15 Hz</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>High cut frequency (Hz)</Name>
<DefaultValue>40</DefaultValue>
<Value>15</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>-176</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x00006815, 0x0000246a)</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>-32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</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>105</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
</Boxes>
<Links>
<Link>
<Identifier>(0x000003d3, 0x00007a86)</Identifier>
<Source>
<BoxIdentifier>(0x00005985, 0x00002d6f)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000062e6, 0x00003091)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-237</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>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x0000056e, 0x00004925)</Identifier>
<Source>
<BoxIdentifier>(0x00003c36, 0x000065b1)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00005985, 0x00002d6f)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-311</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-273</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000036c6, 0x000016d5)</Identifier>
<Source>
<BoxIdentifier>(0x0000481d, 0x00000085)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00006815, 0x0000246a)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-64</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-49</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000039a2, 0x00000c64)</Identifier>
<Source>
<BoxIdentifier>(0x0000384d, 0x00005e1b)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000019eb, 0x0000540e)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>57</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>104</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>120</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00004b36, 0x0000766f)</Identifier>
<Source>
<BoxIdentifier>(0x00006815, 0x0000246a)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000384d, 0x00005e1b)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-13</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>8</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00004e52, 0x00003933)</Identifier>
<Source>
<BoxIdentifier>(0x000062e6, 0x00003091)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000481d, 0x00000085)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-151</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-126</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x0000071a, 0x0000552e)</Identifier>
<Text>&lt;b&gt;Epoch Average&lt;/b&gt;
Moving average over the last 32 epochs</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>32</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000010ed, 0x00001272)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter in the alpha band</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-176</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x0000162b, 0x000000ce)</Identifier>
<Text>&lt;b&gt;Band Power&lt;/b&gt;
Average of the squared signal
on blocks of 32 samples</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-80</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00002283, 0x00005062)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-256</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00003b8e, 0x0000136b)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-336</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00003dac, 0x0000671b)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;Continuous Multi-Oscilloscope&lt;/i&gt;
Displays the alpha power of all channels
on the same vertical axis.</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0x000019eb, 0x0000540e)","childCount":0,"identifier":"(0x0000096a, 0x00002e60)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00004373, 0x000057ed)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x000040a8, 0x00003e02)","index":0,"name":"Default tab","parentIdentifier":"(0x00004373, 0x000057ed)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00004251, 0x00003581)","index":0,"name":"Empty","parentIdentifier":"(0x000040a8, 0x00003e02)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
@@ -0,0 +1,502 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x000010e4, 0x00001957)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-288</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>(0x000016bd, 0x00007c5a)</Identifier>
<Name>Continuous Oscilloscope</Name>
<AlgorithmClassIdentifier>(0x0842bcd1, 0xd53c1c89)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
<Input>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Markers</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x8f02e3f6, 0xffb00f4b)</TypeIdentifier>
<Name>Temporal Coherence</Name>
<DefaultValue>Time Locked</DefaultValue>
<Value>Time Locked</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Time Scale</Name>
<DefaultValue>20</DefaultValue>
<Value>20</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier>
<Name>Matrix Count</Name>
<DefaultValue>50</DefaultValue>
<Value>50</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Positive Data Only ?</Name>
<DefaultValue>false</DefaultValue>
<Value>false</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.025</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Tranlucency</Name>
<DefaultValue>1</DefaultValue>
<Value>1</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x7f45a2a9, 0x7db12219)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColor}</DefaultValue>
<Value>${AdvancedViz_DefaultColor}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-112</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x35390ab5, 0x7b926078)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>189</Value>
</Attribute>
<Attribute>
<Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>9</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>2</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00004cdd, 0x00003e62)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-368</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00007db6, 0x00005d31)</Identifier>
<Name>8-15 Hz</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>High cut frequency (Hz)</Name>
<DefaultValue>40</DefaultValue>
<Value>15</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>-208</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x0000191f, 0x0000237f)</Identifier>
<Source>
<BoxIdentifier>(0x00007db6, 0x00005d31)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000016bd, 0x00007c5a)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-183</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-136</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>120</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000029c9, 0x000044cd)</Identifier>
<Source>
<BoxIdentifier>(0x000010e4, 0x00001957)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00007db6, 0x00005d31)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-269</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-232</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000072f2, 0x00003e00)</Identifier>
<Source>
<BoxIdentifier>(0x00004cdd, 0x00003e62)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000010e4, 0x00001957)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-343</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-305</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x00002d7b, 0x00001d6f)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;Continuous Oscilloscope&lt;/i&gt;
Displays the filtered signal</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-112</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00003d3d, 0x0000588d)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-368</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000041bc, 0x00001e30)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter in the alpha band</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-208</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00007dc4, 0x00001e68)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-288</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00002524, 0x00001c11)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x000016bd, 0x00007c5a)","childCount":0,"identifier":"(0x00003f6b, 0x0000282f)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x0000761e, 0x00005ead)","index":0,"name":"Default tab","parentIdentifier":"(0x00002524, 0x00001c11)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000674b, 0x00005341)","index":0,"name":"Empty","parentIdentifier":"(0x0000761e, 0x00005ead)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
@@ -0,0 +1,815 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Boxes>
<Box>
<Identifier>(0x000023d0, 0x000045f3)</Identifier>
<Name>Instant Bitmap</Name>
<AlgorithmClassIdentifier>(0xf8627658, 0x45247823)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>0.025</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>${AdvancedViz_DefaultColorGradient}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>64</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xa291db4a, 0x5f4fcbfc)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>119</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>4</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00002ec1, 0x00007133)</Identifier>
<Name>Generic stream reader</Name>
<AlgorithmClassIdentifier>(0x6468099f, 0x0370095a)</AlgorithmClassIdentifier>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Output stream 1</Name>
</Output>
<Output>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Output stream 2</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>-400</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xf37b8e7a, 0x1bc33e4e)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>177</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x000040f2, 0x00000e65)</Identifier>
<Name>Epoch average</Name>
<AlgorithmClassIdentifier>(0x21283d9f, 0xe76ff640)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input epochs</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Averaged epochs</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>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-112</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</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>(0xb73cee83, 0xf7215d60)</Value>
</Attribute>
<Attribute>
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>120</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>(0x00005471, 0x00000fb0)</Identifier>
<Name>Spectral Analysis</Name>
<AlgorithmClassIdentifier>(0x84218ff8, 0xa87e7995)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input signal</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier>
<Name>Amplitude</Name>
</Output>
<Output>
<TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier>
<Name>Phase</Name>
</Output>
<Output>
<TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier>
<Name>Real Part</Name>
</Output>
<Output>
<TypeIdentifier>(0x1f261c0a, 0x593bf6bd)</TypeIdentifier>
<Name>Imaginary Part</Name>
</Output>
</Outputs>
<Settings>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Amplitude</Name>
<DefaultValue>true</DefaultValue>
<Value>true</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Phase</Name>
<DefaultValue>false</DefaultValue>
<Value>false</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Real Part</Name>
<DefaultValue>false</DefaultValue>
<Value>false</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
<Name>Imaginary Part</Name>
<DefaultValue>false</DefaultValue>
<Value>false</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-32</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x4e5c55a0, 0xe69eb7db)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>136</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>4</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
<Box>
<Identifier>(0x00006548, 0x00002f42)</Identifier>
<Name>2-48 Hz </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>48</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>-240</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x27a4ceec, 0x876d6384)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>128</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>(0x00006dd6, 0x00005f47)</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</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.0625</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-176</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>38</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xc5ff41e9, 0xccc59a01)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>169</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>(0x0000759d, 0x00004641)</Identifier>
<Name>Reference Channel</Name>
<AlgorithmClassIdentifier>(0x444721ad, 0x78342cf5)</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>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Channel</Name>
<DefaultValue>Ref_Nose</DefaultValue>
<Value>Nz</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<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>-320</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>25</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x7e39891d, 0x32cf5be7)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</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>
</Boxes>
<Links>
<Link>
<Identifier>(0x00001108, 0x000045a4)</Identifier>
<Source>
<BoxIdentifier>(0x00006dd6, 0x00005f47)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000040f2, 0x00000e65)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-151</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-136</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00001bf0, 0x00007640)</Identifier>
<Source>
<BoxIdentifier>(0x00005471, 0x00000fb0)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x000023d0, 0x000045f3)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-13</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>105</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>40</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00004dad, 0x00000152)</Identifier>
<Source>
<BoxIdentifier>(0x00006548, 0x00002f42)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00006dd6, 0x00005f47)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-215</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>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00005a92, 0x000038ac)</Identifier>
<Source>
<BoxIdentifier>(0x0000759d, 0x00004641)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00006548, 0x00002f42)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-301</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-264</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00007a4f, 0x000044c5)</Identifier>
<Source>
<BoxIdentifier>(0x000040f2, 0x00000e65)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x00005471, 0x00000fb0)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-87</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>128</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-49</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00007b9f, 0x00000c6e)</Identifier>
<Source>
<BoxIdentifier>(0x00002ec1, 0x00007133)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0000759d, 0x00004641)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-375</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>120</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-337</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>128</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
<Comment>
<Identifier>(0x0000013e, 0x00000dfd)</Identifier>
<Text>&lt;b&gt;File Reader&lt;/b&gt;
10 (+1 ref) channels, 512 Hz, 32 samples per block
Hand Motor Imagery session</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-400</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00000533, 0x00001c64)</Identifier>
<Text>&lt;b&gt;Spectral Analysis&lt;/b&gt;
Apply a FFT to the input signal
We only take the amplitude output</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-32</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x000020c3, 0x00003485)</Identifier>
<Text>&lt;b&gt;Temporal Filter&lt;/b&gt;
Filter below 50Hz</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-240</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00003084, 0x000050e7)</Identifier>
<Text>&lt;b&gt;Reference Channel&lt;/b&gt;
The reference channel is 'Nz'</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-320</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x0000475f, 0x00003dc6)</Identifier>
<Text>&lt;b&gt;Epoching&lt;/b&gt;
We slice the signal into 1s epochs
every 1/16th second.
We then average the last 32 epochs </Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>-144</Value>
</Attribute>
</Attributes>
</Comment>
<Comment>
<Identifier>(0x00006b17, 0x000017c6)</Identifier>
<Text>&lt;b&gt;Advanced Visualization&lt;/b&gt;:
&lt;i&gt;Instant Bitmap&lt;/i&gt;
Displays the spectrum in form of
2D color map</Text>
<Attributes>
<Attribute>
<Identifier>(0x473d9a43, 0x97fc0a97)</Identifier>
<Value>416</Value>
</Attribute>
<Attribute>
<Identifier>(0x7234b86b, 0x2b8651a5)</Identifier>
<Value>80</Value>
</Attribute>
</Attributes>
</Comment>
</Comments>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0x000023d0, 0x000045f3)","childCount":0,"identifier":"(0x00001e58, 0x0000715e)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x00003185, 0x00000196)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00004bd5, 0x00001388)","index":0,"name":"Default tab","parentIdentifier":"(0x00003185, 0x00000196)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x0000021e, 0x00004481)","index":0,"name":"Empty","parentIdentifier":"(0x00004bd5, 0x00001388)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
@@ -0,0 +1,488 @@
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenVIBE</Creator>
<CreatorVersion>0.0.0</CreatorVersion>
<Settings></Settings>
<Inputs></Inputs>
<Outputs></Outputs>
<Boxes>
<Box>
<Identifier>(0x0b4d1813, 0x72678d31)</Identifier>
<Name>cos(2&#960;t + 100 x 2&#960;(1 - cos(k)))</Name>
<AlgorithmClassIdentifier>(0x00e26fa1, 0x1dbab1b2)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input - A</Name>
</Input>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input - B</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>cos(2*M_PI*1*a + 2*M_PI*100*(1 - cos(b)))</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>176</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>320</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>(0x213b87d1, 0x4b51bb63)</Identifier>
<Name>Time signal (512Hz)</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>8</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>16</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>320</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>(0x21be968a, 0x678d4f55)</Identifier>
<Name>Time based epoching (10s)</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</Name>
</Output>
</Outputs>
<Settings>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Epoch duration (in sec)</Name>
<DefaultValue>1</DefaultValue>
<Value>10</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>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>240</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>320</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xc5ff41e9, 0xccc59a01)</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>(0x3a56e295, 0x1e35c220)</Identifier>
<Name>k = cos(2&#960;t x 0.05)</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>cos(2*M_PI*0.05*x)</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>96</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>(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>(0x6d31f980, 0x6bf37a82)</Identifier>
<Name>Instant Bitmap (3D Stream)</Name>
<AlgorithmClassIdentifier>(0xc3cc8b43, 0xee985c1d)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5a90816b, 0xff2aff72)</TypeIdentifier>
<Name>Matrix</Name>
</Input>
<Input>
<TypeIdentifier>(0x6f752dd0, 0x082a321e)</TypeIdentifier>
<Name>Markers</Name>
</Input>
</Inputs>
<Settings>
<Setting>
<TypeIdentifier>(0x330306dd, 0x74a95f98)</TypeIdentifier>
<Name>Channel Localisation</Name>
<DefaultValue>${AdvancedViz_ChannelLocalisation}</DefaultValue>
<Value>${AdvancedViz_ChannelLocalisation}</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Gain</Name>
<DefaultValue>1</DefaultValue>
<Value>1</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x79a9edeb, 0x245d83fc)</TypeIdentifier>
<Name>Caption</Name>
<DefaultValue></DefaultValue>
<Value></Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x3d3c7c7f, 0xef0e7129)</TypeIdentifier>
<Name>Color</Name>
<DefaultValue>${AdvancedViz_DefaultColorGradient}</DefaultValue>
<Value>${AdvancedViz_DefaultColorGradient}</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>400</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>320</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xc33e727b, 0xc5d0a383)</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>(0x6e32749f, 0x3286ab3f)</Identifier>
<Name>Continuous Wavelet Analysis</Name>
<AlgorithmClassIdentifier>(0x0a43133d, 0x6eaf25a7)</AlgorithmClassIdentifier>
<Inputs>
<Input>
<TypeIdentifier>(0x5ba36127, 0x195feae1)</TypeIdentifier>
<Name>Input signal</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x5a90816b, 0xff2aff72)</TypeIdentifier>
<Name>Amplitude</Name>
</Output>
<Output>
<TypeIdentifier>(0x5a90816b, 0xff2aff72)</TypeIdentifier>
<Name>Phase</Name>
</Output>
<Output>
<TypeIdentifier>(0x5a90816b, 0xff2aff72)</TypeIdentifier>
<Name>Real Part</Name>
</Output>
<Output>
<TypeIdentifier>(0x5a90816b, 0xff2aff72)</TypeIdentifier>
<Name>Imaginary Part</Name>
</Output>
</Outputs>
<Settings>
<Setting>
<TypeIdentifier>(0x09177469, 0x52404583)</TypeIdentifier>
<Name>Wavelet type</Name>
<DefaultValue>Morlet wavelet</DefaultValue>
<Value>Morlet wavelet</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Wavelet parameter</Name>
<DefaultValue>4</DefaultValue>
<Value>4</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x007deef9, 0x2f3e95c6)</TypeIdentifier>
<Name>Number of frequencies</Name>
<DefaultValue>60</DefaultValue>
<Value>32</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Highest frequency</Name>
<DefaultValue>35</DefaultValue>
<Value>128</Value>
<Modifiability>false</Modifiability>
</Setting>
<Setting>
<TypeIdentifier>(0x512a166f, 0x5c3ef83f)</TypeIdentifier>
<Name>Frequency spacing</Name>
<DefaultValue>12.5</DefaultValue>
<Value>2</Value>
<Modifiability>false</Modifiability>
</Setting>
</Settings>
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>320</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>320</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0xf21c1fda, 0xc7de65fc)</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>4</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>5</Value>
</Attribute>
<Attribute>
<Identifier>(0xcfad85b0, 0x7c6d841c)</Identifier>
<Value>1</Value>
</Attribute>
</Attributes>
</Box>
</Boxes>
<Links>
<Link>
<Identifier>(0x000044b5, 0x00002683)</Identifier>
<Source>
<BoxIdentifier>(0x0b4d1813, 0x72678d31)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x21be968a, 0x678d4f55)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
</Link>
<Link>
<Identifier>(0x0ac99808, 0x391c3ac1)</Identifier>
<Source>
<BoxIdentifier>(0x6e32749f, 0x3286ab3f)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x6d31f980, 0x6bf37a82)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
</Link>
<Link>
<Identifier>(0x45ab1ddc, 0x65357a40)</Identifier>
<Source>
<BoxIdentifier>(0x213b87d1, 0x4b51bb63)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x3a56e295, 0x1e35c220)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
</Link>
<Link>
<Identifier>(0x6292f484, 0x1df338ac)</Identifier>
<Source>
<BoxIdentifier>(0x3a56e295, 0x1e35c220)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0b4d1813, 0x72678d31)</BoxIdentifier>
<BoxInputIndex>1</BoxInputIndex>
</Target>
</Link>
<Link>
<Identifier>(0x67b4dbfc, 0x12d6b296)</Identifier>
<Source>
<BoxIdentifier>(0x213b87d1, 0x4b51bb63)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x0b4d1813, 0x72678d31)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
</Link>
<Link>
<Identifier>(0x6fef59fa, 0x4afc6580)</Identifier>
<Source>
<BoxIdentifier>(0x21be968a, 0x678d4f55)</BoxIdentifier>
<BoxOutputIndex>0</BoxOutputIndex>
</Source>
<Target>
<BoxIdentifier>(0x6e32749f, 0x3286ab3f)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
</Link>
</Links>
<Metadata>
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":320,"identifier":"(0x000068b7, 0x0000338b)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":480},{"boxIdentifier":"(0x6d31f980, 0x6bf37a82)","childCount":0,"identifier":"(0x6d31f980, 0x6bf37a82)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00001b63, 0x000049e2)","index":0,"name":"Default tab","parentIdentifier":"(0x000068b7, 0x0000338b)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x00001a25, 0x00004cd1)","index":0,"name":"Empty","parentIdentifier":"(0x00001b63, 0x000049e2)","type":0}]</Data>
</Entry>
</Metadata>
</OpenViBE-Scenario>
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

@@ -0,0 +1,96 @@
/**
* \page BoxAlgorithm_2DTopography 2D Topography
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Description|
The <em>2D Topography</em> box combines EEG measures with topological information.
The input, being signal, spectrum, or any other metric, is mapped to a 2 dimensional plane model of the scalp surface, rendered in a 3D context.
This box is provided with a preconfigured channel localisation file that contains the cartesian coordinates of every electrode positions of the extended 10-20 system.
The mapping is done according to these coordinates using spherical spline interpolation.
A color gradient is used to display the information, and can be customized at will to easily enhance or smooth the contrasts.
Several presets are available, to match the gradients you may be already familiar with when using existing softwares such as Matlab or Elan.
The color gradient is mapped to the current data scale, centered around 0.
The <em>2D Topography</em> box shares common concepts and settings with the other boxes in the <b>Mensia Advanced Visualization Toolset</b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Inputs|
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Inputs|
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Input1|
The box input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Settings|
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Settings|
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Setting1|
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Setting2|
Gain (floating-point scalar factor) to apply to the input signal before display.
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Setting2|
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Setting3|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Setting3|
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Setting4|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Setting4|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_2DTopography_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
For the 2D topography, please note that:
- <b> Select Channels </b> : the selected channel are symbolized with a small white cube, which turns grey when unselected.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
* |OVP_DocEnd_BoxAlgorithm_2DTopography_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_2DTopography_Examples|
In the following example, we compute the band power of the signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{2DTopography.mxs}.
\image html 2DTopography_Example.png "Example of scenario using the 2D topography"
\image latex 2DTopography_Example.png "Example of scenario using the 2D topography" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_2DTopography_Examples|
*/
@@ -0,0 +1,93 @@
/**
* \page BoxAlgorithm_3DCubes 3D Cubes
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Description|
The <em>3D Cubes</em> box displays the data in a topographic view, where each channel (correctly identified and positionned thanks to a channel localisation file) is associated with a cube.
All the cubes are positionned in a 3D space according to the corresponding positions of the electrodes on the scalp.
The input data is displayed through 2 modalities:
- the <b> cubes color </b>
- the <b> cubes size </b>
The cube size varies according to the same - absolute - range as the color, i.e. high negative or positive values will be
displayed as big cube while values close to zero with be displayed as small cubes.
The <em>3D Cubes</em> box shares common concepts and settings with the other boxes in the <b>Mensia Advanced Visualization Toolset</b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Inputs|
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Inputs|
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Input1|
The box input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Settings|
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Settings|
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Setting1|
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Setting2|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Setting2|
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Setting3|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Setting3|
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Setting4|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Setting4|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DCubes_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
* |OVP_DocEnd_BoxAlgorithm_3DCubes_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DCubes_Examples|
In the following example, we compute the band power of the signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{3DCubes.mxs}.
\image html 3DCubes_Example.png "Example of scenario using the 3D cubes"
\image latex 3DCubes_Example.png "Example of scenario using the 3D cubes" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_3DCubes_Examples|
*/
@@ -0,0 +1,86 @@
/**
* \page BoxAlgorithm_3DTomographicVisualization 3D Tomographic Visualization
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Description|
The <em>3D Tomographic Visualization </em> is designed to display the output of a signal filtered using the a tomographic reconstruction algorithm such as \ref Doc_BoxAlgorithm_XLORETA.
\ref Doc_BoxAlgorithm_XLORETA computes the spatial filter that transforms an input signal with \f$ C \f$ channels/sensors to \f$ V =\f$ 2394 sources.
These sources form a subdivision of the brain in 3 dimensions, each source being encoded as a small cube (7mm resolution) called <em>voxel</em>.
The <em>3D Tomographic Visualization </em> box shares common concepts and settings with the other boxes in the <b>Mensia Advanced Visualization Toolset</b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Inputs|
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Inputs|
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Input1|
This box expects a source current density power stream coming from \ref Doc_BoxAlgorithm_XLORETA, ie matrices of \f$ V =\f$ 2394 channels, one value per voxel of the reconstruction.
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Settings|
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Settings|
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Setting1|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Setting1|
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Setting2|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Setting2|
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Setting3|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Setting3|
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Setting4|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Setting4|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTomographicVisualization_Examples|
In the following example, we compute the alpha band power of the signal, and deduce the corresponding sources activity using
an inverse model of the headset (eLORETA), that outputs the source components along x, y and z axis and the source current density power.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{3DTomographicVisualization.mxs}.
\image html 3DTomographicVisualization_Example.png "Example of scenario using the 3D Tomographic Visualization"
\image latex 3DTomographicVisualization_Example.png "Example of scenario using the 3D Tomographic Visualization" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_3DTomographicVisualization_Examples|
*/
@@ -0,0 +1,95 @@
/**
* \page BoxAlgorithm_3DTopography 3D Topography
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Description|
The <em>3D Topography</em> box combines EEG measures with topological information.
The input, being signal, spectrum, or any other metric, is mapped to a 3D model of the scalp.
This box is provided with a preconfigured channel localisation file that contains the cartesian coordinates of every electrode positions of the extended 10-20 system.
The mapping is done according to these coordinates using spherical spline interpolation.
A color gradient is used to display the information, and can be customized at will to easily enhance or smooth the contrasts.
Several presets are available, to match the gradients you may be already familiar with when using existing softwares such as Matlab or Elan.
The color gradient is mapped to the current data scale, centered around 0.
The <em>3D Topography</em> box shares common concepts and settings with the other boxes in the <b>Mensia Advanced Visualization Toolset</b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Inputs|
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Inputs|
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Input1|
The box input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Settings|
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Settings|
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Setting1|
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Setting2|
Gain (floating-point scalar factor) to apply to the input signal before display.
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Setting2|
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Setting3|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Setting3|
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Setting4|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Setting4|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTopography_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
For the 3D topography, please note that:
- <b> Select Channels </b> : the selected channel are symbolized with a small white cube, which turns grey when unselected.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
* |OVP_DocEnd_BoxAlgorithm_3DTopography_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_3DTopography_Examples|
In the following example, we compute the band power of the signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{3DTopography.mxs}.
\image html 3DTopography_Example.png "Example of scenario using the 3D topography"
\image latex 3DTopography_Example.png "Example of scenario using the 3D topography" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_3DTopography_Examples|
*/
@@ -0,0 +1,110 @@
/**
* \page BoxAlgorithm_ContinuousBars Continuous Bars
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Description|
The Continuous Bars displays input data in form of <b> vertical level bars </b>, one bar per value, one bar series for each channel.
The display is done <b>continuously</b> , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
For lisibility (and esthetical) purpose, the bars are colored in a custom gradient (from left to right).
The <em> Continuous Bars </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Inputs|
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Inputs|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Input1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Input2|
The second input expect stimulations. They will be displayed as <b> colored vertical lines </b>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Settings|
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Settings|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting2|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting2|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting3|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting3|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting4|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting4|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting5|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting5|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting6|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting6|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting7|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting7|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting8|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting8|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Setting9|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Setting9|
_________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBars_Examples|
In the following example, we compute the band power of the bipolar channel C3-C4 in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousBars.mxs}.
\image html ContinuousBars_Example.png "Example of scenario using the Continuous Bars"
\image latex ContinuousBars_Example.png "Example of scenario using the Continuous Bars" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_ContinuousBars_Examples|
*/
@@ -0,0 +1,109 @@
/**
* \page BoxAlgorithm_ContinuousBitmap Continuous Bitmap
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Description|
The <em>Continuous Bitmap</em> displays input data in form of a 2D map of colored blocks (or <em>bitmap</em>).
The display is done <b>continuously</b> , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
The <em> Continuous Bitmap </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Inputs|
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Inputs|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Input1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Input2|
The second input expect stimulations. They will be displayed as <b> red vertical lines </b>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Settings|
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Settings|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting2|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting2|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting3|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting3|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting4|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting4|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting5|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting5|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting6|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting6|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting7|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting7|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting8|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting8|
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Setting9|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Setting9|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousBitmap_Examples|
In the following example, we compute the band power of the input signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousBitmap.mxs}.
\image html ContinuousBitmap_Example.png "Example of scenario using the Continuous Bitmap"
\image latex ContinuousBitmap_Example.png "Example of scenario using the Continuous Bitmap" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_ContinuousBitmap_Examples|
*/
@@ -0,0 +1,110 @@
/**
* \page BoxAlgorithm_ContinuousMultiOscilloscope Continuous Multi Oscilloscope
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Description|
The <em> Continuous Multi-Oscilloscope</em> displays temporal numerical data in the form of curves, on the same vertical axis.
Each channel is given a color according to a color gradient, rendered additively.
The display is done <b>continuously</b> , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
The <em> Continuous Multi-Oscilloscope </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Inputs|
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Inputs|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Input1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Input2|
The second input expect stimulations. They will be displayed as <b> red vertical lines </b>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Settings|
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Settings|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting2|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting2|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting3|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting3|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting4|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting4|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting5|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting5|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting6|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting6|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting7|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting7|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting8|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting8|
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Setting9|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Setting9|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousMultiOscilloscope_Examples|
In the following example, we compute the band power of the input signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousMultiOscilloscope.mxs}.
\image html ContinuousMultiOscilloscope_Example.png "Example of scenario using the Continuous Multi-Oscilloscope"
\image latex ContinuousMultiOscilloscope_Example.png "Example of scenario using the Continuous Multi-Oscilloscope" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_ContinuousMultiOscilloscope_Examples|
*/
@@ -0,0 +1,110 @@
/**
* \page BoxAlgorithm_ContinuousOscilloscope Continuous Oscilloscope
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Description|
The <em>Continuous Oscilloscope</em> displays temporal numerical data in the form of curves, all the channels being distributed vertically, each one with its own horizontal axis.
Channel are given a color, overlaps are rendered additively.
The display is done <b>continuously</b> , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
The <em> Continuous Oscilloscope </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Inputs|
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Inputs|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Input1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Input2|
The second input expect stimulations. They will be displayed as <b> red vertical lines </b>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Settings|
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Settings|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting2|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting2|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting3|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting3|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting4|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting4|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting5|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting5|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting6|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting6|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting7|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting7|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting8|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting8|
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Setting9|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Setting9|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousOscilloscope_Examples|
In the following example, we filter the input signal in the 8-15 Hz frequency range and simply display it.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousOscilloscope.mxs}.
\image html ContinuousOscilloscope_Example.png "Example of scenario using the Continuous Oscilloscope"
\image latex ContinuousOscilloscope_Example.png "Example of scenario using the Continuous Oscilloscope" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_ContinuousOscilloscope_Examples|
*/
@@ -0,0 +1,103 @@
/**
* \page BoxAlgorithm_ContinuousXYZPlot Continuous XYZ Plot
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Description|
The <em>Continuous XYZ Plot</em> displays temporal numerical data in a 2D (<em>resp.</em> 3D) space, consecutive rows of the input matrix being grouped by 2 (<em>resp.</em> 3) to form the 2D (<em>resp.</em> 3D) trajectories.
The display is done <b>continuously</b>, meaning that trajectories are persitent along time. Moreover, colors change as a function of time (samples order).
The <em> Continuous XYZ Plot </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Inputs|
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Inputs|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Settings|
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Settings|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting1|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting1|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting2|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting2|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting3|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting3|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting4|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting4|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting5|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting5|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting6|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting6|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting7|
If this checkbox is ticked, the axis and the grid are displayed.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting7|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting8|
If this checkbox is ticked, trajectories are plotted in a 3D space, otherwise in a 2D space.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting8|
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Setting9|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Setting9|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Examples|
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Examples|
__________________________________________________________________
Miscellaneous description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ContinuousXYZPlot_Miscellaneous|
* |OVP_DocEnd_BoxAlgorithm_ContinuousXYZPlot_Miscellaneous|
*/
@@ -0,0 +1,95 @@
/**
* \page BoxAlgorithm_InstantBars Instant Bars
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Description|
The <em> Instant Bars </em> box displays input data in form of <b> vertical level bars </b>, one bar per value, one series of bar for each channel.
The display is done <b>instantly</b> , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the vertical space.
For lisibility (and esthetical) purpose, the bars are colored in a custom gradient (from left to right).
This box is especially suitable for displaying <b> spectrum </b>.
The <em> Instant Bars </em> box shares common concepts and settings with the other boxes of the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Inputs|
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Inputs|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Input1|
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Settings|
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Settings|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Setting1|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Setting2|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Setting2|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Setting3|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Setting3|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Setting4|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Setting4|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Setting5|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Setting5|
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Setting6|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Setting6|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBars_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_InstantBars_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBars_Examples|
In the following example, we compute the FFT of the input EEG signal and display it.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantBars.mxs}.
\image html InstantBars_Example.png "Example of scenario using the Instant Bars to display spectrum"
\image latex InstantBars_Example.png "Example of scenario using the Instant Bars to display spectrum" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_InstantBars_Examples|
*/
@@ -0,0 +1,85 @@
/**
* \page BoxAlgorithm_InstantBitmap Instant Bitmap
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Description|
The <em> Instant Bitmap </em> box displays input data in form of a 2D map of colored blocks (or <em>bitmap</em>).
The display is done <b>instantly</b> , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the horizontal space.
The bitmap colors are chosen according to a custom gradient.
The <em> Instant Bitmap </em> box shares common concepts and settings with the other boxes of the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Inputs|
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Inputs|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Input1|
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Settings|
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Settings|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Setting1|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Setting2|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Setting2|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Setting3|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Setting3|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Setting4|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Setting4|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap_Examples|
In the following example, we compute the FFT of the input EEG signal and display it.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantBitmap.mxs}.
\image html InstantBitmap_Example.png "Example of scenario using the Instant Bitmap to display spectrum"
\image latex InstantBitmap_Example.png "Example of scenario using the Instant Bitmap to display spectrum" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap_Examples|
*/
@@ -0,0 +1,83 @@
/**
* \page BoxAlgorithm_InstantBitmap3DStream Instant Bitmap (3D Stream)
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Description|
The <em>Instant Bitmap (3D Stream)</em> box displays input data in form of 2D maps of colored blocks (or <em>bitmap</em>).
Each time a matrix is received, its contents are displayed to fill the visualization. Depending on the input type, the three dimensions of the matrix will be ordonned differently.
The bitmap colors are chosen according to a custom gradient.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Inputs|
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Inputs|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Input1|
The input matrices to be displayed. Currently this box supports only the Time-Frequency stream.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Input1|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Input2|
The second input expects stimulations. They will be displayed as <b>colored vertical lines</b>.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Settings|
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Settings|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Setting1|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Setting2|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Setting2|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Setting3|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Setting3|
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Setting4|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to <tt>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Setting4|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantBitmap3DStream_Examples|
In the following example, we compute the Time-Frequency Analysis for a generated signal.
You can find a commented scenario in the provided sample set, the scenario file name is InstantBitmap3DStream.mxs.
\image html InstantBitmap3DStream_Example.png "Example of scenario using the Instant Bitmap (3D Stream)"
\image latex InstantBitmap3DStream_Example.png "Example of scenario using the Instant Bitmap (3D Stream)" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_InstantBitmap3DStream_Examples|
*/
@@ -0,0 +1,94 @@
/**
* \page BoxAlgorithm_InstantMultiOscilloscope Instant Multi Oscilloscope
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Description|
The <em>Instant Multi-Oscilloscope</em> displays temporal numerical data in the form of curves, on the same vertical axis.
Each channel is given a color according to a color gradient, rendered additively.
The display is done <b>instantly</b> , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the horizontal space.
The <em> Instant Multi-Oscilloscope </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Inputs|
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Inputs|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Input1|
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Settings|
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Settings|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Setting1|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Setting2|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Setting2|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Setting3|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Setting3|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Setting4|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Setting4|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Setting5|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Setting5|
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Setting6|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Setting6|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantMultiOscilloscope_Examples|
In the following example, we compute the FFT of the average right hand trial in a Motor Imagery session,
and visualize the spectrum around left and right motor cortices through 2 Laplacian filters around C3 and C4.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantMultiOscilloscope.mxs}.
\image html InstantMultiOscilloscope_Example.png "Example of scenario using the Instant Multi-Oscilloscope"
\image latex InstantMultiOscilloscope_Example.png "Example of scenario using the Instant Multi-Oscilloscope" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_InstantMultiOscilloscope_Examples|
*/
@@ -0,0 +1,94 @@
/**
* \page BoxAlgorithm_InstantOscilloscope Instant Oscilloscope
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Description|
The <em>Instant Oscilloscope</em> displays temporal numerical data in the form of curves.
The display is done <b>instantly</b> , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the horizontal space.
The <em> Instant Oscilloscope </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Inputs|
This box supports input modification: you can add or remove inputs at will.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Inputs|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Input1|
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Settings|
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Settings|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Setting1|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Setting2|
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Setting2|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Setting3|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Setting3|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Setting4|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Setting4|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Setting5|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Setting5|
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Setting6|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Setting6|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantOscilloscope_Examples|
In the following example, we compute the FFT of the average right hand trial in a Motor Imagery session,
and visualize the spectrum around left and right motor cortices through 2 Laplacian filters around C3 and C4.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantOscilloscope.mxs}.
\image html InstantOscilloscope_Example.png "Example of scenario using the Instant Oscilloscope"
\image latex InstantOscilloscope_Example.png "Example of scenario using the Instant Oscilloscope" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_InstantOscilloscope_Examples|
*/
@@ -0,0 +1,90 @@
/**
* \page BoxAlgorithm_InstantXYZPlot Instant XYZ Plot
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Description|
The <em>Instant XYZ Plot</em> displays temporal numerical data in a 2D (<em>resp.</em> 3D) space, consecutive rows of the input matrix being grouped by 2 (<em>resp.</em> 3) to form the 2D (<em>resp.</em> 3D) trajectories.
The display is done <b>instantly</b>, meaning that whenever a new data block arrives, it is displayed in the visualization windows, without previous trajectories. Moreover, colors change as a function of time (samples order).
The <em> Instant XYZ Plot </em> box shares common concepts and settings with the other boxes in the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Inputs|
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Inputs|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Input1|
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Input1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Settings|
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Settings|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Setting1|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Setting1|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Setting2|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Setting2|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Setting3|
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Setting3|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Setting4|
If this checkbox is ticked, the axis and the grid are displayed.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Setting4|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Setting5|
If this checkbox is ticked, trajectories are plotted in a 3D space, otherwise in a 2D space.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Setting5|
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Setting6|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Setting6|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Examples|
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Examples|
__________________________________________________________________
Miscellaneous description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_InstantXYZPlot_Miscellaneous|
* |OVP_DocEnd_BoxAlgorithm_InstantXYZPlot_Miscellaneous|
*/
@@ -0,0 +1,104 @@
/**
* \page BoxAlgorithm_StackedBitmapHorizontal Stacked Bitmap (Horizontal)
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Description|
The <em> Stacked Bitmap (Horizontal)</em> box displays input data in form of 2D maps of colored blocks (or <em>bitmap</em>).
All the bitmaps are stacked horizontally, starting from the left edge of the window.
Whenever a new data block arrives, it is added to the visualization windows. If the end of the matrix count scale is reached, it goes back to the origin.
The bitmap colors are chosen according to a custom gradient.
The <em> Stacked Bitmap (Horizontal) </em> box shares common concepts and settings with the other boxes of the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Inputs|
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Inputs|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Input1|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Input2|
The second input expect stimulations. They will be displayed as <b> colored vertical lines </b>.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Settings|
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Settings|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting1|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting2|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting2|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting3|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting3|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting4|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting4|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting5|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting5|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting6|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting6|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Setting7|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Setting7|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapHorizontal_Examples|
In the following example, we compute the FFT of every right-hand trial in a Motor Imagery session, filtered spatially around the two motor cortices.
All the spectra are stacked on top of each other.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{StackedBitmapHorz.mxs}.
\image html StackedBitmapHorz_Example.png "Example of scenario using the Stacked Bitmap (Horizontal)"
\image latex StackedBitmapHorz_Example.png "Example of scenario using the Stacked Bitmap (Horizontal)" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapHorizontal_Examples|
*/
@@ -0,0 +1,104 @@
/**
* \page BoxAlgorithm_StackedBitmapVertical Stacked Bitmap (Vertical)
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Description|
The <em> Stacked Bitmap (Vertical)</em> box displays input data in form of 2D maps of colored blocks (or <em>bitmap</em>).
All the bitmaps are stacked vertically, starting from the bottom edge of the window.
Whenever a new data block arrives, it is added to the visualization windows. If the end of the matrix count scale is reached, it goes back to the origin.
The bitmap colors are chosen according to a custom gradient.
The <em> Stacked Bitmap (Vertical) </em> box shares common concepts and settings with the other boxes of the <b> Mensia Advanced Visualization Toolset </b>.
Additional information are available in the dedicated documentation pages:
- \ref Doc_Mensia_AdvViz_Concepts
- \ref Doc_Mensia_AdvViz_Configuration
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Inputs|
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Inputs|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Input1|
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Input1|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Input2|
The second input expect stimulations. They will be displayed as <b> colored vertical lines </b>.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Input2|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Settings|
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Settings|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting1|
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token <tt>${AdvancedViz_ChannelLocalisation}</tt>.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting1|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting2|
Select <em> Time Locked </em> for a continuous data stream, and specify the <em>time scale</em> below.
Select <em>Independent </em> for a discontinuous data stream, and specify the <em>matrix count</em> below.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting2|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting3|
The time scale in seconds, before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting3|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting4|
The number of input matrices to receive before the displays goes back to the origin.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting4|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting5|
Gain (floating-point scalar factor) to apply to the input values before display.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting5|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting6|
Label to be displayed on top of the visualization window.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting6|
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Setting7|
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt>
- <tt>Icon</tt> or <tt>Icon_Discrete</tt>
- <tt>Elan</tt> or <tt>Elan_Discrete</tt>
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to </t>Matlab</tt> and <tt>Matlab_Discrete</tt>.
An example of topography rendering using these color gradients can be found \ref Doc_Mensia_AdvViz_Configuration "here".
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Setting7|
__________________________________________________________________
Online visualisation settings
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_OnlineVisualizationSettings|
At runtime, all the advanced visualization shared settings are exposed, as described in \ref Doc_Mensia_AdvViz_Configuration_RuntimeToolbar.
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_OnlineVisualizationSettings|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_StackedBitmapVertical_Examples|
In the following example, we compute the FFT of every right-hand trial in a Motor Imagery session, filtered spatially around the two motor cortices.
All the spectra are stacked on top of each other.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{StackedBitmapVert.mxs}.
\image html StackedBitmapVert_Example.png "Example of scenario using the Stacked Bitmap (Vertical)"
\image latex StackedBitmapVert_Example.png "Example of scenario using the Stacked Bitmap (Vertical)" width=\textwidth
* |OVP_DocEnd_BoxAlgorithm_StackedBitmapVertical_Examples|
*/
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

@@ -0,0 +1,21 @@
/**
\page Doc_Mensia_AdvViz Advanced Visualization Boxes
General information on the Advanced Visualization Toolset:
- \subpage Doc_Mensia_AdvViz_Generalities : generalities about the toolset.
- \subpage Doc_Mensia_AdvViz_Concepts : understanding the Toolset design and the different visualization paradigms.
- \subpage Doc_Mensia_AdvViz_Configuration : how to configure the Advanced Visualization boxes.
- \subpage Doc_Mensia_AdvViz_UseCases : concrete examples of use, from spectral analysis to ERP display.
\page Doc_Mensia_AdvViz_Generalities Generalities
To be able to use all the features in the Mensia Advanced Visualization Toolset, please verify that your setup meets the following recommendations.
\section OpenGL OpenGL dependency
The Toolset relies on the <a href="http://www.opengl.org/">OpenGL</a> library for every rendering operations, from signal display to 3D reconstruction.
You must ensure that your computer is equipped with an OpenGL-compatible graphic card or chipset.
This should be the case on any recent computer.
You should also ensure that your graphic card drivers are up-to-date.
Please refer to the manufacturer website for more information.
**/
@@ -0,0 +1,172 @@
/**
\page Doc_Mensia_AdvViz_Concepts Concepts
\section Doc_Mensia_AdvViz_Concepts_Intro Introduction
The <b>Mensia Advanced Visualization Toolset</b> is a collection of boxes dedicated to
the visualization of the result of electrophysiological signal analysis, and are especially suitable for the <b> real-time
analysis of EEG signals </b>, from raw signal display to 3D source reconstruction.
It addresses many different use-cases among users.
Neurophysiologists can observe accurately in real-time <b> spatial and
temporal patterns </b> in the brain activity (motor activity, cognitive processes). EEG signal
processing specialists can <b>evaluate and compare</b> instantly algorithms effects (source
separation, denoising techniques). BCI researchers can study how their ERP-based system may
be tuned to elicit and detect the best brain response.
\image html designer-box-list.png "Simple integration in the graphical user interface"
\image latex designer-box-list.png "Simple integration in the graphical user interface" width=\textwidth
\section Doc_Mensia_AdvViz_Concepts_VisualizationParadigms Visualization paradigms
This Toolset has been designed to be very versatile. The main design concept revolves around
the data presentation. You basically want to display matrices of numbers which may have temporal,
and/or spatial meanings. The most adapted data presentation may vary from one case to another,
according to the type of events or patterns on which you need to get a good contrast.
Before choosing the right visualization box, ask yourself:
- How do I want my data to be displayed ? curves ? levels ?
- What will be the best way to <b> enhance the contrast </b> between the information I want to extract and the rest of the data ?
- Is my data stream <b>continuous</b> in time ? or am I dealing with discontinuous epochs (e.g. ERPs) ?
To be adapted in most situation, the Mensia Advanced Visualization Toolset has been designed to cover
different visualization paradigms. Take a look at all the possibilities and choose what will best fit your needs.
- \ref Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Oscilloscope
- \ref Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bars
- \ref Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bitmap
- \ref Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Topo
- \ref Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Reco
You can also have a look at the \ref Doc_Mensia_AdvViz_UseCases "list of use-cases", showing how each box can be used on concrete, real-life examples.
\subsection Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Oscilloscope The Oscilloscope view
It is the most basic paradigm, used to display temporal numerical data in the form of <b> curves </b> (dots linked by lines).
The Oscilloscope views are all expecting <b>centered</b> values (i.e. distributed around 0).
Hence it is advised to use at least one temporal filter (e.g. band passing between 2 and 40 Hz using a \ref Doc_BoxAlgorithm_TemporalFilter box) before displaying an EEG signal.
Four boxes use this paradigm:
- <b> \ref Doc_BoxAlgorithm_ContinuousOscilloscope </b> box: displays continuous data from left to right on a defined horizontal scale (goes back to origin upon reaching the end of the scale),
channels are displayed vertically one after another, but spikes may overlap.
- <b> \ref Doc_BoxAlgorithm_InstantOscilloscope </b> box: displays each block of data received as it comes, filling all the horizontal space available.
- <b> \ref Doc_BoxAlgorithm_ContinuousMultiOscilloscope </b> box: same as the Continuous Oscilloscope, but every input channels are displayed along the same horizontal axis with a different color, additively.
- <b> \ref Doc_BoxAlgorithm_InstantMultiOscilloscope </b> box: same as the Instant Oscilloscope, but every input channels are displayed along the same horizontal axis with a different color, additively.
<b>Example</b>: raw EEG signal display.
\image html ContinuousOscilloscope_Display.png "Continuous Oscilloscope displaying 2 EEG channels"
\image latex ContinuousOscilloscope_Display.png "Continuous Oscilloscope displaying 2 EEG channels" width=10cm
\subsection Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bars The Bar view
Like histograms, this paradigm can be used to display and compare <b> series of levels </b> . Levels are displayed one after another from left to right, within a <b> color gradient </b> .
Channels are displayed vertically, one after another with a fixed interval (thus some "high" levels may overlap).
With a high definition (i.e. a rather high frequency display), the result can be viewed as a curve colored below the line.
Two boxes uses this paradigm:
- <b> \ref Doc_BoxAlgorithm_ContinuousBars </b> box: displays continuous data from left to right on a defined horizontal scale (goes back to origin upon reaching the end of the scale).
- <b> \ref Doc_BoxAlgorithm_InstantBars </b> box: displays each block of data received as it comes, filling all the horizontal space.
<b>Example</b>: spectrum display.
\image html InstantBars_Display.png "Instant Bars displaying the signal spectrum"
\image latex InstantBars_Display.png "Instant Bars displaying the signal spectrum" width=10cm
\subsection Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Bitmap The Bitmap view
The bitmap paradigm displays matrices of data using a color gradient. The result is a <b> 2D map where each cell is given a color "bit" </b> .
This view using colors can enhance easily the constrast between 2 temporal or spatial patterns, as the difference
between "cold" and "hot" colors is quickly caught by the analyst's eye.
You can even add an additional dimension by using <b> stacked bitmaps </b> : every time a new bitmap is received, it is placed on top or left to the previous one.
Four boxes uses this paradigm:
- <b> \ref Doc_BoxAlgorithm_ContinuousBitmap </b> box: displays continuous data from left to right on a defined horizontal scale (goes back to origin upon reaching the end of the scale).
- <b> \ref Doc_BoxAlgorithm_InstantBitmap </b> box: displays each block of data received as it comes, filling all the horizontal space.
- <b> \ref Doc_BoxAlgorithm_StackedBitmapVertical </b> box: each bitmap is placed on <b> top </b> of the previous one.
- <b> \ref Doc_BoxAlgorithm_StackedBitmapHorizontal </b> box: each bitmap is placed <b> left </b> to the previous one.
<b>Example</b>: Time-frequency map.
\image html StackedBitmapHorz_Display.png "Stacked Bitmap (Horizontal) displaying the result of a Time-Frequency analysis"
\image latex StackedBitmapHorz_Display.png "Stacked Bitmap (Horizontal) displaying the result of a Time-Frequency analysis" width=10cm
\subsection Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Topo The Topographic view
This paradigm adds a strong spatial constraint on the input data: each channel must be <b> labelled
with an electrode name </b> in a defined nomenclature, such as the standard 10-20 system.
Please see \ref Doc_Mensia_AdvViz_Concepts_ChannelLocalization for further details.
Here again the data itself is displayed using a color gradient, mapped to a 2D or 3D model using <b> spherical spline interpolation</b>.
For more details about the spherical spline interpolation, please check <i>F. Perrin, J. Pernier, O. Bertrand, J.F. Echallier,
Spherical splines for scalp potential and current density mapping, Electroencephalography and Clinical Neurophysiology, Volume 72, Issue 2, February 1989, Pages 184-187</i>.
The 2D model is a planar projection of the scalp, covering the scalp roughly from the frontal area to the occipital area (i.e. from Fp1-Fp2 to O9-O10 sites).
The projection result takes the shape of a disk with a crescent growth at the back for the occipital region.
Three boxes uses this paradigm:
- <b> \ref Doc_BoxAlgorithm_2DTopography </b> box: maps the input (which channels are labelled in the 10-20 system standard) to a planar projection of the scalp.
- <b> \ref Doc_BoxAlgorithm_3DTopography </b> box: maps the input (which channels are labelled in the 10-20 system standard) to a projection on a 3D model of the scalp.
- <b> \ref Doc_BoxAlgorithm_3DCubes </b> box: an alternative view where each channel is represented by a 3D cube, positionned in space as the electrode would be on the 3D model.
The activity is rendered by changing the size and color of the cubes.
<b>Example</b>: Displaying the power of a specific frequency band on a 3D head model.
\image html 3DTopography_Display.png "Alpha power mapped on a head model using the 3D topography"
\image latex 3DTopography_Display.png "Alpha power mapped on a head model using the 3D topography" width=10cm
\subsection Doc_Mensia_AdvViz_Concepts_VisualizationParadigms_Reco The Reconstruction view
Tomographic reconstruction algorithms offer an inside look, into the brain, from only surface measurements.
Several techniques exist, including the algorithms of the popular LORETA family which slice the brain in a stack of little cubes called voxels,
and computes the <em>inverse model</em>, a model reconstructing the sources of the potentials acquired at the measurement site.
One box implements the source reconstruction view:
- <b> \ref Doc_BoxAlgorithm_3DSourceVisualization </b> box : displays a 3D source reconstruction using 2394 colored/translucent voxels in a 3D head model.
This box expects 2394 input channels, produced by an inverse model (i.e. a spatial filter with N sensor inputs for 2394 sources outputs). This model must be
tailor-made for the precise EEG setup being used (e.g. using sLORETA).
\image html 3DTomographicVisualization_Display.png "3D tomographic reconstruction using the 3D Tomographic Visualization box"
\image latex 3DTomographicVisualization_Display.png "3D tomographic reconstruction using the 3D Tomographic Visualization box" width=10cm
\section Doc_Mensia_AdvViz_Concepts_ChannelLocalization Channel localization
Every visualization box can use the spatial information conveyed by the electrode naming. The channels can be positionned relatively to each
other as long as you provide in the box settings a file containing the cartesian coordinates of the electrodes.
Most of the time, EEG manufacturers use the 10-20 system as an electrode naming standard. For convenience, we provide within the Toolset a file compiling all the
coordinates of the electrodes in the 10-20 system.
The cartesian coordinates of all the electrodes are computed in the 3D space, where the origin is at the center of [Fpz,Oz] and [T7,T8].
- the X axis goes from the occipital lobe to the frontal lobe
- the Y axis goes from the right temporal lobe to the left temporal lobe
- the Z axis goes from the center of the head to the top
And as for the unit, here are some key points at the maximum of the axis:
- Fpz (1,0,0)
- Oz (-1,0,0)
- T7 (0,1,0)
- T8 (0,-1,0)
- Cz (0,0,1)
The following figures illustrates the cartesian coordinates of the extended 10-20 system used in the Mensia Advanced Visualization Toolset.
\image html CartesianCoordinates1.png "Cartesian coordinates of the 10-20 system, side view."
\image latex CartesianCoordinates1.png "Cartesian coordinates of the 10-20 system, side view." width=8cm
\image html CartesianCoordinates2.png "Cartesian coordinates of the 10-20 system, front view."
\image latex CartesianCoordinates2.png "Cartesian coordinates of the 10-20 system, front view." width=8cm
For more information, please see <i>Oostenveld, R. & Praamstra, P. (2001). The five percent electrode system
for high-resolution EEG and ERP measurements. Clinical Neurophysiology, 112:713-719</i>
Please note that using the 10-20 system is not mandatory. To use all the Toolset features related to the spatial disposition of the electrodes, you
just need to provide a file that maps electrode name with their coordinates in the space described above.
The format of this file is simple text. You must provide:
- the electrode names as a list of quoted labels
- the coordinate system labels
- the electrode coordinates of the electrodes, in the same order as in the electrode names
For example:
\code
[
["O1" "O2" ... ]
["x" "y" "z" ]
]
[
[-0.309017 -0.951057 4.48966e-011 ]
]
[
[0.309017 -0.951057 4.48966e-011 ]
]
...
\endcode
For a complete example, please look at the file provided with the Toolset (<i>../share/mensia /openvibe-plugins/cartesian.txt</i>)
*/
@@ -0,0 +1,125 @@
/**
\page Doc_Mensia_AdvViz_Configuration Configuration
By design, all the boxes included in the Mensia Advanced Visualization Toolset share a common behavior
when it comes to configuring the boxes, in the scenario edition or during its execution.
In this section we describe the common configuration parameters you find when using these boxes.
\section Doc_Mensia_AdvViz_Configuration_BoxSettings Box settings
You may encounter different settings, common to all or a subset of boxes, depending on the paradigms.
\subsection Doc_Mensia_AdvViz_Configuration_ChannelLocalization Channel localisation
Specify here where to find the file listing the coordinates of every electrodes by their names.
Please see \ref Doc_Mensia_AdvViz_Concepts_ChannelLocalization for more details.
For conveniency, we provide a default file <tt> ${AdvancedViz_ChannelLocalisation} </tt> (<i>../share/mensia /openvibe-plugins/cartesian.txt</i>) which contains
the cartesian coordinates of all electrodes in the extended 10-20 system.
This settings is obviously <b> mandatory for the Topographic views </b>,
but can also be useful for the other paradigms: at runtime, you can re-arrange the channels spatially by their names (from left to right hemisphere, or from front to top).
This is useful when dealing with dense EEG (128 or more channels), which can bring a new light, new contrast on a rather opaque data display.
\image html Settings_ChannelLocalisation.png "Spatial reorganization on a dense signal display using a Continuous Oscillator"
\image latex Settings_ChannelLocalisation.png "Spatial reorganization on a dense signal display using a Continuous Oscillator" width=\textwidth
\subsection Doc_Mensia_AdvViz_Configuration_Caption Caption
If this field is used, this label will be displayed in the window, on top of the rendering area.
\subsection Doc_Mensia_AdvViz_Configuration_Color Color
The color gradient you want to use to display the data. You can use the color picker to chose the gradient manually, or use one of the presets.
Several presets exist in form of configuration tokens <tt>${AdvancedViz_ColorGradient_X}</tt>, where X can be:
- <tt>Matlab</tt> or <tt>Matlab_Discrete</tt> (as in <a href="http://www.mathworks.fr/products/matlab/"> Matlab</a> / <a href="http://sccn.ucsd.edu/wiki/BCILAB"> BCILAB toolbox</a>)
- <tt>Icon</tt> or <tt>Icon_Discrete</tt> (as in <a href="https://sites.google.com/site/marcocongedo/software/icon"> ICoN </a>)
- <tt>Elan</tt> or <tt>Elan_Discrete</tt> (as in <a href="http://elan.lyon.inserm.fr/"> Elan </a>)
- <tt>Fire</tt> or <tt>Fire_Discrete</tt>
- <tt>IceAndFire</tt> or <tt>IceAndFire_Discrete</tt>
The default values <tt>AdvancedViz_DefaultColorGradient</tt> or <tt>AdvancedViz_DefaultColorGradient_Discrete</tt> are equal to <tt>Matlab</tt> and <tt>Matlab_Discrete</tt>.
Here is an example of 2D topography rendering using these color gradients:
\image html 2DTopography_ColorGradients.png "The color gradient presets available, illustrated with the 2D topography"
\image latex 2DTopography_ColorGradients.png "The color gradient presets available, illustrated with the 2D topography" width=\textwidth
\subsection Doc_Mensia_AdvViz_Configuration_BoxSettings_Translucency Translucency
This setting expects a value between 0 and 1, where 0 is complete transparency and 1 complete opacity.
The translucency parameter is very useful when dealing with overlapping rendering, i.e. when some parts of the visualizations end up on each other.
By adding some translucency the data can still be visible, and it can also smoothen dense readings for more confort.
\image html Settings_Translucency-1-05.png "Using the translucency to allow dense yet smooth EEG reading"
\image latex Settings_Translucency-1-05.png "Using the translucency to allow dense yet smooth EEG reading" width=\textwidth
\subsection Doc_Mensia_AdvViz_Configuration_BoxSettings_PositiveData Positive data only
By ticking this checkbox, you shift the vertical scale of the visualization in order to have the 0 at the bottom (no negative values will be displayed)
This setting can be activated when dealing with spectral amplitude or any kind of positive-only "levels".
\image html ContinuousBars_Display.png "Displaying a positive level (Global Field Power) using Continuous Bars"
\image latex ContinuousBars_Display.png "Displaying a positive level (Global Field Power) using Continuous Bars" width=10cm
\subsection Doc_Mensia_AdvViz_Configuration_BoxSettings_Gain Gain
If set, all samples in the input stream are multiplied by this scalar value before display.
This can be useful when you need to display all at once different type of data on the same relative scale, with a good contrast on every view.
\subsection Doc_Mensia_AdvViz_Configuration_BoxSettings_TemporalCoherence Temporal Coherence
Tells the box whether the input stream is expected to be <b>Time-locked</b> or <b>Independent</b>.
In the first case the box should use a Time scale (in seconds, for <b>continuous</b> data), and for the second case a Matrix count (number of data block received, for <b>discontinuous</b> data).
\subsection Doc_Mensia_AdvViz_Configuration_BoxSettings_TimeScale Time scale
The time scale (in seconds) drives the number of values to be displayed in continuous or stacked views before going back to the origin.
Using a time scale is meaningful only when dealing with an input stream made of continuous epochs, e.g. signal display, time-frequency analysis.
\subsection Doc_Mensia_AdvViz_Configuration_BoxSettings_MatrixCount Matrix count
The number of input epochs to display before going back to the origin. For example in stacked bitmaps this setting is the number of bitmaps to be stacked before going back to the bottom of the stack.
An illustration for this setting would be the visualization of Event-Related Potentials such as P300.
In such scenario, we usually select epochs of data uncontinuously, e.g. by extracting 600ms of signal around a target stimulation.
Setting the Temporal coherence parameter to <em> Independent</em> will make the box display every epochs one after another, without trying to use the epoch timings.
For example, set to <em> Independent</em> when you want to stack P300 target trials on a bitmap view, with a matrix count equal to the number of trials you want to stack.
\image html StackedBitmapVert_ERPDisplay.png "Using a Stacked Bitmap (Vertical) to display the 3 first xDAWN components of all 99 Target trials of a P300 session"
\image latex StackedBitmapVert_ERPDisplay.png "Using a Stacked Bitmap (Vertical) to display the 3 first xDAWN components of all 99 Target trials of a P300 session" width=10cm
\section Doc_Mensia_AdvViz_Configuration_RuntimeToolbar Runtime Settings
This section covers the different settings available at runtime (i.e. when the scenario is currently beeing played).
Clicking on the <b> toolbar </b> will open-up the runtime visualization settings.
- <b> Sort Channels </b> : rearrange the channels <b> by their name </b> (alphabetically or reversed order), or <b> by their position on the scalp </b> (left to right or front to back).
This last option is possible only if the channel are named according to the 10-20 system, and if you provided a channel localisation file in the box settings.
- <b> Select Channels </b> : Select in a list the channels you want to see in the visualization window.
Use the <tt>Ctrl</tt> or <tt>Shift</tt> key to add channels to your selection, <tt>Ctrl+a</tt> to select all channels.
- <b> Show scales </b> : show or hide all the scales around the visualization widget; allows nice snapshots.
This setting is <b> global </b>, meaning that it affects all the other advanced visualization windows currently running in your scenario.
Doing so preserves the widgets alignment when displaying synchronized data.
This setting can be turned on or off also by a <b> double left-click </b> in the visualization windows itself.
- <b> Positive data </b> : this setting is a runtime duplicate of the box setting <em> Positive data only </em>.
If checked, the vertical axis is shifted so that 0 is at the bottom. Negative values wont be displayed.
Depending on the temporal coherence selected in the box settings, you may find:
- <b> Time scale </b> : this setting is a runtime duplicate of the box setting <em> Time scale </em>.
- <b> Matrix count </b> : this setting is a runtime duplicate of the box setting <em> Matrix count </em>.
When the visualization box implements an <b> Instant </b> paradigm for <b> streamed matrices or signal input </b> data, a new setting is available:
- <b> Epoch replay </b> : replays the last epoch received.
Topographies also expose the ERP replay in adequat conditions.
This feature is <b> global </b>, meaning that the replay is performed simultaneously on every compatible boxes.
This allows for example on-demand replays of ERPs, simultaneously on a signal display and a topography.
\image html 3DTopography_ERPReplay.png "Using the ERP replay feature on a 3D topography to catch the spatial course of the potential"
\image latex 3DTopography_ERPReplay.png "Using the ERP replay feature on a 3D topography to catch the spatial course of the potential" width=10cm
\section Doc_Mensia_AdvViz_Configuration_RuntimeControls Runtime Controls
All the visualization boxes share common controls at runtime, for a user-friendly, natural interaction.
Using the mouse, one can:
- Maintain <b> right click </b> and move the mouse up or down to <b> zoom in or out on the data scale </b>
- Maintain <b> left click </b> and move the mouse to <b> rotate </b> a 3D model
- Maintain <b> middle click </b> and move the mouse to <b> zoom in or out on a 3D model </b>
- <b> Double left click </b> in the vizualisation window to remove all the scales from the frame
All these controls are <b> global </b> , meaning that if you change the scale in one visualization window, it will change the scale in every visualization windows accordingly.
*/
@@ -0,0 +1,67 @@
/**
\page Doc_Mensia_AdvViz_UseCases Use-cases
We describe in this section of the documentation several use-cases, typical and concrete examples of EEG analysis
that are enlighted by the <b>Mensia Advanced Visualization Toolset</b>.
\section Doc_Mensia_AdvViz_UseCases_1 EEG Signal analysis
This detailed example uses the basic OpenViBE signal processing boxes to perform elementary real-time analysis, and the Mensia Advanced Visualization Toolset
to display the results:
- Raw and filtered EEG
- Spectrum, time-frequency map
- 2D and 3D topographies
You can find this scenario in the provided sample set, the scenario file name is \textit{UseCase-1-EEG-signal-analysis.mxs}.
\subpage Doc_Mensia_AdvViz_UseCases_SignalAnalysis
\section Doc_Mensia_AdvViz_UseCases_2 Event-Related Potentials analysis
This use-case is focused on the ERP extraction and visualization, applied to P300 speller data.
The Mensia Advanced Visualization boxes allows concurrent and comparative displays (e.g. target versus non-target potentials), and synchronized replay capabilities
You can find this scenario in the provided sample set, the scenario file name is \textit{UseCase-2-ERP-analysis.mxs}.
\subpage Doc_Mensia_AdvViz_UseCases_ERPAnalysis
\page Doc_Mensia_AdvViz_UseCases_SignalAnalysis Use-case 1: EEG Signal analysis
\section Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Intro Introduction
This use-case is a simple yet concrete example of real-time EEG analysis usually performed with OpenViBE.
The scenario covers the use of oscilloscope, bitmaps, bars and topographic views to display signal, spectrum, and band power.
\section Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario The scenario
The signal used is a <b>motor imagery</b> session, where the participant performed right and left hand motor imagery trials.
For more details, please refer to the official documentation of the OpenViBE motor-imagery bci scenarios, provided with the official release of the software.
We chose these data for demonstration purpose only as it is a file provided with the official release of openvibe, and should be available for you anyway.
\subsection Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario_Filtering Signal filtering
We first remove artifacts using temporal filters, especially the common 50Hz noise coming from the electrical installation.
The EEG amplifier used for the record we read here is a Mindmedia NeXuS 32b, with one reference channel put on Nz (nose).
The <em>Reference Channel</em> box applies this spatial filter to further remove noises.
We then use a \ref Doc_BoxAlgorithm_ContinuousOscilloscope to display the filtered signal.
\image html UseCase1_1.png "Denoising the signal before display"
\image latex UseCase1_1.png "Denoising the signal before display" width=8cm
\subsection Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario_Spectrum Spectral analysis
A first pipeline computes two surface Laplacian filters around C3 and C4, the center of the two motor cortices.
We then compute the spectrum using FFT, up to 32 Hz, and display it using \ref Doc_BoxAlgorithm_InstantBars (spectrum levels)
and \ref Doc_BoxAlgorithm_StackedBitmapHorizontal (time-frequency map).
\image html UseCase1_2.png "Spectral analysis over filtered data"
\image latex UseCase1_2.png "Spectral analysis over filtered data" width=8cm
\subsection Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Scenario_Topo Topographic display
We compute in a parallel pipeline the alpha band power, averaged over several epochs, and visualize it over the scalp
through \ref Doc_BoxAlgorithm_2DTopography and \ref Doc_BoxAlgorithm_3DTopography.
\image html UseCase1_3.png "Topographic display of the alpha band power over the scalp"
\image latex UseCase1_3.png "Topographic display of the alpha band power over the scalp" width=8cm
\section Doc_Mensia_AdvViz_UseCases_SignalAnalysis_Result Result
Here is the online visualization when we play this scenario on the provided data.
\image html UseCase1_6.png "Signal display"
\image latex UseCase1_6.png "Signal display" width=10cm
\image html UseCase1_4.png "Spectrum visualization"
\image latex UseCase1_4.png "Spectrum visualization" width=10cm
\image html UseCase1_5.png "2D and 3D Topographies"
\image latex UseCase1_5.png "2D and 3D Topographies" width=10cm
*/
@@ -0,0 +1,120 @@
.. _Doc_BoxAlgorithm_2DTopography:
2D Topography
=============
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_2DTopography.png
The *2D Topography* box combines EEG measures with topological information.
The input, being signal, spectrum, or any other metric, is mapped to a 2 dimensional plane model of the scalp surface, rendered in a 3D context.
This box is provided with a preconfigured channel localisation file that contains the cartesian coordinates of every electrode positions of the extended 10-20 system.
The mapping is done according to these coordinates using spherical spline interpolation.
A color gradient is used to display the information, and can be customized at will to easily enhance or smooth the contrasts.
Several presets are available, to match the gradients you may be already familiar with when using existing softwares such as Matlab or Elan.
The color gradient is mapped to the current data scale, centered around 0.
The *2D Topography* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
The box input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_2DTopography_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input signal before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_2DTopography_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
For the 2D topography, please note that:
- **Select Channels** : the selected channel are symbolized with a small white cube, which turns grey when unselected.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
.. _Doc_BoxAlgorithm_2DTopography_Examples:
Examples
--------
In the following example, we compute the band power of the signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{2DTopography.mxs}.
.. figure:: images/2DTopography_Example.png
:alt: Example of scenario using the 2D topography
:align: center
Example of scenario using the 2D topography
@@ -0,0 +1,117 @@
.. _Doc_BoxAlgorithm_3DCubes:
3D Cubes
========
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_3DCubes.png
The *3D Cubes* box displays the data in a topographic view, where each channel (correctly identified and positionned thanks to a channel localisation file) is associated with a cube.
All the cubes are positionned in a 3D space according to the corresponding positions of the electrodes on the scalp.
The input data is displayed through 2 modalities:
- the **cubes color**
- the **cubes size**
The cube size varies according to the same - absolute - range as the color, i.e. high negative or positive values will be
displayed as big cube while values close to zero with be displayed as small cubes.
The *3D Cubes* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
The box input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_3DCubes_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_3DCubes_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
.. _Doc_BoxAlgorithm_3DCubes_Examples:
Examples
--------
In the following example, we compute the band power of the signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{3DCubes.mxs}.
.. figure:: images/3DCubes_Example.png
:alt: Example of scenario using the 3D cubes
:align: center
Example of scenario using the 3D cubes
@@ -0,0 +1,109 @@
.. _Doc_BoxAlgorithm_3DTomographicVisualization:
3D Tomographic Visualization
============================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_3DTomographicVisualization.png
The *3D Tomographic Visualization* is designed to display the output of a signal filtered using the a tomographic reconstruction algorithm such as LORETA.
LORETA computes the spatial filter that transforms an input signal with :math:`C` channels/sensors to :math:`V =` 2394 sources.
These sources form a subdivision of the brain in 3 dimensions, each source being encoded as a small cube (7mm resolution) called *voxel*. The input to the box should thus be a matrix of 2394x3 values.
The *3D Tomographic Visualization* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
This box expects a source current density power stream coming from a LORETA transformation, ie matrices of :math:`V =` 2394 channels, one value per voxel of the reconstruction.
.. _Doc_BoxAlgorithm_3DTomographicVisualization_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_3DTomographicVisualization_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
.. _Doc_BoxAlgorithm_3DTomographicVisualization_Examples:
Examples
--------
In the following example, we compute the alpha band power of the signal, and deduce the corresponding sources activity using
an inverse model of the headset (eLORETA), that outputs the source components along x, y and z axis and the source current density power.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{3DTomographicVisualization.mxs}.
.. figure:: images/3DTomographicVisualization_Example.png
:alt: Example of scenario using the 3D Tomographic Visualization
:align: center
Example of scenario using the 3D Tomographic Visualization
@@ -0,0 +1,120 @@
.. _Doc_BoxAlgorithm_3DTopography:
3D Topography
=============
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_3DTopography.png
The *3D Topography* box combines EEG measures with topological information.
The input, being signal, spectrum, or any other metric, is mapped to a 3D model of the scalp.
This box is provided with a preconfigured channel localisation file that contains the cartesian coordinates of every electrode positions of the extended 10-20 system.
The mapping is done according to these coordinates using spherical spline interpolation.
A color gradient is used to display the information, and can be customized at will to easily enhance or smooth the contrasts.
Several presets are available, to match the gradients you may be already familiar with when using existing softwares such as Matlab or Elan.
The color gradient is mapped to the current data scale, centered around 0.
The *3D Topography* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
The box input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_3DTopography_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input signal before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_3DTopography_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
For the 3D topography, please note that:
- **Select Channels** : the selected channel are symbolized with a small white cube, which turns grey when unselected.
Note that if the box receives a discontinuous data stream, such as a re-epoched signal through stimulation based epoching, the ERP replay features is exposed.
Using the ERP replay allows you to slowly visualize the last epoch received.
.. _Doc_BoxAlgorithm_3DTopography_Examples:
Examples
--------
In the following example, we compute the band power of the signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{3DTopography.mxs}.
.. figure:: images/3DTopography_Example.png
:alt: Example of scenario using the 3D topography
:align: center
Example of scenario using the 3D topography
@@ -0,0 +1,145 @@
.. _Doc_BoxAlgorithm_ContinuousBars:
Continuous Bars
===============
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_ContinuousBars.png
The Continuous Bars displays input data in form of **vertical level bars**, one bar per value, one bar series for each channel.
The display is done **continuously** , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
For lisibility (and esthetical) purpose, the bars are colored in a custom gradient (from left to right).
The *Continuous Bars* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Streamed matrix"
"Markers", "Stimulations"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
Markers
~~~~~~~
The second input expect stimulations. They will be displayed as **colored vertical lines**.
.. _Doc_BoxAlgorithm_ContinuousBars_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Positive Data Only ?", "Boolean", "false"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Positive Data Only ?
~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_ContinuousBars_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_ContinuousBars_Examples:
Examples
--------
In the following example, we compute the band power of the bipolar channel C3-C4 in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousBars.mxs}.
.. figure:: images/ContinuousBars_Example.png
:alt: Example of scenario using the Continuous Bars
:align: center
Example of scenario using the Continuous Bars
@@ -0,0 +1,120 @@
.. _Doc_BoxAlgorithm_ContinuousBitmap:
Continuous Bitmap
=================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_ContinuousBitmap.png
The *Continuous Bitmap* displays input data in form of a 2D map of colored blocks (or *bitmap*).
The display is done **continuously** , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
The *Continuous Bitmap* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Streamed matrix"
"Markers", "Stimulations"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
Markers
~~~~~~~
The second input expect stimulations. They will be displayed as **red vertical lines**.
.. _Doc_BoxAlgorithm_ContinuousBitmap_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Gain
~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Caption
~~~~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Color
~~~~~
Label to be displayed on top of the visualization window.
.. _Doc_BoxAlgorithm_ContinuousBitmap_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_ContinuousBitmap_Examples:
Examples
--------
In the following example, we compute the band power of the input signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousBitmap.mxs}.
.. figure:: images/ContinuousBitmap_Example.png
:alt: Example of scenario using the Continuous Bitmap
:align: center
Example of scenario using the Continuous Bitmap
@@ -0,0 +1,145 @@
.. _Doc_BoxAlgorithm_ContinuousMultiOscilloscope:
Continuous Multi Oscilloscope
=============================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_ContinuousMultiOscilloscope.png
The *Continuous Multi-Oscilloscope* displays temporal numerical data in the form of curves, on the same vertical axis.
Each channel is given a color according to a color gradient, rendered additively.
The display is done **continuously** , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
The *Continuous Multi-Oscilloscope* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
"Markers", "Stimulations"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
Markers
~~~~~~~
The second input expect stimulations. They will be displayed as **red vertical lines**.
.. _Doc_BoxAlgorithm_ContinuousMultiOscilloscope_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Positive Data Only ?", "Boolean", "false"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Positive Data Only ?
~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_ContinuousMultiOscilloscope_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_ContinuousMultiOscilloscope_Examples:
Examples
--------
In the following example, we compute the band power of the input signal in the 8-15 Hz frequency range, and average it over the last 32 epochs received.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousMultiOscilloscope.mxs}.
.. figure:: images/ContinuousMultiOscilloscope_Example.png
:alt: Example of scenario using the Continuous Multi-Oscilloscope
:align: center
Example of scenario using the Continuous Multi-Oscilloscope
@@ -0,0 +1,145 @@
.. _Doc_BoxAlgorithm_ContinuousOscilloscope:
Continuous Oscilloscope
=======================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_ContinuousOscilloscope.png
The *Continuous Oscilloscope* displays temporal numerical data in the form of curves, all the channels being distributed vertically, each one with its own horizontal axis.
Channel are given a color, overlaps are rendered additively.
The display is done **continuously** , meaning that once the end of the horizontal scale is reached, it goes back to the origin.
The *Continuous Oscilloscope* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
"Markers", "Stimulations"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
Markers
~~~~~~~
The second input expect stimulations. They will be displayed as **red vertical lines**.
.. _Doc_BoxAlgorithm_ContinuousOscilloscope_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Positive Data Only ?", "Boolean", "false"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color", "${AdvancedViz_DefaultColor}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Positive Data Only ?
~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_ContinuousOscilloscope_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_ContinuousOscilloscope_Examples:
Examples
--------
In the following example, we filter the input signal in the 8-15 Hz frequency range and simply display it.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{ContinuousOscilloscope.mxs}.
.. figure:: images/ContinuousOscilloscope_Example.png
:alt: Example of scenario using the Continuous Oscilloscope
:align: center
Example of scenario using the Continuous Oscilloscope
@@ -0,0 +1,120 @@
.. _Doc_BoxAlgorithm_ContinuousXYZPlot:
Continuous XYZ Plot
===================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_ContinuousXYZPlot.png
The *Continuous XYZ Plot* displays temporal numerical data in a 2D (*resp.* 3D) space, consecutive rows of the input matrix being grouped by 2 (*resp.* 3) to form the 2D (*resp.* 3D) trajectories.
The display is done **continuously**, meaning that trajectories are persitent along time. Moreover, colors change as a function of time (samples order).
The *Continuous XYZ Plot* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_ContinuousXYZPlot_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Show Axis", "Boolean", "true"
"Use third channel as depth", "Boolean", "false"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Show Axis
~~~~~~~~~
If this checkbox is ticked, the axis and the grid are displayed.
Use third channel as depth
~~~~~~~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, trajectories are plotted in a 3D space, otherwise in a 2D space.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
.. _Doc_BoxAlgorithm_ContinuousXYZPlot_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
@@ -0,0 +1,122 @@
.. _Doc_BoxAlgorithm_InstantBars:
Instant Bars
============
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_InstantBars.png
The *Instant Bars* box displays input data in form of **vertical level bars**, one bar per value, one series of bar for each channel.
The display is done **instantly** , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the vertical space.
For lisibility (and esthetical) purpose, the bars are colored in a custom gradient (from left to right).
This box is especially suitable for displaying **spectrum**.
The *Instant Bars* box shares common concepts and settings with the other boxes of the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Spectrum"
Matrix
~~~~~~
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_InstantBars_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Positive Data Only ?", "Boolean", "false"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Positive Data Only ?
~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_InstantBars_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_InstantBars_Examples:
Examples
--------
In the following example, we compute the FFT of the input EEG signal and display it.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantBars.mxs}.
.. figure:: images/InstantBars_Example.png
:alt: Example of scenario using the Instant Bars to display spectrum
:align: center
Example of scenario using the Instant Bars to display spectrum
@@ -0,0 +1,102 @@
.. _Doc_BoxAlgorithm_InstantBitmap:
Instant Bitmap
==============
.. image:: images/Doc_BoxAlgorithm_InstantBitmap.png
The *Instant Bitmap* box displays input data in form of a 2D map of colored blocks (or *bitmap*).
The display is done **instantly** , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the horizontal space.
The bitmap colors are chosen according to a custom gradient.
The *Instant Bitmap* box shares common concepts and settings with the other boxes of the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Spectrum"
Matrix
~~~~~~
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_InstantBitmap_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_InstantBitmap_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_InstantBitmap_Examples:
Examples
--------
In the following example, we compute the FFT of the input EEG signal and display it.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantBitmap.mxs}.
.. figure:: images/InstantBitmap_Example.png
:alt: Example of scenario using the Instant Bitmap to display spectrum
:align: center
Example of scenario using the Instant Bitmap to display spectrum
@@ -0,0 +1,104 @@
.. _Doc_BoxAlgorithm_InstantBitmap3DStream:
Instant Bitmap (3D Stream)
==========================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_InstantBitmap3DStream.png
The *Instant Bitmap (3D Stream)* box displays input data in form of 2D maps of colored blocks (or *bitmap*).
Each time a matrix is received, its contents are displayed to fill the visualization. Depending on the input type, the three dimensions of the matrix will be ordonned differently.
The bitmap colors are chosen according to a custom gradient.
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Time-frequency"
"Markers", "Stimulations"
Matrix
~~~~~~
The input matrices to be displayed. Currently this box supports only the Time-Frequency stream.
Markers
~~~~~~~
The second input expects stimulations. They will be displayed as **colored vertical lines**.
.. _Doc_BoxAlgorithm_InstantBitmap3DStream_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to ``Matlab`` and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_InstantBitmap3DStream_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_InstantBitmap3DStream_Examples:
Examples
--------
In the following example, we compute the Time-Frequency Analysis for a generated signal.
You can find a commented scenario in the provided sample set, the scenario file name is InstantBitmap3DStream.mxs.
.. figure:: images/InstantBitmap3DStream_Example.png
:alt: Example of scenario using the Instant Bitmap (3D Stream)
:align: center
Example of scenario using the Instant Bitmap (3D Stream)
@@ -0,0 +1,121 @@
.. _Doc_BoxAlgorithm_InstantMultiOscilloscope:
Instant Multi Oscilloscope
==========================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_InstantMultiOscilloscope.png
The *Instant Multi-Oscilloscope* displays temporal numerical data in the form of curves, on the same vertical axis.
Each channel is given a color according to a color gradient, rendered additively.
The display is done **instantly** , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the horizontal space.
The *Instant Multi-Oscilloscope* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_InstantMultiOscilloscope_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Positive Data Only ?", "Boolean", "false"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Positive Data Only ?
~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_InstantMultiOscilloscope_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_InstantMultiOscilloscope_Examples:
Examples
--------
In the following example, we compute the FFT of the average right hand trial in a Motor Imagery session,
and visualize the spectrum around left and right motor cortices through 2 Laplacian filters around C3 and C4.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantMultiOscilloscope.mxs}.
.. figure:: images/InstantMultiOscilloscope_Example.png
:alt: Example of scenario using the Instant Multi-Oscilloscope
:align: center
Example of scenario using the Instant Multi-Oscilloscope
@@ -0,0 +1,122 @@
.. _Doc_BoxAlgorithm_InstantOscilloscope:
Instant Oscilloscope
====================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_InstantOscilloscope.png
The *Instant Oscilloscope* displays temporal numerical data in the form of curves.
The display is done **instantly** , meaning that whenever a new data block arrives, it is displayed in the visualization windows, filling all the horizontal space.
The *Instant Oscilloscope* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
This box supports input modification: you can add or remove inputs at will.
Matrix
~~~~~~
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_InstantOscilloscope_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Positive Data Only ?", "Boolean", "false"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Color", "Color", "${AdvancedViz_DefaultColor}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Positive Data Only ?
~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, the vertical scale is shifted so that 0 is at the bottom. Only positive values will be displayed.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_InstantOscilloscope_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_InstantOscilloscope_Examples:
Examples
--------
In the following example, we compute the FFT of the average right hand trial in a Motor Imagery session,
and visualize the spectrum around left and right motor cortices through 2 Laplacian filters around C3 and C4.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{InstantOscilloscope.mxs}.
.. figure:: images/InstantOscilloscope_Example.png
:alt: Example of scenario using the Instant Oscilloscope
:align: center
Example of scenario using the Instant Oscilloscope
@@ -0,0 +1,101 @@
.. _Doc_BoxAlgorithm_InstantXYZPlot:
Instant XYZ Plot
================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_InstantXYZPlot.png
The *Instant XYZ Plot* displays temporal numerical data in a 2D (*resp.* 3D) space, consecutive rows of the input matrix being grouped by 2 (*resp.* 3) to form the 2D (*resp.* 3D) trajectories.
The display is done **instantly**, meaning that whenever a new data block arrives, it is displayed in the visualization windows, without previous trajectories. Moreover, colors change as a function of time (samples order).
The *Instant XYZ Plot* box shares common concepts and settings with the other boxes in the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Signal"
Matrix
~~~~~~
The input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
.. _Doc_BoxAlgorithm_InstantXYZPlot_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Gain", "Float", "1"
"Caption", "String", ""
"Translucency", "Float", "1"
"Show Axis", "Boolean", "true"
"Use third channel as depth", "Boolean", "false"
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Translucency
~~~~~~~~~~~~
This setting expect a value between 0 and 1, from transparent to opaque color rendering (nb: this value is the alpha component of the color).
Show Axis
~~~~~~~~~
If this checkbox is ticked, the axis and the grid are displayed.
Use third channel as depth
~~~~~~~~~~~~~~~~~~~~~~~~~~
If this checkbox is ticked, trajectories are plotted in a 3D space, otherwise in a 2D space.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
.. _Doc_BoxAlgorithm_InstantXYZPlot_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
@@ -0,0 +1,135 @@
.. _Doc_BoxAlgorithm_StackedBitmapHorizontal:
Stacked Bitmap (Horizontal)
===========================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_StackedBitmapHorizontal.png
The *Stacked Bitmap (Horizontal)* box displays input data in form of 2D maps of colored blocks (or *bitmap*).
All the bitmaps are stacked horizontally, starting from the left edge of the window.
Whenever a new data block arrives, it is added to the visualization windows. If the end of the matrix count scale is reached, it goes back to the origin.
The bitmap colors are chosen according to a custom gradient.
The *Stacked Bitmap (Horizontal)* box shares common concepts and settings with the other boxes of the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Streamed matrix"
"Markers", "Stimulations"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
Markers
~~~~~~~
The second input expect stimulations. They will be displayed as **colored vertical lines**.
.. _Doc_BoxAlgorithm_StackedBitmapHorizontal_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_StackedBitmapHorizontal_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_StackedBitmapHorizontal_Examples:
Examples
--------
In the following example, we compute the FFT of every right-hand trial in a Motor Imagery session, filtered spatially around the two motor cortices.
All the spectra are stacked on top of each other.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{StackedBitmapHorz.mxs}.
.. figure:: images/StackedBitmapHorz_Example.png
:alt: Example of scenario using the Stacked Bitmap (Horizontal)
:align: center
Example of scenario using the Stacked Bitmap (Horizontal)
@@ -0,0 +1,135 @@
.. _Doc_BoxAlgorithm_StackedBitmapVertical:
Stacked Bitmap (Vertical)
=========================
.. container:: attribution
:Author:
Yann Renard
:Company:
Mensia Technologies SA
.. image:: images/Doc_BoxAlgorithm_StackedBitmapVertical.png
The *Stacked Bitmap (Vertical)* box displays input data in form of 2D maps of colored blocks (or *bitmap*).
All the bitmaps are stacked vertically, starting from the bottom edge of the window.
Whenever a new data block arrives, it is added to the visualization windows. If the end of the matrix count scale is reached, it goes back to the origin.
The bitmap colors are chosen according to a custom gradient.
The *Stacked Bitmap (Vertical)* box shares common concepts and settings with the other boxes of the **Mensia Advanced Visualization Toolset**.
Additional information are available in the dedicated documentation pages:
- :ref:`Doc_Mensia_AdvViz_Concepts`
- :ref:`Doc_Mensia_AdvViz_Configuration`
Inputs
------
.. csv-table::
:header: "Input Name", "Stream Type"
"Matrix", "Streamed matrix"
"Markers", "Stimulations"
Matrix
~~~~~~
The first input can be a streamed matrix or any derived stream (Signal, Spectrum, Feature Vector).
Please set the input type according to the actual stream type connected.
Markers
~~~~~~~
The second input expect stimulations. They will be displayed as **colored vertical lines**.
.. _Doc_BoxAlgorithm_StackedBitmapVertical_Settings:
Settings
--------
.. csv-table::
:header: "Setting Name", "Type", "Default Value"
"Channel Localisation", "Filename", "${AdvancedViz_ChannelLocalisation}"
"Temporal Coherence", "Temporal Coherence", "Time Locked"
"Time Scale", "Float", "20"
"Matrix Count", "Integer", "50"
"Gain", "Float", "1"
"Caption", "String", ""
"Color", "Color Gradient", "${AdvancedViz_DefaultColorGradient}"
Channel Localisation
~~~~~~~~~~~~~~~~~~~~
The channel localisation file containing the cartesian coordinates of the electrodes to be displayed.
A default configuration file is provided, and its path stored in the configuration token ``${AdvancedViz_ChannelLocalisation}``.
Temporal Coherence
~~~~~~~~~~~~~~~~~~
Select *Time Locked* for a continuous data stream, and specify the *time scale* below.
Select *Independent* for a discontinuous data stream, and specify the *matrix count* below.
Time Scale
~~~~~~~~~~
The time scale in seconds, before the displays goes back to the origin.
Matrix Count
~~~~~~~~~~~~
The number of input matrices to receive before the displays goes back to the origin.
Gain
~~~~
Gain (floating-point scalar factor) to apply to the input values before display.
Caption
~~~~~~~
Label to be displayed on top of the visualization window.
Color
~~~~~
Color gradient to use. This setting can be set manually using the color gradient editor.
Several presets exist in form of configuration tokens ``${AdvancedViz_ColorGradient_X}``, where X can be:
- ``Matlab`` or ``Matlab_Discrete``
- ``Icon`` or ``Icon_Discrete``
- ``Elan`` or ``Elan_Discrete``
- ``Fire`` or ``Fire_Discrete``
- ``IceAndFire`` or ``IceAndFire_Discrete``
The default values ``AdvancedViz_DefaultColorGradient`` or ``AdvancedViz_DefaultColorGradient_Discrete`` are equal to </t>Matlab</tt> and ``Matlab_Discrete``.
An example of topography rendering using these color gradients can be found :ref:`Doc_Mensia_AdvViz_Configuration` "here".
.. _Doc_BoxAlgorithm_StackedBitmapVertical_VizSettings:
Visualization Settings
----------------------
At runtime, all the advanced visualization shared settings are exposed, as described in :ref:`Doc_Mensia_AdvViz_Configuration_RuntimeToolbar`.
.. _Doc_BoxAlgorithm_StackedBitmapVertical_Examples:
Examples
--------
In the following example, we compute the FFT of every right-hand trial in a Motor Imagery session, filtered spatially around the two motor cortices.
All the spectra are stacked on top of each other.
You can find a commented scenario in the provided sample set, the scenario file name is \textit{StackedBitmapVert.mxs}.
.. figure:: images/StackedBitmapVert_Example.png
:alt: Example of scenario using the Stacked Bitmap (Vertical)
:align: center
Example of scenario using the Stacked Bitmap (Vertical)

Some files were not shown because too many files have changed in this diff Show More