diff --git a/CMakeLists.txt b/CMakeLists.txt index 1fa04baf51080f73d6112aaa1d1771782dbaf963..e1f6f253706408a0a5f0a7995d5272d5095298d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,6 +183,7 @@ ADD_DEFINITIONS(-DOV_CMAKE_PATH_BIN="${CMAKE_INSTALL_FULL_BINDIR}") ADD_DEFINITIONS(-DOV_CMAKE_PATH_DATA="${CMAKE_INSTALL_FULL_DATADIR}/openvibe") ADD_DEFINITIONS(-DOV_CMAKE_PATH_LIB="${CMAKE_INSTALL_FULL_LIBDIR}") +ADD_SUBDIRECTORY("build-tool/") # Traverse these directories and build their components ADD_SUBDIRECTORY("common/") ADD_SUBDIRECTORY("openvibe/") @@ -199,6 +200,8 @@ ADD_SUBDIRECTORY("documentation/") # needs to be the last since it uses the list IF(openvibe-documentation) ADD_DEPENDENCIES(openvibe-documentation openvibe-plugin-inspector) ENDIF(openvibe-documentation) + +ADD_DEPENDENCIES(openvibe-toolkit openvibe-stimulation-generator ) # make a copy of the dependency script, this is done so we can use the same launch scripts both in win install and win devel situations. IF(WIN32) INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/scripts/win32-dependencies.cmd DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} RENAME "openvibe-set-env.cmd") diff --git a/build-tool/CMakeLists.txt b/build-tool/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4f62fdd2354070c1a7f752c4fce37a97313cdae --- /dev/null +++ b/build-tool/CMakeLists.txt @@ -0,0 +1,3 @@ + +# Add all the subdirs as projects of the named branch +OV_ADD_PROJECTS("BUILD_TOOL") diff --git a/build-tool/stimulation-generator/CMakeLists.txt b/build-tool/stimulation-generator/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb69c8a498d8d9d9911536764b2cfb74b79507d5 --- /dev/null +++ b/build-tool/stimulation-generator/CMakeLists.txt @@ -0,0 +1,36 @@ +PROJECT(openvibe-stimulation-generator) + +SET(PROJECT_VERSION_MAJOR ${OV_GLOBAL_VERSION_MAJOR}) +SET(PROJECT_VERSION_MINOR ${OV_GLOBAL_VERSION_MINOR}) +SET(PROJECT_VERSION_PATCH ${OV_GLOBAL_VERSION_PATCH}) +SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) + +FILE(GLOB_RECURSE source_files src/*.cpp src/*.h src/*.inl) +ADD_EXECUTABLE(openvibe-stimulation-generator ${source_files}) + +if(UNIX) +SET(stim_generator_path "${CMAKE_CURRENT_BINARY_DIR}" CACHE INTERNAL "stim_generator_path") +else() +get_property(path_to_target TARGET openvibe-stimulation-generator PROPERTY LOCATION) +SET(stim_generator_path "${path_to_target}" CACHE INTERNAL "stim_generator_path") +endif() +# --------------------------------- +# Target macros +# Defines target operating system +# Defines target architecture +# Defines target compiler +# --------------------------------- +IF(WIN32) + ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) + ADD_DEFINITIONS(-DTARGET_OS_Windows) + ADD_DEFINITIONS(-DTARGET_ARCHITECTURE_i386) + ADD_DEFINITIONS(-DTARGET_COMPILER_VisualStudio) +ENDIF(WIN32) +IF(UNIX) + # ADD_DEFINITIONS(-fvisibility=hidden) # This flag should be present... man gcc + ADD_DEFINITIONS(-g) + ADD_DEFINITIONS(-fnon-call-exceptions) + ADD_DEFINITIONS(-DTARGET_OS_Linux) + ADD_DEFINITIONS(-DTARGET_ARCHITECTURE_i386) + ADD_DEFINITIONS(-DTARGET_COMPILER_GCC) +ENDIF(UNIX) diff --git a/build-tool/stimulation-generator/src/ovbt_sg_cpp_code_generator.cpp b/build-tool/stimulation-generator/src/ovbt_sg_cpp_code_generator.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a9692759a233e98c30b72a8ddcf0d0decfc67a9c --- /dev/null +++ b/build-tool/stimulation-generator/src/ovbt_sg_cpp_code_generator.cpp @@ -0,0 +1,45 @@ +#include "ovbt_sg_defines.h" +#include "ovbt_sg_file_generator_base.h" + +#include <fstream> + +using namespace std; + +bool CCppCodeGenerator::openFile(const char* sFilename) +{ + m_oFile.open(sFilename, ios::out | ios::trunc); + if(!m_oFile.is_open()) + return false; + m_oFile << "#include \"toolkit/ovtk_all.h\"" << endl << endl; + + + m_oFile << "using namespace OpenViBE;" << endl; + m_oFile << "using namespace OpenViBE::Kernel;" << endl; + m_oFile << "using namespace OpenViBEToolkit;" << endl << endl << endl; + + m_oFile << "boolean OpenViBEToolkit::initializeStimulationList(const IKernelContext& rKernelContext)" << endl; + m_oFile << "{" << endl; + m_oFile << "\tITypeManager& l_rTypeManager=rKernelContext.getTypeManager();" << endl << endl; + return true; +} + + +bool CCppCodeGenerator::appendStimulation(SStimulation &rStim) +{ + m_oFile << "\tl_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, \"" + << rStim.m_sName + << "\", " + << rStim.m_sId + << ");" + << endl; + return true; +} + + +bool CCppCodeGenerator::closeFile(void) +{ + m_oFile << endl << "\treturn true;" << endl; + m_oFile << "}" << endl; + m_oFile.close(); + return true; +} diff --git a/build-tool/stimulation-generator/src/ovbt_sg_cpp_define_generator.cpp b/build-tool/stimulation-generator/src/ovbt_sg_cpp_define_generator.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6d7d8c8ee16c86f159b11f89c88fcb35c8252509 --- /dev/null +++ b/build-tool/stimulation-generator/src/ovbt_sg_cpp_define_generator.cpp @@ -0,0 +1,32 @@ +#include "ovbt_sg_defines.h" +#include "ovbt_sg_file_generator_base.h" + +#include <fstream> + +using namespace std; + +bool CCppDefineGenerator::openFile(const char* sFilename) +{ + m_oFile.open(sFilename, ios::out | ios::trunc); + if(!m_oFile.is_open()) + return false; + m_oFile << "#ifndef __OpenViBEToolkit_Stimulations_Defines_H__" << endl; + m_oFile << "#define __OpenViBEToolkit_Stimulations_Defines_H__" << endl << endl; + + return true; +} + + +bool CCppDefineGenerator::appendStimulation(SStimulation &rStim) +{ + m_oFile << "#define " << rStim.m_sId << " " << rStim.m_sHexaCode << endl; + return true; +} + + +bool CCppDefineGenerator::closeFile(void) +{ + m_oFile << endl << "#endif // __OpenViBEToolkit_Stimulations_Defines_H__" << endl; + m_oFile.close(); + return true; +} diff --git a/build-tool/stimulation-generator/src/ovbt_sg_defines.h b/build-tool/stimulation-generator/src/ovbt_sg_defines.h new file mode 100644 index 0000000000000000000000000000000000000000..0d183af8a673716ad68fc1898588f1d1b37762c3 --- /dev/null +++ b/build-tool/stimulation-generator/src/ovbt_sg_defines.h @@ -0,0 +1,13 @@ +#ifndef DEFINES_H +#define DEFINES_H + + +#include <string> + +struct SStimulation{ + std::string m_sName; + std::string m_sId; + std::string m_sHexaCode; +}; + +#endif diff --git a/build-tool/stimulation-generator/src/ovbt_sg_file_generator_base.h b/build-tool/stimulation-generator/src/ovbt_sg_file_generator_base.h new file mode 100644 index 0000000000000000000000000000000000000000..009615c2e7f985ba3503d56006b4a9fa8a1df12b --- /dev/null +++ b/build-tool/stimulation-generator/src/ovbt_sg_file_generator_base.h @@ -0,0 +1,35 @@ +#include "ovbt_sg_defines.h" + +#include <fstream> + +class CFileGeneratorBase{ +public: + virtual bool openFile(const char* sFilename) =0; + virtual bool appendStimulation(SStimulation &rStim) =0; + virtual bool closeFile(void) =0; +protected: + std::ofstream m_oFile; +}; + + + +class CCppDefineGenerator: public CFileGeneratorBase{ +public: + virtual bool openFile(const char* sFilename); + virtual bool appendStimulation(SStimulation &rStim); + virtual bool closeFile(void); +}; + +class CCppCodeGenerator: public CFileGeneratorBase{ +public: + virtual bool openFile(const char* sFilename); + virtual bool appendStimulation(SStimulation &rStim); + virtual bool closeFile(void); +}; + +class CMatlabGenerator: public CFileGeneratorBase{ +public: + virtual bool openFile(const char* sFilename); + virtual bool appendStimulation(SStimulation &rStim); + virtual bool closeFile(void); +}; diff --git a/build-tool/stimulation-generator/src/ovbt_sg_main.cpp b/build-tool/stimulation-generator/src/ovbt_sg_main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1cd628111c00500c1780c9766bba833687508486 --- /dev/null +++ b/build-tool/stimulation-generator/src/ovbt_sg_main.cpp @@ -0,0 +1,118 @@ +#include <iostream> +#include <fstream> +#include <string> +#include <vector> + +#include "ovbt_sg_defines.h" +#include "ovbt_sg_file_generator_base.h" + +using namespace std; + +typedef enum{ + CPP, MATLAB, PYTHON, LUA, UNKNOWN +}generation_type; + + +generation_type parse_argument(string option) +{ + if(option == "--cpp"){ + return CPP; + } + else if(option == "--matlab"){ + return MATLAB; + } + else if(option == "--python"){ + return PYTHON; + } + else if(option == "--lua"){ + return LUA; + } + else{ + return UNKNOWN; + } +} + +int generate_generator_list(vector<CFileGeneratorBase*> & rList, generation_type rType, int argc, char** argv) +{ + switch(rType) + { + case CPP: + { + if(argc < 4){ + return -1; + } + CFileGeneratorBase* gen = new CCppDefineGenerator(); + if(!gen->openFile(argv[3])){ + cerr << "Unable to open " << argv[3] << endl; + return -1; + } + rList.push_back(gen); + + gen = new CCppCodeGenerator(); + if(!gen->openFile(argv[4])){ + cerr << "Unable to open " << argv[4] << endl; + return -1; + } + rList.push_back(gen); + return 0; + } + + case MATLAB: + { + CFileGeneratorBase* gen = new CMatlabGenerator(); + if(!gen->openFile(argv[3])){ + cerr << "Unable to open " << argv[3] << endl; + return -1; + } + rList.push_back(gen); + return 0; + } + case PYTHON: + case LUA: + case UNKNOWN: + default: + { + cerr << "Unhandle type. Fatal error" << endl; + return -1; + } + } +} + +int main (int argc, char** argv) +{ + if(argc < 3) + return -1; + generation_type l_eType = parse_argument(argv[1]); + + vector<SStimulation> l_oStimulationList; + vector<CFileGeneratorBase*> l_oGeneratorList; + + ifstream l_oStimulationFile(argv[2]); + string l_sName, l_sId, l_sHexaCode; + while(l_oStimulationFile >> l_sName >> l_sId >> l_sHexaCode) + { + SStimulation l_oTemp = {l_sName, l_sId, l_sHexaCode}; + l_oStimulationList.push_back(l_oTemp); + } + + if(generate_generator_list(l_oGeneratorList, l_eType, argc, argv)){ + return -1; + } + + //Now we generate all files that needs to be done + for(vector<SStimulation>::iterator it = l_oStimulationList.begin(); it != l_oStimulationList.end(); ++it) + { + SStimulation &l_oTemp = *it; + for(vector<CFileGeneratorBase*>::iterator it_gen = l_oGeneratorList.begin(); it_gen != l_oGeneratorList.end(); ++it_gen) + { + (*it_gen)->appendStimulation(l_oTemp); + } + } + + for(vector<CFileGeneratorBase*>::iterator it_gen = l_oGeneratorList.begin(); it_gen != l_oGeneratorList.end(); ++it_gen) + { + (*it_gen)->closeFile(); + } + + return 0; +} diff --git a/build-tool/stimulation-generator/src/ovbt_sg_matlab_generator.cpp b/build-tool/stimulation-generator/src/ovbt_sg_matlab_generator.cpp new file mode 100644 index 0000000000000000000000000000000000000000..16e991392248e73d76be8cee740e97415352f9b8 --- /dev/null +++ b/build-tool/stimulation-generator/src/ovbt_sg_matlab_generator.cpp @@ -0,0 +1,44 @@ +#include "ovbt_sg_defines.h" +#include "ovbt_sg_file_generator_base.h" + +#include <fstream> + +using namespace std; + + +string getBrutHexaCode(string l_oFormatedHexaCode) +{ + string res = l_oFormatedHexaCode; + res.erase(res.begin(), res.begin()+2); + return res; +} + +bool CMatlabGenerator::openFile(const char* sFilename) +{ + m_oFile.open(sFilename, ios::out | ios::trunc); + if(!m_oFile.is_open()) + return false; + m_oFile << "function OV_stimulations()" << endl << endl; + + m_oFile << "global OVTK_StimulationId_LabelStart;"<< endl; + m_oFile << "OVTK_StimulationId_LabelStart = uint64(hex2dec('00008100'));"<< endl << endl; + m_oFile << "global OVTK_StimulationId_LabelEnd;"<< endl; + m_oFile << "OVTK_StimulationId_LabelEnd = uint64(hex2dec('000081ff'));"<< endl << endl; + + return true; +} + +bool CMatlabGenerator::appendStimulation(SStimulation &rStim) +{ + m_oFile << "\tglobal " << rStim.m_sId << ";" << endl; + m_oFile << "\t" << rStim.m_sId << " = uint64(hex2dec('" << getBrutHexaCode(rStim.m_sHexaCode)<< "'));" << endl << endl; + return true; +} + + +bool CMatlabGenerator::closeFile(void) +{ + m_oFile << "end" << endl; + m_oFile.close(); + return true; +} diff --git a/plugins/processing/classification/src/algorithms/ovpCAlgorithmClassifierOneVsAll.cpp b/plugins/processing/classification/src/algorithms/ovpCAlgorithmClassifierOneVsAll.cpp index d5af02bc97b1c1495f9370a4d8db7b4ad9263683..3d4fb79cd9ec4a99764049a70f0d919ce04424ce 100644 --- a/plugins/processing/classification/src/algorithms/ovpCAlgorithmClassifierOneVsAll.cpp +++ b/plugins/processing/classification/src/algorithms/ovpCAlgorithmClassifierOneVsAll.cpp @@ -121,7 +121,7 @@ boolean CAlgorithmClassifierOneVsAll::classify(const IFeatureVector& rFeatureVec const uint32 l_ui32FeatureVectorSize=rFeatureVector.getSize(); - for(size_t l_iClassifierCounter = 0 ; l_iClassifierCounter < m_oSubClassifierList.size() ; ++l_iClassifierCounter ) + for(uint64 l_iClassifierCounter = 0 ; l_iClassifierCounter < m_oSubClassifierList.size() ; ++l_iClassifierCounter ) { IAlgorithmProxy* l_pSubClassifier = this->m_oSubClassifierList[l_iClassifierCounter]; TParameterHandler < IMatrix* > ip_pFeatureVector(l_pSubClassifier->getInputParameter(OVTK_Algorithm_Classifier_InputParameterId_FeatureVector)); @@ -148,7 +148,7 @@ boolean CAlgorithmClassifierOneVsAll::classify(const IFeatureVector& rFeatureVec { l_oClassificationVector.push_back(CClassifierOutput(static_cast<float64>(op_f64ClassificationStateClass), static_cast<IMatrix*>(op_pClassificationValues))); } - this->getLogManager() << LogLevel_Debug << static_cast<int64>(l_iClassifierCounter) << " " << (float64)op_f64ClassificationStateClass << " " << (*op_pProbabilityValues)[0] << " " << (*op_pProbabilityValues)[1] << "\n"; + this->getLogManager() << LogLevel_Debug << static_cast<int64>(l_iClassifierCounter) << " " << static_cast<float64>(op_f64ClassificationStateClass) << " " << static_cast<float64>(*op_pProbabilityValues)[0] << " " << static_cast<float64>(*op_pProbabilityValues)[1] << "\n"; } //Now, we determine the best classification diff --git a/plugins/processing/matlab/CMakeLists.txt b/plugins/processing/matlab/CMakeLists.txt index 03fd27113858ba63dd2c6ac1cefe72acf607b1b7..5eb283df6e2f57de637f448332e96210ae0f4319 100644 --- a/plugins/processing/matlab/CMakeLists.txt +++ b/plugins/processing/matlab/CMakeLists.txt @@ -5,8 +5,21 @@ SET(PROJECT_VERSION_MINOR ${OV_GLOBAL_VERSION_MINOR}) SET(PROJECT_VERSION_PATCH ${OV_GLOBAL_VERSION_PATCH}) SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) +add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/share/OV_stimulations.m + DEPENDS openvibe-stimulation-generator ${openvibe-toolkit_SOURCE_DIR}/share/stimulation_list.txt + COMMAND ${stim_generator_path}/openvibe-stimulation-generator + --matlab + ${openvibe-toolkit_SOURCE_DIR}/share/stimulation_list.txt + ${CMAKE_CURRENT_SOURCE_DIR}/share/OV_stimulations.m + COMMENT "Generating matlab stimulation sources..." ) + + add_custom_target(generate_matlab_stimulations_file DEPENDS share/OV_stimulations.m) + + FILE(GLOB_RECURSE source_files src/*.cpp src/*.h src/*.inl) ADD_LIBRARY(${PROJECT_NAME} SHARED ${source_files}) +add_dependencies(openvibe-plugins-matlab generate_matlab_stimulations_file) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} diff --git a/plugins/processing/matlab/share/OV_define.m b/plugins/processing/matlab/share/OV_define.m index 260e7602bf2504e4446a0de681463ee09409a2cd..5c934ed83296cd1e3ed1d1a596e8d7c2d8654c62 100644 --- a/plugins/processing/matlab/share/OV_define.m +++ b/plugins/processing/matlab/share/OV_define.m @@ -58,386 +58,13 @@ function OV_define() % STIM CODES: - global OVTK_StimulationId_ExperimentStart; - global OVTK_StimulationId_ExperimentStop; - global OVTK_StimulationId_SegmentStart; - global OVTK_StimulationId_SegmentStop; - global OVTK_StimulationId_TrialStart; - global OVTK_StimulationId_TrialStop; - global OVTK_StimulationId_BaselineStart; - global OVTK_StimulationId_BaselineStop; - global OVTK_StimulationId_RestStart; - global OVTK_StimulationId_RestStop; - global OVTK_StimulationId_VisualStimulationStart; - global OVTK_StimulationId_VisualStimulationStop; - global OVTK_StimulationId_VisualSteadyStateStimulationStart; - global OVTK_StimulationId_VisualSteadyStateStimulationStop; - - global OVTK_StimulationId_LabelStart; - global OVTK_StimulationId_Label_00; - global OVTK_StimulationId_Label_01; - global OVTK_StimulationId_Label_02; - global OVTK_StimulationId_Label_03; - global OVTK_StimulationId_Label_04; - global OVTK_StimulationId_Label_05; - global OVTK_StimulationId_Label_06; - global OVTK_StimulationId_Label_07; - global OVTK_StimulationId_Label_08; - global OVTK_StimulationId_Label_09; - global OVTK_StimulationId_Label_0A; - global OVTK_StimulationId_Label_0B; - global OVTK_StimulationId_Label_0C; - global OVTK_StimulationId_Label_0D; - global OVTK_StimulationId_Label_0E; - global OVTK_StimulationId_Label_0F; - global OVTK_StimulationId_Label_10; - global OVTK_StimulationId_Label_11; - global OVTK_StimulationId_Label_12; - global OVTK_StimulationId_Label_13; - global OVTK_StimulationId_Label_14; - global OVTK_StimulationId_Label_15; - global OVTK_StimulationId_Label_16; - global OVTK_StimulationId_Label_17; - global OVTK_StimulationId_Label_18; - global OVTK_StimulationId_Label_19; - global OVTK_StimulationId_Label_1A; - global OVTK_StimulationId_Label_1B; - global OVTK_StimulationId_Label_1C; - global OVTK_StimulationId_Label_1D; - global OVTK_StimulationId_Label_1E; - global OVTK_StimulationId_Label_1F; - global OVTK_StimulationId_LabelEnd; - - global OVTK_StimulationId_Train; - global OVTK_StimulationId_Beep; - global OVTK_StimulationId_DoubleBeep; - global OVTK_StimulationId_EndOfFile; - global OVTK_StimulationId_Target; - global OVTK_StimulationId_NonTarget; - global OVTK_StimulationId_TrainCompleted; - global OVTK_StimulationId_Reset; - - % -- ___________________________________________________________________ -- - % -- -- - % -- GDF file format stimulation identifiers -- - % -- ___________________________________________________________________ -- - % -- -- - - global OVTK_GDF_Artifact_EOG_Large; - global OVTK_GDF_Artifact_ECG; - global OVTK_GDF_Artifact_EMG; - global OVTK_GDF_Artifact_Movement; - global OVTK_GDF_Artifact_Failing_Electrode; - global OVTK_GDF_Artifact_Sweat; - global OVTK_GDF_Artifact_50_60_Hz_Interference; - global OVTK_GDF_Artifact_Breathing; - global OVTK_GDF_Artifact_Pulse; - global OVTK_GDF_Artifact_EOG_Small; - - global OVTK_GDF_Calibration; - - global OVTK_GDF_EEG_Sleep_Splindles; - global OVTK_GDF_EEG_K_Complexes; - global OVTK_GDF_EEG_Saw_Tooth_Waves; - global OVTK_GDF_EEG_Idling_EEG_Eyes_Open; - global OVTK_GDF_EEG_Idling_EEG_Eyes_Closed; - global OVTK_GDF_EEG_Spike; - global OVTK_GDF_EEG_Seizure; - - global OVTK_GDF_VEP; - global OVTK_GDF_AEP; - global OVTK_GDF_SEP; - global OVTK_GDF_TMS; - - global OVTK_GDF_SSVEP; - global OVTK_GDF_SSAEP; - global OVTK_GDF_SSSEP; - - global OVTK_GDF_Start_Of_Trial; - global OVTK_GDF_Left; - global OVTK_GDF_Right; - global OVTK_GDF_Foot; - global OVTK_GDF_Tongue; - global OVTK_GDF_class5; - global OVTK_GDF_Down; - global OVTK_GDF_class7; - global OVTK_GDF_class8; - global OVTK_GDF_class9; - global OVTK_GDF_class10; - global OVTK_GDF_class11; - global OVTK_GDF_Up; - global OVTK_GDF_Feedback_Continuous; - global OVTK_GDF_Feedback_Discrete; - global OVTK_GDF_Cue_Unknown_Undefined; - global OVTK_GDF_Beep; - global OVTK_GDF_Cross_On_Screen; - global OVTK_GDF_Flashing_Light; - % -- SPECIALY ADDED BY YR - global OVTK_GDF_End_Of_Trial; - - global OVTK_GDF_Correct; - global OVTK_GDF_Incorrect; - % -- SPECIALY ADDED BY YR - global OVTK_GDF_End_Of_Session; - global OVTK_GDF_Rejection; - - global OVTK_GDF_OAHE; - global OVTK_GDF_RERA; - global OVTK_GDF_CAHE; - global OVTK_GDF_CSB; - global OVTK_GDF_Sleep_Hypoventilation; - global OVTK_GDF_Maximum_Inspiration; - global OVTK_GDF_Start_Of_Inspiration; - - global OVTK_GDF_Wake; - global OVTK_GDF_Stage_1; - global OVTK_GDF_Stage_2; - global OVTK_GDF_Stage_3; - global OVTK_GDF_Stage_4; - global OVTK_GDF_REM; - - global OVTK_GDF_Lights_On; - global OVTK_GDF_Lights_Off; - - global OVTK_GDF_Eyes_Left; - global OVTK_GDF_Eyes_Right; - global OVTK_GDF_Eyes_Up; - global OVTK_GDF_Eyes_Down; - global OVTK_GDF_Horizontal_Eye_Movement; - global OVTK_GDF_Vertical_Eye_Movement; - global OVTK_GDF_Rotation_Clockwise; - global OVTK_GDF_Rotation_Counterclockwise; - global OVTK_GDF_Eye_Blink; - - global OVTK_GDF_Left_Hand_Movement; - global OVTK_GDF_Right_Hand_Movement; - global OVTK_GDF_Head_Movement; - global OVTK_GDF_Tongue_Movement; - global OVTK_GDF_Swallowing; - global OVTK_GDF_Biting; - global OVTK_GDF_Foot_Movement; - global OVTK_GDF_Foot_Right_Movement; - global OVTK_GDF_Arm_Movement; - global OVTK_GDF_Arm_Right_Movement; - - global OVTK_GDF_ECG_Fiducial_Point_QRS_Complex; - global OVTK_GDF_ECG_P_Wave; - global OVTK_GDF_ECG_QRS_Complex; - global OVTK_GDF_ECG_R_Point; - global OVTK_GDF_ECG_T_Wave; - global OVTK_GDF_ECG_U_Wave; - - global OVTK_GDF_Start; - global OVTK_GDF_25_Watt; - global OVTK_GDF_50_Watt; - global OVTK_GDF_75_Watt; - global OVTK_GDF_100_Watt; - global OVTK_GDF_125_Watt; - global OVTK_GDF_150_Watt; - global OVTK_GDF_175_Watt; - global OVTK_GDF_200_Watt; - global OVTK_GDF_225_Watt; - global OVTK_GDF_250_Watt; - global OVTK_GDF_275_Watt; - global OVTK_GDF_300_Watt; - global OVTK_GDF_325_Watt; - global OVTK_GDF_350_Watt; - - global OVTK_GDF_Start_Of_New_Segment; - global OVTK_GDF_Non_Equidistant_Sampling_Value; - - % -- ___________________________________________________________________ -- - % -- -- - % -- OpenViBE toolkit stimulation identifiers -- - % -- ___________________________________________________________________ -- - % -- -- - - OVTK_StimulationId_ExperimentStart = uint64(hex2dec('00008001')); - OVTK_StimulationId_ExperimentStop = uint64(hex2dec('00008002')); - OVTK_StimulationId_SegmentStart = uint64(hex2dec('00008003')); - OVTK_StimulationId_SegmentStop = uint64(hex2dec('00008004')); - OVTK_StimulationId_TrialStart = uint64(hex2dec('00008005')); - OVTK_StimulationId_TrialStop = uint64(hex2dec('00008006')); - OVTK_StimulationId_BaselineStart = uint64(hex2dec('00008007')); - OVTK_StimulationId_BaselineStop = uint64(hex2dec('00008008')); - OVTK_StimulationId_RestStart = uint64(hex2dec('00008009')); - OVTK_StimulationId_RestStop = uint64(hex2dec('0000800a')); - OVTK_StimulationId_VisualStimulationStart = uint64(hex2dec('0000800b')); - OVTK_StimulationId_VisualStimulationStop = uint64(hex2dec('0000800c')); - OVTK_StimulationId_VisualSteadyStateStimulationStart = uint64(hex2dec('00008010')); - OVTK_StimulationId_VisualSteadyStateStimulationStop = uint64(hex2dec('00008011')); - - OVTK_StimulationId_LabelStart = uint64(hex2dec('00008100')); - OVTK_StimulationId_Label_00 = uint64(hex2dec('00008100')); - OVTK_StimulationId_Label_01 = uint64(hex2dec('00008101')); - OVTK_StimulationId_Label_02 = uint64(hex2dec('00008102')); - OVTK_StimulationId_Label_03 = uint64(hex2dec('00008103')); - OVTK_StimulationId_Label_04 = uint64(hex2dec('00008104')); - OVTK_StimulationId_Label_05 = uint64(hex2dec('00008105')); - OVTK_StimulationId_Label_06 = uint64(hex2dec('00008106')); - OVTK_StimulationId_Label_07 = uint64(hex2dec('00008107')); - OVTK_StimulationId_Label_08 = uint64(hex2dec('00008108')); - OVTK_StimulationId_Label_09 = uint64(hex2dec('00008109')); - OVTK_StimulationId_Label_0A = uint64(hex2dec('0000810a')); - OVTK_StimulationId_Label_0B = uint64(hex2dec('0000810b')); - OVTK_StimulationId_Label_0C = uint64(hex2dec('0000810c')); - OVTK_StimulationId_Label_0D = uint64(hex2dec('0000810d')); - OVTK_StimulationId_Label_0E = uint64(hex2dec('0000810e')); - OVTK_StimulationId_Label_0F = uint64(hex2dec('0000810f')); - OVTK_StimulationId_Label_10 = uint64(hex2dec('00008110')); - OVTK_StimulationId_Label_11 = uint64(hex2dec('00008111')); - OVTK_StimulationId_Label_12 = uint64(hex2dec('00008112')); - OVTK_StimulationId_Label_13 = uint64(hex2dec('00008113')); - OVTK_StimulationId_Label_14 = uint64(hex2dec('00008114')); - OVTK_StimulationId_Label_15 = uint64(hex2dec('00008115')); - OVTK_StimulationId_Label_16 = uint64(hex2dec('00008116')); - OVTK_StimulationId_Label_17 = uint64(hex2dec('00008117')); - OVTK_StimulationId_Label_18 = uint64(hex2dec('00008118')); - OVTK_StimulationId_Label_19 = uint64(hex2dec('00008119')); - OVTK_StimulationId_Label_1A = uint64(hex2dec('0000811a')); - OVTK_StimulationId_Label_1B = uint64(hex2dec('0000811b')); - OVTK_StimulationId_Label_1C = uint64(hex2dec('0000811c')); - OVTK_StimulationId_Label_1D = uint64(hex2dec('0000811d')); - OVTK_StimulationId_Label_1E = uint64(hex2dec('0000811e')); - OVTK_StimulationId_Label_1F = uint64(hex2dec('0000811f')); - OVTK_StimulationId_LabelEnd = uint64(hex2dec('000081ff')); - - OVTK_StimulationId_Train = uint64(hex2dec('00008201')); - OVTK_StimulationId_Beep = uint64(hex2dec('00008202')); - OVTK_StimulationId_DoubleBeep = uint64(hex2dec('00008203')); - OVTK_StimulationId_EndOfFile = uint64(hex2dec('00008204')); - OVTK_StimulationId_Target = uint64(hex2dec('00008205')); - OVTK_StimulationId_NonTarget = uint64(hex2dec('00008206')); - OVTK_StimulationId_TrainCompleted = uint64(hex2dec('00008207')); - OVTK_StimulationId_Reset = uint64(hex2dec('00008208')); - - % -- ___________________________________________________________________ -- - % -- -- - % -- GDF file format stimulation identifiers -- - % -- ___________________________________________________________________ -- - % -- -- - - OVTK_GDF_Artifact_EOG_Large = uint64(hex2dec('101')); - OVTK_GDF_Artifact_ECG = uint64(hex2dec('102')); - OVTK_GDF_Artifact_EMG = uint64(hex2dec('103')); - OVTK_GDF_Artifact_Movement = uint64(hex2dec('104')); - OVTK_GDF_Artifact_Failing_Electrode = uint64(hex2dec('105')); - OVTK_GDF_Artifact_Sweat = uint64(hex2dec('106')); - OVTK_GDF_Artifact_50_60_Hz_Interference = uint64(hex2dec('107')); - OVTK_GDF_Artifact_Breathing = uint64(hex2dec('108')); - OVTK_GDF_Artifact_Pulse = uint64(hex2dec('109')); - OVTK_GDF_Artifact_EOG_Small = uint64(hex2dec('10A')); - - OVTK_GDF_Calibration = uint64(hex2dec('10F')); - - OVTK_GDF_EEG_Sleep_Splindles = uint64(hex2dec('111')); - OVTK_GDF_EEG_K_Complexes = uint64(hex2dec('112')); - OVTK_GDF_EEG_Saw_Tooth_Waves = uint64(hex2dec('113')); - OVTK_GDF_EEG_Idling_EEG_Eyes_Open = uint64(hex2dec('114')); - OVTK_GDF_EEG_Idling_EEG_Eyes_Closed = uint64(hex2dec('115')); - OVTK_GDF_EEG_Spike = uint64(hex2dec('116')); - OVTK_GDF_EEG_Seizure = uint64(hex2dec('117')); - - OVTK_GDF_VEP = uint64(hex2dec('121')); - OVTK_GDF_AEP = uint64(hex2dec('122')); - OVTK_GDF_SEP = uint64(hex2dec('123')); - OVTK_GDF_TMS = uint64(hex2dec('12F')); - - OVTK_GDF_SSVEP = uint64(hex2dec('131')); - OVTK_GDF_SSAEP = uint64(hex2dec('132')); - OVTK_GDF_SSSEP = uint64(hex2dec('133')); - - OVTK_GDF_Start_Of_Trial = uint64(hex2dec('300')); - OVTK_GDF_Left = uint64(hex2dec('301')); - OVTK_GDF_Right = uint64(hex2dec('302')); - OVTK_GDF_Foot = uint64(hex2dec('303')); - OVTK_GDF_Tongue = uint64(hex2dec('304')); - OVTK_GDF_class5 = uint64(hex2dec('305')); - OVTK_GDF_Down = uint64(hex2dec('306')); - OVTK_GDF_class7 = uint64(hex2dec('307')); - OVTK_GDF_class8 = uint64(hex2dec('308')); - OVTK_GDF_class9 = uint64(hex2dec('309')); - OVTK_GDF_class10 = uint64(hex2dec('30A')); - OVTK_GDF_class11 = uint64(hex2dec('30B')); - OVTK_GDF_Up = uint64(hex2dec('30C')); - OVTK_GDF_Feedback_Continuous = uint64(hex2dec('30D')); - OVTK_GDF_Feedback_Discrete = uint64(hex2dec('30E')); - OVTK_GDF_Cue_Unknown_Undefined = uint64(hex2dec('30F')); - OVTK_GDF_Beep = uint64(hex2dec('311')); - OVTK_GDF_Cross_On_Screen = uint64(hex2dec('312')); - OVTK_GDF_Flashing_Light = uint64(hex2dec('313')); - % -- SPECIALY ADDED BY YR - OVTK_GDF_End_Of_Trial = uint64(hex2dec('320')); - - OVTK_GDF_Correct = uint64(hex2dec('381')); - OVTK_GDF_Incorrect = uint64(hex2dec('382')); - % -- SPECIALY ADDED BY YR - OVTK_GDF_End_Of_Session = uint64(hex2dec('3F2')); - OVTK_GDF_Rejection = uint64(hex2dec('3FF')); - - OVTK_GDF_OAHE = uint64(hex2dec('401')); - OVTK_GDF_RERA = uint64(hex2dec('402')); - OVTK_GDF_CAHE = uint64(hex2dec('403')); - OVTK_GDF_CSB = uint64(hex2dec('404')); - OVTK_GDF_Sleep_Hypoventilation = uint64(hex2dec('405')); - OVTK_GDF_Maximum_Inspiration = uint64(hex2dec('40E')); - OVTK_GDF_Start_Of_Inspiration = uint64(hex2dec('40F')); - - OVTK_GDF_Wake = uint64(hex2dec('410')); - OVTK_GDF_Stage_1 = uint64(hex2dec('411')); - OVTK_GDF_Stage_2 = uint64(hex2dec('412')); - OVTK_GDF_Stage_3 = uint64(hex2dec('413')); - OVTK_GDF_Stage_4 = uint64(hex2dec('414')); - OVTK_GDF_REM = uint64(hex2dec('415')); - - OVTK_GDF_Lights_On = uint64(hex2dec('420')); - OVTK_GDF_Lights_Off = uint64(hex2dec('8420')); - - OVTK_GDF_Eyes_Left = uint64(hex2dec('431')); - OVTK_GDF_Eyes_Right = uint64(hex2dec('432')); - OVTK_GDF_Eyes_Up = uint64(hex2dec('433')); - OVTK_GDF_Eyes_Down = uint64(hex2dec('434')); - OVTK_GDF_Horizontal_Eye_Movement = uint64(hex2dec('435')); - OVTK_GDF_Vertical_Eye_Movement = uint64(hex2dec('436')); - OVTK_GDF_Rotation_Clockwise = uint64(hex2dec('437')); - OVTK_GDF_Rotation_Counterclockwise = uint64(hex2dec('438')); - OVTK_GDF_Eye_Blink = uint64(hex2dec('439')); - - OVTK_GDF_Left_Hand_Movement = uint64(hex2dec('441')); - OVTK_GDF_Right_Hand_Movement = uint64(hex2dec('442')); - OVTK_GDF_Head_Movement = uint64(hex2dec('443')); - OVTK_GDF_Tongue_Movement = uint64(hex2dec('444')); - OVTK_GDF_Swallowing = uint64(hex2dec('445')); - OVTK_GDF_Biting = uint64(hex2dec('446')); - OVTK_GDF_Foot_Movement = uint64(hex2dec('447')); - OVTK_GDF_Foot_Right_Movement = uint64(hex2dec('448')); - OVTK_GDF_Arm_Movement = uint64(hex2dec('449')); - OVTK_GDF_Arm_Right_Movement = uint64(hex2dec('44A')); - - OVTK_GDF_ECG_Fiducial_Point_QRS_Complex = uint64(hex2dec('501')); - OVTK_GDF_ECG_P_Wave = uint64(hex2dec('502')); - OVTK_GDF_ECG_QRS_Complex = uint64(hex2dec('503')); - OVTK_GDF_ECG_R_Point = uint64(hex2dec('504')); - OVTK_GDF_ECG_T_Wave = uint64(hex2dec('506')); - OVTK_GDF_ECG_U_Wave = uint64(hex2dec('507')); - - OVTK_GDF_Start = uint64(hex2dec('580')); - OVTK_GDF_25_Watt = uint64(hex2dec('581')); - OVTK_GDF_50_Watt = uint64(hex2dec('582')); - OVTK_GDF_75_Watt = uint64(hex2dec('583')); - OVTK_GDF_100_Watt = uint64(hex2dec('584')); - OVTK_GDF_125_Watt = uint64(hex2dec('585')); - OVTK_GDF_150_Watt = uint64(hex2dec('586')); - OVTK_GDF_175_Watt = uint64(hex2dec('587')); - OVTK_GDF_200_Watt = uint64(hex2dec('588')); - OVTK_GDF_225_Watt = uint64(hex2dec('589')); - OVTK_GDF_250_Watt = uint64(hex2dec('58A')); - OVTK_GDF_275_Watt = uint64(hex2dec('58B')); - OVTK_GDF_300_Watt = uint64(hex2dec('58C')); - OVTK_GDF_325_Watt = uint64(hex2dec('58D')); - OVTK_GDF_350_Watt = uint64(hex2dec('58E')); - - OVTK_GDF_Start_Of_New_Segment = uint64(hex2dec('7FFE')); - OVTK_GDF_Non_Equidistant_Sampling_Value = uint64(hex2dec('7FFF')); - + global OVTK_StimulationId_LabelStart; + OVTK_StimulationId_LabelStart = uint64(hex2dec('00008100')); + global OVTK_StimulationId_LabelEnd; + OVTK_StimulationId_LabelEnd = uint64(hex2dec('000081ff')); + + global OVTK_StimulationId_NumberStart; + OVTK_StimulationId_NumberStart = uint64(hex2dec('00000000')); + global OVTK_StimulationId_NumberEnd; + OVTK_StimulationId_NumberEnd = uint64(hex2dec('000000ff')); end diff --git a/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp b/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp index 631ba39e81f7c5053c1dd2b73304f9a89e0ff5b3..f538e09a05065839e45f4b996b56119165c1187f 100644 --- a/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp +++ b/plugins/processing/matlab/src/box-algorithms/ovpCBoxAlgorithmMatlabScripting.cpp @@ -313,6 +313,9 @@ boolean CBoxAlgorithmMatlabScripting::initialize(void) // executes the pre-run routine that defines the global identifiers for streams and stimulations codes l_sCommand = CString("run '") + OpenViBE::Directories::getDataDir() + "/plugins/matlab/OV_define.m'"; if(!checkFailureRoutine(::engEvalString(m_pMatlabEngine, l_sCommand) == 0, "An error occurred while calling OV_define.m")) return false; + + l_sCommand = CString("run '") + OpenViBE::Directories::getDataDir() + "/plugins/matlab/OV_stimulations.m'"; + if(!checkFailureRoutine(::engEvalString(m_pMatlabEngine, l_sCommand) == 0, "An error occurred while calling OV_stimulations.m")) return false; // executes the pre-run routine that construct the ov_box object char l_sInputCount[32]; sprintf(l_sInputCount, "%i", this->getStaticBoxContext().getInputCount()); diff --git a/toolkit/CMakeLists.txt b/toolkit/CMakeLists.txt index 1714f25ea543d22273c437e83aa930aef1b2e96e..fe2e0340dd905820c6bba2faf62e1ff0c949dcfa 100644 --- a/toolkit/CMakeLists.txt +++ b/toolkit/CMakeLists.txt @@ -6,6 +6,19 @@ SET(PROJECT_VERSION_MINOR ${OV_GLOBAL_VERSION_MINOR}) SET(PROJECT_VERSION_PATCH ${OV_GLOBAL_VERSION_PATCH}) SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) + +#We need to generate the stimulation files +add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include/toolkit/ovtk_stimulations.h ${CMAKE_CURRENT_SOURCE_DIR}/src/ovtk_stimulations.cpp + DEPENDS openvibe-stimulation-generator ${CMAKE_CURRENT_SOURCE_DIR}/share/stimulation_list.txt + COMMAND ${stim_generator_path}/openvibe-stimulation-generator + --cpp + ${CMAKE_CURRENT_SOURCE_DIR}/share/stimulation_list.txt + ${CMAKE_CURRENT_SOURCE_DIR}/include/toolkit/ovtk_stimulations.h + ${CMAKE_CURRENT_SOURCE_DIR}/src/ovtk_stimulations.cpp + COMMENT "Generating stimulation sources..." ) + +add_custom_target(generate_stimulations_file DEPENDS include/toolkit/ovtk_stimulations.h src/ovtk_stimulations.cpp) + FILE(GLOB_RECURSE source_files src/*.cpp src/*.h src/*.inl src/*.hpp include/*.h) INCLUDE_DIRECTORIES(${openvibe-toolkit_SOURCE_DIR}/include/) @@ -16,7 +29,9 @@ INCLUDE_DIRECTORIES(${openvibe-toolkit_SOURCE_DIR}/include/toolkit/deprecated/re INCLUDE_DIRECTORIES(${openvibe-toolkit_SOURCE_DIR}/include/toolkit/training) INCLUDE_DIRECTORIES(${openvibe-toolkit_SOURCE_DIR}/include/toolkit/tools) -ADD_LIBRARY(${PROJECT_NAME} SHARED ${source_files}) +ADD_LIBRARY(${PROJECT_NAME} SHARED ${source_files} ${CMAKE_CURRENT_SOURCE_DIR}/src/ovtk_stimulations.cpp) +add_dependencies(openvibe-toolkit generate_stimulations_file) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} diff --git a/toolkit/include/toolkit/ovtk_all.h b/toolkit/include/toolkit/ovtk_all.h index 3b733b2937199645f30e622f8c84e04a0fb1530a..48c4dcd86fbbb7691fc8ccd11592a1549db62b96 100644 --- a/toolkit/include/toolkit/ovtk_all.h +++ b/toolkit/include/toolkit/ovtk_all.h @@ -87,10 +87,14 @@ //___________________________________________________________________// // // + namespace OpenViBEToolkit { OV_API OpenViBE::boolean initialize(const OpenViBE::Kernel::IKernelContext& rKernelContext); OV_API OpenViBE::boolean uninitialize(const OpenViBE::Kernel::IKernelContext& rKernelContext); + + // + OpenViBE::boolean initializeStimulationList(const OpenViBE::Kernel::IKernelContext& rKernelContext); }; #endif // __OpenViBEToolkit_All_H__ diff --git a/toolkit/include/toolkit/ovtk_defines.h b/toolkit/include/toolkit/ovtk_defines.h index c4a0ec9ee22d133478838104877908874df30d24..0e218f2774533a8309cd28ba15f044939f20d5e6 100644 --- a/toolkit/include/toolkit/ovtk_defines.h +++ b/toolkit/include/toolkit/ovtk_defines.h @@ -1,6 +1,8 @@ #ifndef __OpenViBEToolkit_Defines_H__ #define __OpenViBEToolkit_Defines_H__ +#include "ovtk_stimulations.h" + //___________________________________________________________________// // // // OpenViBE toolkit input and output type identifiers // @@ -60,241 +62,17 @@ //___________________________________________________________________// // // -#define OVTK_StimulationId_ExperimentStart 0x00008001 -#define OVTK_StimulationId_ExperimentStop 0x00008002 -#define OVTK_StimulationId_SegmentStart 0x00008003 -#define OVTK_StimulationId_SegmentStop 0x00008004 -#define OVTK_StimulationId_TrialStart 0x00008005 -#define OVTK_StimulationId_TrialStop 0x00008006 -#define OVTK_StimulationId_BaselineStart 0x00008007 -#define OVTK_StimulationId_BaselineStop 0x00008008 -#define OVTK_StimulationId_RestStart 0x00008009 -#define OVTK_StimulationId_RestStop 0x0000800a -#define OVTK_StimulationId_VisualStimulationStart 0x0000800b -#define OVTK_StimulationId_VisualStimulationStop 0x0000800c -#define OVTK_StimulationId_VisualSteadyStateStimulationStart 0x00008010 -#define OVTK_StimulationId_VisualSteadyStateStimulationStop 0x00008011 -#define OVTK_StimulationId_Button1_Pressed 0x00008012 -#define OVTK_StimulationId_Button1_Released 0x00008013 -#define OVTK_StimulationId_Button2_Pressed 0x00008014 -#define OVTK_StimulationId_Button2_Released 0x00008015 -#define OVTK_StimulationId_Button3_Pressed 0x00008016 -#define OVTK_StimulationId_Button3_Released 0x00008017 -#define OVTK_StimulationId_Button4_Pressed 0x00008018 -#define OVTK_StimulationId_Button4_Released 0x00008019 - #define OVTK_StimulationId_Label(i) 0x00008100|((i)&0xff) #define OVTK_StimulationId_LabelStart 0x00008100 -#define OVTK_StimulationId_Label_00 0x00008100 -#define OVTK_StimulationId_Label_01 0x00008101 -#define OVTK_StimulationId_Label_02 0x00008102 -#define OVTK_StimulationId_Label_03 0x00008103 -#define OVTK_StimulationId_Label_04 0x00008104 -#define OVTK_StimulationId_Label_05 0x00008105 -#define OVTK_StimulationId_Label_06 0x00008106 -#define OVTK_StimulationId_Label_07 0x00008107 -#define OVTK_StimulationId_Label_08 0x00008108 -#define OVTK_StimulationId_Label_09 0x00008109 -#define OVTK_StimulationId_Label_0A 0x0000810a -#define OVTK_StimulationId_Label_0B 0x0000810b -#define OVTK_StimulationId_Label_0C 0x0000810c -#define OVTK_StimulationId_Label_0D 0x0000810d -#define OVTK_StimulationId_Label_0E 0x0000810e -#define OVTK_StimulationId_Label_0F 0x0000810f -#define OVTK_StimulationId_Label_10 0x00008110 -#define OVTK_StimulationId_Label_11 0x00008111 -#define OVTK_StimulationId_Label_12 0x00008112 -#define OVTK_StimulationId_Label_13 0x00008113 -#define OVTK_StimulationId_Label_14 0x00008114 -#define OVTK_StimulationId_Label_15 0x00008115 -#define OVTK_StimulationId_Label_16 0x00008116 -#define OVTK_StimulationId_Label_17 0x00008117 -#define OVTK_StimulationId_Label_18 0x00008118 -#define OVTK_StimulationId_Label_19 0x00008119 -#define OVTK_StimulationId_Label_1A 0x0000811a -#define OVTK_StimulationId_Label_1B 0x0000811b -#define OVTK_StimulationId_Label_1C 0x0000811c -#define OVTK_StimulationId_Label_1D 0x0000811d -#define OVTK_StimulationId_Label_1E 0x0000811e -#define OVTK_StimulationId_Label_1F 0x0000811f #define OVTK_StimulationId_LabelEnd 0x000081ff -#define OVTK_StimulationId_Train 0x00008201 -#define OVTK_StimulationId_Beep 0x00008202 -#define OVTK_StimulationId_DoubleBeep 0x00008203 -#define OVTK_StimulationId_EndOfFile 0x00008204 -#define OVTK_StimulationId_Target 0x00008205 -#define OVTK_StimulationId_NonTarget 0x00008206 -#define OVTK_StimulationId_TrainCompleted 0x00008207 -#define OVTK_StimulationId_Reset 0x00008208 - // These are low-order stimulations that may be required for some legacy communication // channels like parallel port handling only 1 byte codes. The name and number of these stimuli exactly matches. #define OVTK_StimulationId_NumberStart 0x00000000 -#define OVTK_StimulationId_Number_00 0x00000000 -#define OVTK_StimulationId_Number_01 0x00000001 -#define OVTK_StimulationId_Number_02 0x00000002 -#define OVTK_StimulationId_Number_03 0x00000003 -#define OVTK_StimulationId_Number_04 0x00000004 -#define OVTK_StimulationId_Number_05 0x00000005 -#define OVTK_StimulationId_Number_06 0x00000006 -#define OVTK_StimulationId_Number_07 0x00000007 -#define OVTK_StimulationId_Number_08 0x00000008 -#define OVTK_StimulationId_Number_09 0x00000009 -#define OVTK_StimulationId_Number_0A 0x0000000a -#define OVTK_StimulationId_Number_0B 0x0000000b -#define OVTK_StimulationId_Number_0C 0x0000000c -#define OVTK_StimulationId_Number_0D 0x0000000d -#define OVTK_StimulationId_Number_0E 0x0000000e -#define OVTK_StimulationId_Number_0F 0x0000000f -#define OVTK_StimulationId_Number_10 0x00000010 -#define OVTK_StimulationId_Number_11 0x00000011 -#define OVTK_StimulationId_Number_12 0x00000012 -#define OVTK_StimulationId_Number_13 0x00000013 -#define OVTK_StimulationId_Number_14 0x00000014 -#define OVTK_StimulationId_Number_15 0x00000015 -#define OVTK_StimulationId_Number_16 0x00000016 -#define OVTK_StimulationId_Number_17 0x00000017 -#define OVTK_StimulationId_Number_18 0x00000018 -#define OVTK_StimulationId_Number_19 0x00000019 -#define OVTK_StimulationId_Number_1A 0x0000001a -#define OVTK_StimulationId_Number_1B 0x0000001b -#define OVTK_StimulationId_Number_1C 0x0000001c -#define OVTK_StimulationId_Number_1D 0x0000001d -#define OVTK_StimulationId_Number_1E 0x0000001e -#define OVTK_StimulationId_Number_1F 0x0000001f #define OVTK_StimulationId_NumberEnd 0x000000ff -//___________________________________________________________________// -// // -// GDF file format stimulation identifiers // -//___________________________________________________________________// -// // - -#define OVTK_GDF_Artifact_EOG_Large 0x101 -#define OVTK_GDF_Artifact_ECG 0x102 -#define OVTK_GDF_Artifact_EMG 0x103 -#define OVTK_GDF_Artifact_Movement 0x104 -#define OVTK_GDF_Artifact_Failing_Electrode 0x105 -#define OVTK_GDF_Artifact_Sweat 0x106 -#define OVTK_GDF_Artifact_50_60_Hz_Interference 0x107 -#define OVTK_GDF_Artifact_Breathing 0x108 -#define OVTK_GDF_Artifact_Pulse 0x109 -#define OVTK_GDF_Artifact_EOG_Small 0x10A - -#define OVTK_GDF_Calibration 0x10F - -#define OVTK_GDF_EEG_Sleep_Splindles 0x111 -#define OVTK_GDF_EEG_K_Complexes 0x112 -#define OVTK_GDF_EEG_Saw_Tooth_Waves 0x113 -#define OVTK_GDF_EEG_Idling_EEG_Eyes_Open 0x114 -#define OVTK_GDF_EEG_Idling_EEG_Eyes_Closed 0x115 -#define OVTK_GDF_EEG_Spike 0x116 -#define OVTK_GDF_EEG_Seizure 0x117 - -#define OVTK_GDF_VEP 0x121 -#define OVTK_GDF_AEP 0x122 -#define OVTK_GDF_SEP 0x123 -#define OVTK_GDF_TMS 0x12F - -#define OVTK_GDF_SSVEP 0x131 -#define OVTK_GDF_SSAEP 0x132 -#define OVTK_GDF_SSSEP 0x133 - -#define OVTK_GDF_Start_Of_Trial 0x300 -#define OVTK_GDF_Left 0x301 -#define OVTK_GDF_Right 0x302 -#define OVTK_GDF_Foot 0x303 -#define OVTK_GDF_Tongue 0x304 -#define OVTK_GDF_class5 0x305 -#define OVTK_GDF_Down 0x306 -#define OVTK_GDF_class7 0x307 -#define OVTK_GDF_class8 0x308 -#define OVTK_GDF_class9 0x309 -#define OVTK_GDF_class10 0x30A -#define OVTK_GDF_class11 0x30B -#define OVTK_GDF_Up 0x30C -#define OVTK_GDF_Feedback_Continuous 0x30D -#define OVTK_GDF_Feedback_Discrete 0x30E -#define OVTK_GDF_Cue_Unknown_Undefined 0x30F -#define OVTK_GDF_Beep 0x311 -#define OVTK_GDF_Cross_On_Screen 0x312 -#define OVTK_GDF_Flashing_Light 0x313 -// SPECIALY ADDED BY YR -#define OVTK_GDF_End_Of_Trial 0x320 - -#define OVTK_GDF_Correct 0x381 -#define OVTK_GDF_Incorrect 0x382 -// SPECIALY ADDED BY YR -#define OVTK_GDF_End_Of_Session 0x3F2 -#define OVTK_GDF_Rejection 0x3FF - -#define OVTK_GDF_OAHE 0x401 -#define OVTK_GDF_RERA 0x402 -#define OVTK_GDF_CAHE 0x403 -#define OVTK_GDF_CSB 0x404 -#define OVTK_GDF_Sleep_Hypoventilation 0x405 -#define OVTK_GDF_Maximum_Inspiration 0x40E -#define OVTK_GDF_Start_Of_Inspiration 0x40F - -#define OVTK_GDF_Wake 0x410 -#define OVTK_GDF_Stage_1 0x411 -#define OVTK_GDF_Stage_2 0x412 -#define OVTK_GDF_Stage_3 0x413 -#define OVTK_GDF_Stage_4 0x414 -#define OVTK_GDF_REM 0x415 - -#define OVTK_GDF_Lights_On 0x420 -#define OVTK_GDF_Lights_Off 0x8420 - -#define OVTK_GDF_Eyes_Left 0x431 -#define OVTK_GDF_Eyes_Right 0x432 -#define OVTK_GDF_Eyes_Up 0x433 -#define OVTK_GDF_Eyes_Down 0x434 -#define OVTK_GDF_Horizontal_Eye_Movement 0x435 -#define OVTK_GDF_Vertical_Eye_Movement 0x436 -#define OVTK_GDF_Rotation_Clockwise 0x437 -#define OVTK_GDF_Rotation_Counterclockwise 0x438 -#define OVTK_GDF_Eye_Blink 0x439 - -#define OVTK_GDF_Left_Hand_Movement 0x441 -#define OVTK_GDF_Right_Hand_Movement 0x442 -#define OVTK_GDF_Head_Movement 0x443 -#define OVTK_GDF_Tongue_Movement 0x444 -#define OVTK_GDF_Swallowing 0x445 -#define OVTK_GDF_Biting 0x446 -#define OVTK_GDF_Foot_Movement 0x447 -#define OVTK_GDF_Foot_Right_Movement 0x448 -#define OVTK_GDF_Arm_Movement 0x449 -#define OVTK_GDF_Arm_Right_Movement 0x44A - -#define OVTK_GDF_ECG_Fiducial_Point_QRS_Complex 0x501 -#define OVTK_GDF_ECG_P_Wave 0x502 -#define OVTK_GDF_ECG_QRS_Complex 0x503 -#define OVTK_GDF_ECG_R_Point 0x504 -#define OVTK_GDF_ECG_T_Wave 0x506 -#define OVTK_GDF_ECG_U_Wave 0x507 - -#define OVTK_GDF_Start 0x580 -#define OVTK_GDF_25_Watt 0x581 -#define OVTK_GDF_50_Watt 0x582 -#define OVTK_GDF_75_Watt 0x583 -#define OVTK_GDF_100_Watt 0x584 -#define OVTK_GDF_125_Watt 0x585 -#define OVTK_GDF_150_Watt 0x586 -#define OVTK_GDF_175_Watt 0x587 -#define OVTK_GDF_200_Watt 0x588 -#define OVTK_GDF_225_Watt 0x589 -#define OVTK_GDF_250_Watt 0x58A -#define OVTK_GDF_275_Watt 0x58B -#define OVTK_GDF_300_Watt 0x58C -#define OVTK_GDF_325_Watt 0x58D -#define OVTK_GDF_350_Watt 0x58E - #define OVTK_GDF_Condition(i) (i) -#define OVTK_GDF_Start_Of_New_Segment 0x7FFE -#define OVTK_GDF_Non_Equidistant_Sampling_Value 0x7FFF //___________________________________________________________________// // // diff --git a/toolkit/share/stimulation_list.txt b/toolkit/share/stimulation_list.txt new file mode 100644 index 0000000000000000000000000000000000000000..5f5c8bd09f55ba9114eb32d52c6320ea654c3cf6 --- /dev/null +++ b/toolkit/share/stimulation_list.txt @@ -0,0 +1,200 @@ + OVTK_StimulationId_ExperimentStart OVTK_StimulationId_ExperimentStart 0x00008001 + OVTK_StimulationId_ExperimentStop OVTK_StimulationId_ExperimentStop 0x00008002 + OVTK_StimulationId_SegmentStart OVTK_StimulationId_SegmentStart 0x00008003 + OVTK_StimulationId_SegmentStop OVTK_StimulationId_SegmentStop 0x00008004 + OVTK_StimulationId_TrialStart OVTK_StimulationId_TrialStart 0x00008005 + OVTK_StimulationId_TrialStop OVTK_StimulationId_TrialStop 0x00008006 + OVTK_StimulationId_BaselineStart OVTK_StimulationId_BaselineStart 0x00008007 + OVTK_StimulationId_BaselineStop OVTK_StimulationId_BaselineStop 0x00008008 + OVTK_StimulationId_RestStart OVTK_StimulationId_RestStart 0x00008009 + OVTK_StimulationId_RestStop OVTK_StimulationId_RestStop 0x0000800a + OVTK_StimulationId_VisualStimulationStart OVTK_StimulationId_VisualStimulationStart 0x0000800b + OVTK_StimulationId_VisualStimulationStop OVTK_StimulationId_VisualStimulationStop 0x0000800c + OVTK_StimulationId_VisualSteadyStateStimulationStart OVTK_StimulationId_VisualSteadyStateStimulationStart 0x00008010 + OVTK_StimulationId_VisualSteadyStateStimulationStop OVTK_StimulationId_VisualSteadyStateStimulationStop 0x00008011 + OVTK_StimulationId_Button1_Pressed OVTK_StimulationId_Button1_Pressed 0x00008012 + OVTK_StimulationId_Button1_Released OVTK_StimulationId_Button1_Released 0x00008013 + OVTK_StimulationId_Button2_Pressed OVTK_StimulationId_Button2_Pressed 0x00008014 + OVTK_StimulationId_Button2_Released OVTK_StimulationId_Button2_Released 0x00008015 + OVTK_StimulationId_Button3_Pressed OVTK_StimulationId_Button3_Pressed 0x00008016 + OVTK_StimulationId_Button3_Released OVTK_StimulationId_Button3_Released 0x00008017 + OVTK_StimulationId_Button4_Pressed OVTK_StimulationId_Button4_Pressed 0x00008018 + OVTK_StimulationId_Button4_Released OVTK_StimulationId_Button4_Released 0x00008019 + OVTK_StimulationId_Label_00 OVTK_StimulationId_Label_00 0x00008100 + OVTK_StimulationId_Label_01 OVTK_StimulationId_Label_01 0x00008101 + OVTK_StimulationId_Label_02 OVTK_StimulationId_Label_02 0x00008102 + OVTK_StimulationId_Label_03 OVTK_StimulationId_Label_03 0x00008103 + OVTK_StimulationId_Label_04 OVTK_StimulationId_Label_04 0x00008104 + OVTK_StimulationId_Label_05 OVTK_StimulationId_Label_05 0x00008105 + OVTK_StimulationId_Label_06 OVTK_StimulationId_Label_06 0x00008106 + OVTK_StimulationId_Label_07 OVTK_StimulationId_Label_07 0x00008107 + OVTK_StimulationId_Label_08 OVTK_StimulationId_Label_08 0x00008108 + OVTK_StimulationId_Label_09 OVTK_StimulationId_Label_09 0x00008109 + OVTK_StimulationId_Label_0A OVTK_StimulationId_Label_0A 0x0000810a + OVTK_StimulationId_Label_0B OVTK_StimulationId_Label_0B 0x0000810b + OVTK_StimulationId_Label_0C OVTK_StimulationId_Label_0C 0x0000810c + OVTK_StimulationId_Label_0D OVTK_StimulationId_Label_0D 0x0000810d + OVTK_StimulationId_Label_0E OVTK_StimulationId_Label_0E 0x0000810e + OVTK_StimulationId_Label_0F OVTK_StimulationId_Label_0F 0x0000810f + OVTK_StimulationId_Label_10 OVTK_StimulationId_Label_10 0x00008110 + OVTK_StimulationId_Label_11 OVTK_StimulationId_Label_11 0x00008111 + OVTK_StimulationId_Label_12 OVTK_StimulationId_Label_12 0x00008112 + OVTK_StimulationId_Label_13 OVTK_StimulationId_Label_13 0x00008113 + OVTK_StimulationId_Label_14 OVTK_StimulationId_Label_14 0x00008114 + OVTK_StimulationId_Label_15 OVTK_StimulationId_Label_15 0x00008115 + OVTK_StimulationId_Label_16 OVTK_StimulationId_Label_16 0x00008116 + OVTK_StimulationId_Label_17 OVTK_StimulationId_Label_17 0x00008117 + OVTK_StimulationId_Label_18 OVTK_StimulationId_Label_18 0x00008118 + OVTK_StimulationId_Label_19 OVTK_StimulationId_Label_19 0x00008119 + OVTK_StimulationId_Label_1A OVTK_StimulationId_Label_1A 0x0000811a + OVTK_StimulationId_Label_1B OVTK_StimulationId_Label_1B 0x0000811b + OVTK_StimulationId_Label_1C OVTK_StimulationId_Label_1C 0x0000811c + OVTK_StimulationId_Label_1D OVTK_StimulationId_Label_1D 0x0000811d + OVTK_StimulationId_Label_1E OVTK_StimulationId_Label_1E 0x0000811e + OVTK_StimulationId_Label_1F OVTK_StimulationId_Label_1F 0x0000811f + OVTK_StimulationId_Number_00 OVTK_StimulationId_Number_00 0x00000000 + OVTK_StimulationId_Number_01 OVTK_StimulationId_Number_01 0x00000001 + OVTK_StimulationId_Number_02 OVTK_StimulationId_Number_02 0x00000002 + OVTK_StimulationId_Number_03 OVTK_StimulationId_Number_03 0x00000003 + OVTK_StimulationId_Number_04 OVTK_StimulationId_Number_04 0x00000004 + OVTK_StimulationId_Number_05 OVTK_StimulationId_Number_05 0x00000005 + OVTK_StimulationId_Number_06 OVTK_StimulationId_Number_06 0x00000006 + OVTK_StimulationId_Number_07 OVTK_StimulationId_Number_07 0x00000007 + OVTK_StimulationId_Number_08 OVTK_StimulationId_Number_08 0x00000008 + OVTK_StimulationId_Number_09 OVTK_StimulationId_Number_09 0x00000009 + OVTK_StimulationId_Number_0A OVTK_StimulationId_Number_0A 0x0000000a + OVTK_StimulationId_Number_0B OVTK_StimulationId_Number_0B 0x0000000b + OVTK_StimulationId_Number_0C OVTK_StimulationId_Number_0C 0x0000000c + OVTK_StimulationId_Number_0D OVTK_StimulationId_Number_0D 0x0000000d + OVTK_StimulationId_Number_0E OVTK_StimulationId_Number_0E 0x0000000e + OVTK_StimulationId_Number_0F OVTK_StimulationId_Number_0F 0x0000000f + OVTK_StimulationId_Number_10 OVTK_StimulationId_Number_10 0x00000010 + OVTK_StimulationId_Number_11 OVTK_StimulationId_Number_11 0x00000011 + OVTK_StimulationId_Number_12 OVTK_StimulationId_Number_12 0x00000012 + OVTK_StimulationId_Number_13 OVTK_StimulationId_Number_13 0x00000013 + OVTK_StimulationId_Number_14 OVTK_StimulationId_Number_14 0x00000014 + OVTK_StimulationId_Number_15 OVTK_StimulationId_Number_15 0x00000015 + OVTK_StimulationId_Number_16 OVTK_StimulationId_Number_16 0x00000016 + OVTK_StimulationId_Number_17 OVTK_StimulationId_Number_17 0x00000017 + OVTK_StimulationId_Number_18 OVTK_StimulationId_Number_18 0x00000018 + OVTK_StimulationId_Number_19 OVTK_StimulationId_Number_19 0x00000019 + OVTK_StimulationId_Number_1A OVTK_StimulationId_Number_1A 0x0000001a + OVTK_StimulationId_Number_1B OVTK_StimulationId_Number_1B 0x0000001b + OVTK_StimulationId_Number_1C OVTK_StimulationId_Number_1C 0x0000001c + OVTK_StimulationId_Number_1D OVTK_StimulationId_Number_1D 0x0000001d + OVTK_StimulationId_Number_1E OVTK_StimulationId_Number_1E 0x0000001e + OVTK_StimulationId_Number_1F OVTK_StimulationId_Number_1F 0x0000001f + OVTK_StimulationId_Train OVTK_StimulationId_Train 0x00008201 + OVTK_StimulationId_Beep OVTK_StimulationId_Beep 0x00008202 + OVTK_StimulationId_DoubleBeep OVTK_StimulationId_DoubleBeep 0x00008203 + OVTK_StimulationId_EndOfFile OVTK_StimulationId_EndOfFile 0x00008204 + OVTK_StimulationId_Target OVTK_StimulationId_Target 0x00008205 + OVTK_StimulationId_NonTarget OVTK_StimulationId_NonTarget 0x00008206 + OVTK_StimulationId_TrainCompleted OVTK_StimulationId_TrainCompleted 0x00008207 + OVTK_StimulationId_Reset OVTK_StimulationId_Reset 0x00008208 + OVTK_GDF_Artifact_EOG_Large OVTK_GDF_Artifact_EOG_Large 0x101 + OVTK_GDF_Artifact_ECG OVTK_GDF_Artifact_ECG 0x102 + OVTK_GDF_Artifact_EMG OVTK_GDF_Artifact_EMG 0x103 + OVTK_GDF_Artifact_Movement OVTK_GDF_Artifact_Movement 0x104 + OVTK_GDF_Artifact_Failing_Electrode OVTK_GDF_Artifact_Failing_Electrode0x00008004 0x105 + OVTK_GDF_Artifact_Sweat OVTK_GDF_Artifact_Sweat 0x106 + OVTK_GDF_Artifact_50_60_Hz_Interference OVTK_GDF_Artifact_50_60_Hz_Interference 0x107 + OVTK_GDF_Artifact_Breathing OVTK_GDF_Artifact_Breathing 0x108 + OVTK_GDF_Artifact_Pulse OVTK_GDF_Artifact_Pulse 0x109 + OVTK_GDF_Artifact_EOG_Small OVTK_GDF_Artifact_EOG_Small 0x10A + OVTK_GDF_Calibration OVTK_GDF_Calibration 0x10F + OVTK_GDF_EEG_Sleep_Splindles OVTK_GDF_EEG_Sleep_Splindles 0x111 + OVTK_GDF_EEG_K_Complexes OVTK_GDF_EEG_K_Complexes 0x112 + OVTK_GDF_EEG_Saw_Tooth_Waves OVTK_GDF_EEG_Saw_Tooth_Waves 0x113 + OVTK_GDF_EEG_Idling_EEG_Eyes_Open OVTK_GDF_EEG_Idling_EEG_Eyes_Open 0x114 + OVTK_GDF_EEG_Idling_EEG_Eyes_Closed OVTK_GDF_EEG_Idling_EEG_Eyes_Closed 0x115 + OVTK_GDF_EEG_Spike OVTK_GDF_EEG_Spike 0x116 + OVTK_GDF_EEG_Seizure OVTK_GDF_EEG_Seizure 0x117 + OVTK_GDF_VEP OVTK_GDF_VEP 0x121 + OVTK_GDF_AEP OVTK_GDF_AEP 0x122 + OVTK_GDF_SEP OVTK_GDF_SEP 0x123 + OVTK_GDF_TMS OVTK_GDF_TMS 0x12F + OVTK_GDF_SSVEP OVTK_GDF_SSVEP 0x131 + OVTK_GDF_SSAEP OVTK_GDF_SSAEP 0x132 + OVTK_GDF_SSSEP OVTK_GDF_SSSEP 0x133 + OVTK_GDF_Start_Of_Trial OVTK_GDF_Start_Of_Trial 0x300 + OVTK_GDF_Left OVTK_GDF_Left 0x301 + OVTK_GDF_Right OVTK_GDF_Right 0x302 + OVTK_GDF_Foot OVTK_GDF_Foot 0x303 + OVTK_GDF_Tongue OVTK_GDF_Tongue 0x304 + OVTK_GDF_class5 OVTK_GDF_class5 0x305 + OVTK_GDF_Down OVTK_GDF_Down 0x306 + OVTK_GDF_class7 OVTK_GDF_class7 0x307 + OVTK_GDF_class8 OVTK_GDF_class8 0x308 + OVTK_GDF_class9 OVTK_GDF_class9 0x309 + OVTK_GDF_class10 OVTK_GDF_class10 0x30A + OVTK_GDF_class11 OVTK_GDF_class11 0x30B + OVTK_GDF_Up OVTK_GDF_Up 0x30C + OVTK_GDF_Feedback_Continuous OVTK_GDF_Feedback_Continuous 0x30D + OVTK_GDF_Feedback_Discrete OVTK_GDF_Feedback_Discrete 0x30E + OVTK_GDF_Cue_Unknown_Undefined OVTK_GDF_Cue_Unknown_Undefined 0x30F + OVTK_GDF_Beep OVTK_GDF_Beep 0x311 + OVTK_GDF_Cross_On_Screen OVTK_GDF_Cross_On_Screen 0x312 + OVTK_GDF_Flashing_Light OVTK_GDF_Flashing_Light 0x313 + OVTK_GDF_End_Of_Trial OVTK_GDF_End_Of_Trial 0x320 + OVTK_GDF_Correct OVTK_GDF_Correct 0x381 + OVTK_GDF_Incorrect OVTK_GDF_Incorrect 0x382 + OVTK_GDF_End_Of_Session OVTK_GDF_End_Of_Session 0x3F2 + OVTK_GDF_Rejection OVTK_GDF_Rejection 0x3FF + OVTK_GDF_OAHE OVTK_GDF_OAHE 0x401 + OVTK_GDF_RERA OVTK_GDF_RERA 0x402 + OVTK_GDF_CAHE OVTK_GDF_CAHE 0x403 + OVTK_GDF_CSB OVTK_GDF_CSB 0x404 + OVTK_GDF_Sleep_Hypoventilation OVTK_GDF_Sleep_Hypoventilation 0x405 + OVTK_GDF_Maximum_Inspiration OVTK_GDF_Maximum_Inspiration 0x40E + OVTK_GDF_Start_Of_Inspiration OVTK_GDF_Start_Of_Inspiration 0x40F + OVTK_GDF_Wake OVTK_GDF_Wake 0x410 + OVTK_GDF_Stage_1 OVTK_GDF_Stage_1 0x411 + OVTK_GDF_Stage_2 OVTK_GDF_Stage_2 0x412 + OVTK_GDF_Stage_3 OVTK_GDF_Stage_3 0x413 + OVTK_GDF_Stage_4 OVTK_GDF_Stage_4 0x414 + OVTK_GDF_REM OVTK_GDF_REM 0x415 + OVTK_GDF_Lights_On OVTK_GDF_Lights_On 0x420 + OVTK_GDF_Lights_Off OVTK_GDF_Lights_Off 0x8420 + OVTK_GDF_Eyes_Left OVTK_GDF_Eyes_Left 0x431 + OVTK_GDF_Eyes_Right OVTK_GDF_Eyes_Right 0x432 + OVTK_GDF_Eyes_Up OVTK_GDF_Eyes_Up 0x433 + OVTK_GDF_Eyes_Down OVTK_GDF_Eyes_Down 0x434 + OVTK_GDF_Horizontal_Eye_Movement OVTK_GDF_Horizontal_Eye_Movement 0x435 + OVTK_GDF_Vertical_Eye_Movement OVTK_GDF_Vertical_Eye_Movement 0x436 + OVTK_GDF_Rotation_Clockwise OVTK_GDF_Rotation_Clockwise 0x437 + OVTK_GDF_Rotation_Counterclockwise OVTK_GDF_Rotation_Counterclockwise 0x438 + OVTK_GDF_Eye_Blink OVTK_GDF_Eye_Blink 0x439 + OVTK_GDF_Left_Hand_Movement OVTK_GDF_Left_Hand_Movement 0x441 + OVTK_GDF_Right_Hand_Movement OVTK_GDF_Right_Hand_Movement 0x442 + OVTK_GDF_Head_Movement OVTK_GDF_Head_Movement 0x443 + OVTK_GDF_Tongue_Movement OVTK_GDF_Tongue_Movement 0x444 + OVTK_GDF_Swallowing OVTK_GDF_Swallowing 0x445 + OVTK_GDF_Biting OVTK_GDF_Biting 0x446 + OVTK_GDF_Foot_Movement OVTK_GDF_Foot_Movement 0x447 + OVTK_GDF_Foot_Right_Movement OVTK_GDF_Foot_Right_Movement 0x448 + OVTK_GDF_Arm_Movement OVTK_GDF_Arm_Movement 0x449 + OVTK_GDF_Arm_Right_Movement OVTK_GDF_Arm_Right_Movement 0x44A + OVTK_GDF_ECG_Fiducial_Point_QRS_Complex OVTK_GDF_ECG_Fiducial_Point_QRS_Complex 0x501 + OVTK_GDF_ECG_P_Wave OVTK_GDF_ECG_P_Wave 0x502 + OVTK_GDF_ECG_QRS_Complex OVTK_GDF_ECG_QRS_Complex 0x503 + OVTK_GDF_ECG_R_Point OVTK_GDF_ECG_R_Point 0x504 + OVTK_GDF_ECG_T_Wave OVTK_GDF_ECG_T_Wave 0x506 + OVTK_GDF_ECG_U_Wave OVTK_GDF_ECG_U_Wave 0x507 + OVTK_GDF_Start OVTK_GDF_Start 0x580 + OVTK_GDF_25_Watt OVTK_GDF_25_Watt 0x581 + OVTK_GDF_50_Watt OVTK_GDF_50_Watt 0x582 + OVTK_GDF_75_Watt OVTK_GDF_75_Watt 0x583 + OVTK_GDF_100_Watt OVTK_GDF_100_Watt 0x584 + OVTK_GDF_125_Watt OVTK_GDF_125_Watt 0x585 + OVTK_GDF_150_Watt OVTK_GDF_150_Watt 0x586 + OVTK_GDF_175_Watt OVTK_GDF_175_Watt 0x587 + OVTK_GDF_200_Watt OVTK_GDF_200_Watt 0x588 + OVTK_GDF_225_Watt OVTK_GDF_225_Watt 0x589 + OVTK_GDF_250_Watt OVTK_GDF_250_Watt 0x58A + OVTK_GDF_275_Watt OVTK_GDF_275_Watt 0x58B + OVTK_GDF_300_Watt OVTK_GDF_300_Watt 0x58C + OVTK_GDF_325_Watt OVTK_GDF_325_Watt 0x58D + OVTK_GDF_350_Watt OVTK_GDF_350_Watt 0x58E + OVTK_GDF_Start_Of_New_Segment OVTK_GDF_Start_Of_New_Segment 0x7FFE + OVTK_GDF_Non_Equidistant_Sampling_Value OVTK_GDF_Non_Equidistant_Sampling_Value 0x7FFF diff --git a/toolkit/src/ovtk_main.cpp b/toolkit/src/ovtk_main.cpp index e3968cd970e87c86d56cf0fd15d5d2bb0d53b243..6ea259f87b302e0d66d63fa3a091a52778df9fb4 100644 --- a/toolkit/src/ovtk_main.cpp +++ b/toolkit/src/ovtk_main.cpp @@ -16,225 +16,7 @@ boolean OpenViBEToolkit::initialize(const IKernelContext& rKernelContext) { ITypeManager& l_rTypeManager=rKernelContext.getTypeManager(); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_ExperimentStart", OVTK_StimulationId_ExperimentStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_ExperimentStop", OVTK_StimulationId_ExperimentStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_SegmentStart", OVTK_StimulationId_SegmentStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_SegmentStop", OVTK_StimulationId_SegmentStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_TrialStart", OVTK_StimulationId_TrialStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_TrialStop", OVTK_StimulationId_TrialStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_BaselineStart", OVTK_StimulationId_BaselineStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_BaselineStop", OVTK_StimulationId_BaselineStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_RestStart", OVTK_StimulationId_RestStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_RestStop", OVTK_StimulationId_RestStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_VisualStimulationStart", OVTK_StimulationId_VisualStimulationStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_VisualStimulationStop", OVTK_StimulationId_VisualStimulationStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_VisualSteadyStateStimulationStart", OVTK_StimulationId_VisualSteadyStateStimulationStart); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_VisualSteadyStateStimulationStop", OVTK_StimulationId_VisualSteadyStateStimulationStop); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button1_Pressed", OVTK_StimulationId_Button1_Pressed); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button1_Released", OVTK_StimulationId_Button1_Released); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button2_Pressed", OVTK_StimulationId_Button2_Pressed); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button2_Released", OVTK_StimulationId_Button2_Released); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button3_Pressed", OVTK_StimulationId_Button3_Pressed); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button3_Released", OVTK_StimulationId_Button3_Released); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button4_Pressed", OVTK_StimulationId_Button4_Pressed); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Button4_Released", OVTK_StimulationId_Button4_Released); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_00", OVTK_StimulationId_Label_00); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_01", OVTK_StimulationId_Label_01); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_02", OVTK_StimulationId_Label_02); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_03", OVTK_StimulationId_Label_03); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_04", OVTK_StimulationId_Label_04); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_05", OVTK_StimulationId_Label_05); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_06", OVTK_StimulationId_Label_06); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_07", OVTK_StimulationId_Label_07); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_08", OVTK_StimulationId_Label_08); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_09", OVTK_StimulationId_Label_09); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_0A", OVTK_StimulationId_Label_0A); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_0B", OVTK_StimulationId_Label_0B); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_0C", OVTK_StimulationId_Label_0C); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_0D", OVTK_StimulationId_Label_0D); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_0E", OVTK_StimulationId_Label_0E); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_0F", OVTK_StimulationId_Label_0F); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_10", OVTK_StimulationId_Label_10); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_11", OVTK_StimulationId_Label_11); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_12", OVTK_StimulationId_Label_12); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_13", OVTK_StimulationId_Label_13); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_14", OVTK_StimulationId_Label_14); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_15", OVTK_StimulationId_Label_15); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_16", OVTK_StimulationId_Label_16); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_17", OVTK_StimulationId_Label_17); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_18", OVTK_StimulationId_Label_18); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_19", OVTK_StimulationId_Label_19); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_1A", OVTK_StimulationId_Label_1A); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_1B", OVTK_StimulationId_Label_1B); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_1C", OVTK_StimulationId_Label_1C); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_1D", OVTK_StimulationId_Label_1D); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_1E", OVTK_StimulationId_Label_1E); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Label_1F", OVTK_StimulationId_Label_1F); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_00", OVTK_StimulationId_Number_00); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_01", OVTK_StimulationId_Number_01); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_02", OVTK_StimulationId_Number_02); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_03", OVTK_StimulationId_Number_03); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_04", OVTK_StimulationId_Number_04); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_05", OVTK_StimulationId_Number_05); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_06", OVTK_StimulationId_Number_06); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_07", OVTK_StimulationId_Number_07); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_08", OVTK_StimulationId_Number_08); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_09", OVTK_StimulationId_Number_09); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_0A", OVTK_StimulationId_Number_0A); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_0B", OVTK_StimulationId_Number_0B); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_0C", OVTK_StimulationId_Number_0C); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_0D", OVTK_StimulationId_Number_0D); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_0E", OVTK_StimulationId_Number_0E); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_0F", OVTK_StimulationId_Number_0F); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_10", OVTK_StimulationId_Number_10); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_11", OVTK_StimulationId_Number_11); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_12", OVTK_StimulationId_Number_12); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_13", OVTK_StimulationId_Number_13); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_14", OVTK_StimulationId_Number_14); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_15", OVTK_StimulationId_Number_15); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_16", OVTK_StimulationId_Number_16); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_17", OVTK_StimulationId_Number_17); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_18", OVTK_StimulationId_Number_18); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_19", OVTK_StimulationId_Number_19); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_1A", OVTK_StimulationId_Number_1A); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_1B", OVTK_StimulationId_Number_1B); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_1C", OVTK_StimulationId_Number_1C); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_1D", OVTK_StimulationId_Number_1D); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_1E", OVTK_StimulationId_Number_1E); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Number_1F", OVTK_StimulationId_Number_1F); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Train", OVTK_StimulationId_Train); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Beep", OVTK_StimulationId_Beep); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_DoubleBeep", OVTK_StimulationId_DoubleBeep); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_EndOfFile", OVTK_StimulationId_EndOfFile); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_Target", OVTK_StimulationId_Target); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_NonTarget", OVTK_StimulationId_NonTarget); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_StimulationId_TrainCompleted", OVTK_StimulationId_TrainCompleted); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_EOG_Large", OVTK_GDF_Artifact_EOG_Large); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_ECG", OVTK_GDF_Artifact_ECG); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_EMG", OVTK_GDF_Artifact_EMG); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_Movement", OVTK_GDF_Artifact_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_Failing_Electrode", OVTK_GDF_Artifact_Failing_Electrode); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_Sweat", OVTK_GDF_Artifact_Sweat); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_50_60_Hz_Interference", OVTK_GDF_Artifact_50_60_Hz_Interference); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_Breathing", OVTK_GDF_Artifact_Breathing); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_Pulse", OVTK_GDF_Artifact_Pulse); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Artifact_EOG_Small", OVTK_GDF_Artifact_EOG_Small); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Calibration", OVTK_GDF_Calibration); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_Sleep_Splindles", OVTK_GDF_EEG_Sleep_Splindles); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_K_Complexes", OVTK_GDF_EEG_K_Complexes); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_Saw_Tooth_Waves", OVTK_GDF_EEG_Saw_Tooth_Waves); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_Idling_EEG_Eyes_Open", OVTK_GDF_EEG_Idling_EEG_Eyes_Open); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_Idling_EEG_Eyes_Closed", OVTK_GDF_EEG_Idling_EEG_Eyes_Closed); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_Spike", OVTK_GDF_EEG_Spike); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_EEG_Seizure", OVTK_GDF_EEG_Seizure); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_VEP", OVTK_GDF_VEP); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_AEP", OVTK_GDF_AEP); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_SEP", OVTK_GDF_SEP); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_TMS", OVTK_GDF_TMS); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_SSVEP", OVTK_GDF_SSVEP); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_SSAEP", OVTK_GDF_SSAEP); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_SSSEP", OVTK_GDF_SSSEP); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Start_Of_Trial", OVTK_GDF_Start_Of_Trial); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Left", OVTK_GDF_Left); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Right", OVTK_GDF_Right); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Foot", OVTK_GDF_Foot); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Tongue", OVTK_GDF_Tongue); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_class5", OVTK_GDF_class5); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Down", OVTK_GDF_Down); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_class7", OVTK_GDF_class7); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_class8", OVTK_GDF_class8); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_class9", OVTK_GDF_class9); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_class10", OVTK_GDF_class10); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_class11", OVTK_GDF_class11); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Up", OVTK_GDF_Up); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Feedback_Continuous", OVTK_GDF_Feedback_Continuous); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Feedback_Discrete", OVTK_GDF_Feedback_Discrete); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Cue_Unknown_Undefined", OVTK_GDF_Cue_Unknown_Undefined); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Beep", OVTK_GDF_Beep); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Cross_On_Screen", OVTK_GDF_Cross_On_Screen); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Flashing_Light", OVTK_GDF_Flashing_Light); - // SPECIALY ADDED BY YR - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_End_Of_Trial", OVTK_GDF_End_Of_Trial); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Correct", OVTK_GDF_Correct); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Incorrect", OVTK_GDF_Incorrect); - // SPECIALY ADDED BY YR - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_End_Of_Session", OVTK_GDF_End_Of_Session); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Rejection", OVTK_GDF_Rejection); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_OAHE", OVTK_GDF_OAHE); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_RERA", OVTK_GDF_RERA); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_CAHE", OVTK_GDF_CAHE); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_CSB", OVTK_GDF_CSB); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Sleep_Hypoventilation", OVTK_GDF_Sleep_Hypoventilation); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Maximum_Inspiration", OVTK_GDF_Maximum_Inspiration); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Start_Of_Inspiration", OVTK_GDF_Start_Of_Inspiration); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Wake", OVTK_GDF_Wake); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Stage_1", OVTK_GDF_Stage_1); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Stage_2", OVTK_GDF_Stage_2); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Stage_3", OVTK_GDF_Stage_3); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Stage_4", OVTK_GDF_Stage_4); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_REM", OVTK_GDF_REM); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Lights_On", OVTK_GDF_Lights_On); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Lights_Off", OVTK_GDF_Lights_Off); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Eyes_Left", OVTK_GDF_Eyes_Left); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Eyes_Right", OVTK_GDF_Eyes_Right); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Eyes_Up", OVTK_GDF_Eyes_Up); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Eyes_Down", OVTK_GDF_Eyes_Down); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Horizontal_Eye_Movement", OVTK_GDF_Horizontal_Eye_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Vertical_Eye_Movement", OVTK_GDF_Vertical_Eye_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Rotation_Clockwise", OVTK_GDF_Rotation_Clockwise); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Rotation_Counterclockwise", OVTK_GDF_Rotation_Counterclockwise); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Eye_Blink", OVTK_GDF_Eye_Blink); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Left_Hand_Movement", OVTK_GDF_Left_Hand_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Right_Hand_Movement", OVTK_GDF_Right_Hand_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Head_Movement", OVTK_GDF_Head_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Tongue_Movement", OVTK_GDF_Tongue_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Swallowing", OVTK_GDF_Swallowing); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Biting", OVTK_GDF_Biting); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Foot_Movement", OVTK_GDF_Foot_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Foot_Right_Movement", OVTK_GDF_Foot_Right_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Arm_Movement", OVTK_GDF_Arm_Movement); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Arm_Right_Movement", OVTK_GDF_Arm_Right_Movement); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_ECG_Fiducial_Point_QRS_Complex", OVTK_GDF_ECG_Fiducial_Point_QRS_Complex); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_ECG_P_Wave", OVTK_GDF_ECG_P_Wave); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_ECG_QRS_Complex", OVTK_GDF_ECG_QRS_Complex); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_ECG_R_Point", OVTK_GDF_ECG_R_Point); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_ECG_T_Wave", OVTK_GDF_ECG_T_Wave); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_ECG_U_Wave", OVTK_GDF_ECG_U_Wave); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Start", OVTK_GDF_Start); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_25_Watt", OVTK_GDF_25_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_50_Watt", OVTK_GDF_50_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_75_Watt", OVTK_GDF_75_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_100_Watt", OVTK_GDF_100_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_125_Watt", OVTK_GDF_125_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_150_Watt", OVTK_GDF_150_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_175_Watt", OVTK_GDF_175_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_200_Watt", OVTK_GDF_200_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_225_Watt", OVTK_GDF_225_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_250_Watt", OVTK_GDF_250_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_275_Watt", OVTK_GDF_275_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_300_Watt", OVTK_GDF_300_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_325_Watt", OVTK_GDF_325_Watt); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_350_Watt", OVTK_GDF_350_Watt); - - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Start_Of_New_Segment", OVTK_GDF_Start_Of_New_Segment); - l_rTypeManager.registerEnumerationEntry(OV_TypeId_Stimulation, "OVTK_GDF_Non_Equidistant_Sampling_Value", OVTK_GDF_Non_Equidistant_Sampling_Value); + initializeStimulationList(rKernelContext); // Register measurement units. See ovtk_defines.h for details. l_rTypeManager.registerEnumerationEntry(OV_TypeId_MeasurementUnit, "?", OVTK_UNIT_Unspecified);