Commit cb74e462 authored by MONSEIGNE Thibaut's avatar MONSEIGNE Thibaut

Merge branch 'wip-tmonseigne-artefact' into 'master'

Box Artefact Detection By Amplitude

See merge request !38
parents 4df58663 6953d5fb
PROJECT(openvibe-plugins-artefact-detection)
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 SRC_FILES src/*.cpp src/*.hpp src/*.h src/*.inl src/*.c)
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRC_FILES}
)
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
COMPILE_FLAGS "-DOVP_Exports -DOVP_Shared -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE")
INCLUDE_DIRECTORIES("src")
# OpenViBE Base
INCLUDE("FindOpenViBE")
INCLUDE("FindOpenViBECommon")
INCLUDE("FindOpenViBEToolkit")
# OpenViBE Module
#INCLUDE("FindOpenViBEModuleSystem")
#INCLUDE("FindOpenViBEModuleXML")
# OpenViBE Third Party
#INCLUDE("FindThirdPartyEigen")
# ---------------------------------
# Target macros
# Defines target operating system
# Defines target architecture
# Defines target compiler
# ---------------------------------
SET_BUILD_PLATFORM()
# -----------------------------
# Install files
# -----------------------------
INSTALL(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION ${DIST_BINDIR}
LIBRARY DESTINATION ${DIST_LIBDIR}
ARCHIVE DESTINATION ${DIST_LIBDIR})
SET(SUB_DIR_NAME ovp-artefact)
#INSTALL(DIRECTORY box-tutorials/ DESTINATION ${DIST_DATADIR}/openvibe/scenarios/box-tutorials/${SUB_DIR_NAME})
#INSTALL(DIRECTORY bci-examples/ DESTINATION ${DIST_DATADIR}/openvibe/scenarios/bci-examples/${SUB_DIR_NAME})
# ---------------------------------
# Test applications
# ---------------------------------
IF(OV_COMPILE_TESTS)
#ADD_SUBDIRECTORY(test)
ENDIF()
\ No newline at end of file
/**
* \page BoxAlgorithm_ArtefactAmplitude Artefact Amplitude
__________________________________________________________________
Detailed description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Description|
Check if one element is higher than Max setting.\nThe signal is returned if no element exceeds the defined value.
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Description|
__________________________________________________________________
Inputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Inputs|
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Inputs|
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Input1|
The input signal on which the Artefact detection is used.
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Input1|
__________________________________________________________________
Outputs description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Outputs|
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Outputs|
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Output1|
The input signal if there were no artefacts .
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Output1|
__________________________________________________________________
Settings description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Settings|
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Settings|
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Setting1|
The amplitude threshold.
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Setting1|
__________________________________________________________________
Examples description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Examples|
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Examples|
__________________________________________________________________
Miscellaneous description
__________________________________________________________________
* |OVP_DocBegin_BoxAlgorithm_ArtefactAmplitude_Miscellaneous|
* |OVP_DocEnd_BoxAlgorithm_ArtefactAmplitude_Miscellaneous|
*/
#include "ovpCBoxAlgorithmArtefactAmplitude.h"
#include <cmath> // Floor
using namespace OpenViBE;
using namespace Kernel;
using namespace Plugins;
using namespace OpenViBEPlugins;
using namespace Artefact;
//---------------------------------------------------------------------------------------------------
bool CBoxAlgorithmArtefactAmplitude::initialize()
{
//***** Codecs *****
m_iSignalCodec.initialize(*this, 0);
m_iMatrix = m_iSignalCodec.getOutputMatrix();
//***** Settings *****
m_max = FSettingValueAutoCast(*this->getBoxAlgorithmContext(), 0);
//***** Assert *****
OV_ERROR_UNLESS_KRF(m_max > 0, "Invalid Maximum [" << m_max << "] (expected value > 0)\n", OpenViBE::Kernel::ErrorType::BadSetting);
return true;
}
//---------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------
bool CBoxAlgorithmArtefactAmplitude::uninitialize()
{
m_iSignalCodec.uninitialize();
return true;
}
//---------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------
bool CBoxAlgorithmArtefactAmplitude::processInput(const uint32_t /*index*/)
{
getBoxAlgorithmContext()->markAlgorithmAsReadyToProcess();
return true;
}
//---------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------
bool CBoxAlgorithmArtefactAmplitude::process()
{
IBoxIO& boxContext = this->getDynamicBoxContext();
for (uint32_t i = 0; i < boxContext.getInputChunkCount(0); ++i)
{
bool artefact = false;
m_iSignalCodec.decode(i); // Decode chunk
OV_ERROR_UNLESS_KRF(m_iMatrix->getDimensionCount() == 2, "Invalid Input Signal", ErrorType::BadInput);
//if (m_iSignalCodec.isHeaderReceived()) {} // Header
if (m_iSignalCodec.isBufferReceived()) // Buffer
{
const size_t size = m_iMatrix->getDimensionSize(0) * m_iMatrix->getDimensionSize(1); // get buffer size
const double* iBuffer = m_iMatrix->getBuffer(); // input buffer
for (size_t idx = 0; idx < size; ++idx)
{
if (abs(iBuffer[idx]) >= m_max) // Amplitude comparison
{
this->getLogManager() << LogLevel_Trace << "Artefact detected in channel (" << floor(idx / m_iMatrix->getDimensionSize(1)) << ")\n";
artefact = true;
break;
}
}
}
//if (m_iSignalCodec.isEndReceived()) {} // End
// We don't need output codec we copy just the inpu to the output if there is no amplitude artefact
if (!artefact)
{
uint64_t tStart = 0, tEnd = 0, chunkSize = 0;
const uint8_t* chunkBuffer = nullptr;
boxContext.getInputChunk(0, i, tStart, tEnd, chunkSize, chunkBuffer);
boxContext.appendOutputChunkData(0, chunkBuffer, chunkSize);
boxContext.markOutputAsReadyToSend(0, tStart, tEnd);
boxContext.markInputAsDeprecated(0, i);
}
}
return true;
}
//---------------------------------------------------------------------------------------------------
///-------------------------------------------------------------------------------------------------
///
/// \file ovpCBoxAlgorithmArtefactAmplitude.h
/// \brief Class of the box computing the covariance matrix
/// \author Thibaut Monseigne (Inria).
/// \version 1.0.
/// \date 12/08/2019.
/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>.
///
///-------------------------------------------------------------------------------------------------
#pragma once
#include "ovp_defines.h"
#include <openvibe/ov_all.h>
#include <toolkit/ovtk_all.h>
namespace OpenViBEPlugins
{
namespace Artefact
{
/// <summary> The class CBoxAlgorithmArtefactAmplitude describes the box Artefact Amplitude. </summary>
class CBoxAlgorithmArtefactAmplitude : virtual public OpenViBEToolkit::TBoxAlgorithm<OpenViBE::Plugins::IBoxAlgorithm>
{
public:
void release() override { delete this; }
bool initialize() override;
bool uninitialize() override;
bool processInput(const uint32_t index) override;
bool process() override;
_IsDerivedFromClass_Final_(OpenViBEToolkit::TBoxAlgorithm < OpenViBE::Plugins::IBoxAlgorithm >, OVP_ClassId_BoxAlgorithm_ArtefactAmplitude)
protected:
OpenViBEToolkit::TSignalDecoder<CBoxAlgorithmArtefactAmplitude> m_iSignalCodec; // Input decoder
OpenViBEToolkit::TSignalEncoder<CBoxAlgorithmArtefactAmplitude> m_oSignalCodec; // Output decoder
OpenViBE::IMatrix* m_iMatrix = nullptr; // Input Matrix pointer
OpenViBE::IMatrix* m_oMatrix = nullptr; // Output Matrix pointer
double m_max = 0;
};
/// <summary> Descriptor of the box Artefact Detector. </summary>
class CBoxAlgorithmArtefactAmplitudeDesc : virtual public OpenViBE::Plugins::IBoxAlgorithmDesc
{
public:
void release() override { }
OpenViBE::CString getName() const override { return OpenViBE::CString("Artefact Amplitude"); }
OpenViBE::CString getAuthorName() const override { return OpenViBE::CString("Thibaut Monseigne"); }
OpenViBE::CString getAuthorCompanyName() const override { return OpenViBE::CString("Inria"); }
OpenViBE::CString getShortDescription() const override { return OpenViBE::CString("Simple Artefact Detection"); }
OpenViBE::CString getDetailedDescription() const override { return OpenViBE::CString("Check if one element is higher than Max setting.\nThe signal is returned if no element exceeds the defined value."); }
OpenViBE::CString getCategory() const override { return OpenViBE::CString("Artefact"); }
OpenViBE::CString getVersion() const override { return OpenViBE::CString("1.0"); }
OpenViBE::CString getStockItemName() const override { return OpenViBE::CString("gtk-no"); }
OpenViBE::CIdentifier getCreatedClass() const override { return OVP_ClassId_BoxAlgorithm_ArtefactAmplitude; }
OpenViBE::Plugins::IPluginObject* create() override { return new CBoxAlgorithmArtefactAmplitude; }
bool getBoxPrototype(OpenViBE::Kernel::IBoxProto& rBoxAlgorithmPrototype) const override
{
rBoxAlgorithmPrototype.addInput("Signal",OV_TypeId_Signal);
rBoxAlgorithmPrototype.addOutput("Non-artefact signal",OV_TypeId_Signal);
rBoxAlgorithmPrototype.addSetting("Max (mV)",OV_TypeId_Float, "100");
return true;
}
_IsDerivedFromClass_Final_(OpenViBE::Plugins::IBoxAlgorithmDesc, OVP_ClassId_BoxAlgorithm_ArtefactAmplitudeDesc)
};
} // namespace Artefact
} // namespace OpenViBEPlugins
///-------------------------------------------------------------------------------------------------
///
/// \file ovp_defines.h
/// \brief Defines list for Setting, Shortcut Macro and const.
/// \author Thibaut Monseigne (Inria).
/// \version 1.0.
/// \date 12/08/2019.
/// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>.
///
///-------------------------------------------------------------------------------------------------
#pragma once
// Boxes
//---------------------------------------------------------------------------------------------------
#define OVP_ClassId_BoxAlgorithm_ArtefactAmplitude OpenViBE::CIdentifier(0x4aefaf18, 0xb68095e4)
#define OVP_ClassId_BoxAlgorithm_ArtefactAmplitudeDesc OpenViBE::CIdentifier(0xa65f2a61, 0x83596875)
#include <openvibe/ov_all.h>
#include "ovp_defines.h"
// Boxes Includes
#include "boxes/ovpCBoxAlgorithmArtefactAmplitude.h"
OVP_Declare_Begin()
// Register boxes
OVP_Declare_New(OpenViBEPlugins::Artefact::CBoxAlgorithmArtefactAmplitudeDesc);
OVP_Declare_End()
IF(WIN32)
SET(EXT cmd)
SET(OS_FLAGS "--no-pause")
ELSE()
SET(EXT sh)
SET(OS_FLAGS "")
ENDIF()
SET(PATH_TEST scenarios-tests)
############
SET(TEST_NAME Artefact-Amplitude)
ADD_TEST(clean_${TEST_NAME} "${CMAKE_COMMAND}" "-E" "remove" "-f" "${PATH_TEST}/${TEST_NAME}-output.csv")
ADD_TEST(run_${TEST_NAME} "$ENV{OV_BINARY_PATH}/openvibe-designer.${EXT}" ${OS_FLAGS} "--no-session-management" "--invisible" "--play-fast" "${PATH_TEST}/${TEST_NAME}-test.xml")
ADD_TEST(compare_${TEST_NAME} "$ENV{OV_BINARY_PATH}/test_thresholdDataComparison.${EXT}" ${OS_FLAGS} "${PATH_TEST}/${TEST_NAME}-output.csv" "${PATH_TEST}/${TEST_NAME}-ref.csv" 0.0001)
SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL ${OV_CONFIG_SUBDIR})
SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES ATTACHED_FILES_ON_FAIL "${PATH_TEST}/${TEST_NAME}-output.csv")
SET_TESTS_PROPERTIES(compare_${TEST_NAME} PROPERTIES DEPENDS run_${TEST_NAME})
SET_TESTS_PROPERTIES(run_${TEST_NAME} PROPERTIES DEPENDS clean_${TEST_NAME})
\ No newline at end of file
Time:32Hz,Epoch,sinusOsc 1,sinusOsc 2,sinusOsc 3,sinusOsc 4,Event Id,Event Date,Event Duration
0.2500000000,0,0.0223674799,1.2564364343,0.5189549878,-2.2082337379,,,
0.2812500000,0,0.8587778323,1.5912609145,-0.8135359478,0.7847811254,,,
0.3125000000,0,1.0605198516,0.3100244990,-1.0731867792,-0.2119004478,,,
0.3437500000,0,-0.8527917255,1.3612667999,-0.1597583084,-1.8827722525,,,
0.3750000000,0,0.2862985568,0.5189549878,0.7847811254,0.9814084992,,,
0.4062500000,0,0.6745718556,-2.0249997390,0.7541775274,1.5472144212,,,
0.4375000000,0,-0.8460419110,-1.3302670931,0.0634287720,0.7819705904,,,
0.4687500000,0,0.7209285523,-1.0731867792,-0.0655390377,0.9506913659,,,
0.7500000000,1,0.5189549878,0.9814084992,0.9030515780,0.8068531766,,,
0.7812500000,1,-0.1244988728,0.2724851298,-0.4594717137,0.6869181620,,,
0.8125000000,1,-2.0249997390,1.5472144212,-1.0439874057,2.0694974039,,,
0.8437500000,1,-0.8135359478,2.8779488994,-0.2805237468,0.3641695321,,,
0.8750000000,1,-1.3302670931,0.7819705904,0.9701626979,-1.8389984936,,,
0.9062500000,1,-2.7774418870,0.2993489279,1.4263392704,0.6679934029,,,
0.9375000000,1,-1.0731867792,0.9506913659,0.8667484914,0.1385386313,,,
0.9687500000,1,-1.2560591950,-0.8668315473,0.3301381800,-2.4206456881,,,
1.2500000000,2,-0.2119004478,-1.7310810939,0.1385386313,-1.7466375845,,,
1.2812500000,2,-1.4354651966,-1.5706412435,-1.0080375931,0.2727140524,,,
1.3125000000,2,0.0634287720,0.9701626979,-1.7974455953,-0.8262613606,,,
1.3437500000,2,-0.9654362809,0.5424888696,-1.2808655550,-0.9489926046,,,
1.3750000000,2,-1.8827722525,-0.4108610506,0.0983659614,-0.5547380276,,,
1.4062500000,2,-0.0655390377,0.8667484914,0.9871376509,-0.6953344902,,,
1.4375000000,2,-0.8086493471,-0.2124145663,0.6661389185,1.9635447878,,,
1.4687500000,2,-1.1988821934,-1.3394010772,-0.1688100058,1.5699068231,,,
1.5000000000,3,0.9814084992,0.8068531766,-0.3034584827,-1.0425910551,,,
1.5312500000,3,0.4099144509,1.1952068865,0.4983557018,1.1445444315,,,
1.5625000000,3,0.2724851298,0.6869181620,1.1867185475,1.5013198216,,,
1.5937500000,3,2.4069561396,2.5877673403,0.6771519036,-1.2419463750,,,
1.6250000000,3,1.5472144212,2.0694974039,-0.8266210987,-1.0463628150,,,
1.6562500000,3,1.1997027388,-0.1839871598,-2.0168971580,-1.1194784628,,,
1.6875000000,3,2.8779488994,0.3641695321,-1.9643056971,-0.7420012388,,,
1.7187500000,3,1.4563051832,-0.2026887361,-1.1487345134,0.7176546469,,,
1.7500000000,4,0.7819705904,-1.8389984936,-0.8262613606,-1.0909272040,,,
1.7812500000,4,2.0520274556,-0.1234290101,-1.4955637468,-0.3859075051,,,
1.8125000000,4,0.2993489279,0.6679934029,-2.2938779901,2.8650857800,,,
1.8437500000,4,-0.3417921204,-0.7611641008,-2.0424755980,0.8737882447,,,
1.8750000000,4,0.9506913659,0.1385386313,-0.6953344902,-0.6117828212,,,
1.9062500000,4,-0.6688572272,0.0043701116,0.5394431118,0.7816769419,,,
1.9375000000,4,-0.8668315473,-2.4206456881,0.5615308290,-0.1516857685,,,
1.9687500000,4,0.7412410587,-1.7974455953,-0.3822991487,-0.4131300313,,,
2.0000000000,5,-0.5852777802,-0.7723189861,-1.0425910551,-0.9497739372,,,
2.0312500000,5,-0.3568127661,-1.6840958410,-0.6769683658,-2.3559666125,,,
2.0625000000,5,1.3761889031,0.0983659614,0.0737680120,0.4128262271,,,
2.0937500000,5,0.0324007523,1.8606501325,-0.0164610272,1.3211814381,,,
2.1250000000,5,0.2823791178,0.4087503374,-1.2419463750,-1.2291006398,,,
2.1562500000,5,1.7027679072,0.6661389185,-2.5427995283,0.6576534641,,,
2.1875000000,5,-0.0385524690,1.3163956500,-2.6920820881,2.2084155704,,,
2.2187500000,5,-0.0554208172,-0.6897861214,-1.6940570431,0.5039915002,,,
2.5000000000,6,-1.7310810939,-1.7466375845,-0.6117828212,-0.1603763521,,,
2.5312500000,6,-0.2805237468,-1.9643056971,-0.7284838207,1.0964841466,,,
2.5625000000,6,-1.5706412435,0.2727140524,-0.0203749932,0.6291119609,,,
2.5937500000,6,-0.3846152674,-0.2942868426,0.3347196668,1.0644429647,,,
2.6250000000,6,0.9701626979,-0.8262613606,-0.4131300313,0.4825889334,,,
2.6562500000,6,-0.4783392019,0.5368167826,-1.6227881216,-2.4009484456,,,
2.6875000000,6,0.5424888696,-0.9489926046,-1.9662756714,-0.6742923707,,,
2.7187500000,6,1.4263392704,-2.2938779901,-0.9734886565,0.8125103403,,,
2.7500000000,7,-0.4108610506,-0.5547380276,0.4128262271,-1.8494334914,,,
2.7812500000,7,0.3635555387,-0.5968321736,0.9308023856,-0.8971534422,,,
2.8125000000,7,0.8667484914,-0.6953344902,0.4463823054,1.1069949952,,,
2.8437500000,7,-1.1002432968,1.9100213158,0.0426636172,0.7912462530,,,
2.8750000000,7,-0.2124145663,1.9635447878,0.6576534641,1.4702474315,,,
2.9062500000,7,0.3301381800,0.5615308290,1.9028072080,0.2464688260,,,
2.9375000000,7,-1.3394010772,1.5699068231,2.4783674333,-0.4482837744,,,
2.9687500000,7,0.0041022005,0.7251494037,1.6998640384,1.7383508457,,,
3.0000000000,8,0.8068531766,-1.0425910551,0.3243588722,-0.4315280454,,,
3.0312500000,8,-0.4912335635,0.5893078056,-0.3080250331,-2.7643803080,,,
3.0625000000,8,1.1952068865,1.1445444315,0.1958671810,-0.1897743319,,,
3.0937500000,8,1.9907896528,0.0737680120,0.8883208288,0.0114502696,,,
3.1250000000,8,0.6869181620,1.5013198216,0.6782850799,-0.7741952885,,,
3.1562500000,8,2.2564956184,1.3168811607,-0.3157015938,0.2792427283,,,
3.1875000000,8,2.5877673403,-1.2419463750,-0.8753223314,-0.0063782440,,,
3.2187500000,8,0.8953186036,-1.0211462797,-0.1299899339,1.5184145208,,,
3.5000000000,9,-1.8389984936,-1.0909272040,0.4825889334,1.1467688435,,,
3.5312500000,9,-0.0912575086,0.4355042258,-0.5981556844,0.3428316999,,,
3.5625000000,9,-0.1234290101,-0.3859075051,-0.4068856788,-0.6407408097,,,
3.5937500000,9,-1.2117474109,0.8702078730,0.4843950700,2.4003691243,,,
3.6250000000,9,0.6679934029,2.8650857800,0.8125103403,1.5387091828,,,
3.6562500000,9,0.4456384107,1.3630557893,0.1532086532,-1.4887291762,,,
3.6875000000,9,-0.7611641008,0.8737882447,-0.5766315153,-0.2453985203,,,
3.7187500000,9,0.8470458326,1.5190458612,-0.2412622290,-0.2134703607,,,
4.0000000000,10,-0.7723189861,-0.9497739372,-0.4315280454,0.3403443506,,,
4.0312500000,10,-1.2808655550,-1.9662756714,-1.7403637988,-0.7055335942,,,
4.0625000000,10,-1.6840958410,-2.3559666125,-1.8417807445,-0.8776538362,,,
4.0937500000,10,0.5621986200,0.2326467119,-0.8451463680,-1.5934803325,,,
4.1250000000,10,0.0983659614,0.4128262271,0.0114502696,0.3268928833,,,
4.1562500000,10,-0.2036004516,-0.2453224994,-0.1722950538,-0.2224224967,,,
4.1875000000,10,1.8606501325,1.3211814381,-0.9238158916,-1.9913265080,,,
4.2187500000,10,0.9871376509,0.4463823054,-1.0182130516,1.2816197960,,,
4.2500000000,11,0.4087503374,-1.2291006398,-0.0063782440,2.2316009870,,,
4.2812500000,11,2.0306267967,0.3530693071,1.1785364181,-0.1218676333,,,
4.3125000000,11,0.6661389185,0.6576534641,1.2700366680,0.5685098797,,,
4.3437500000,11,-0.0986454486,0.0272639229,0.1363600204,0.5013551605,,,
4.3750000000,11,1.3163956500,2.2084155704,-1.0708097558,-0.0630998880,,,
4.4062500000,11,-0.1688100058,2.4783674333,-1.2623176879,0.2050039337,,,
4.4375000000,11,-0.6897861214,0.5039915002,-0.6561812935,-2.1904913958,,,
4.4687500000,11,0.9355137218,0.9639543981,-0.4500766717,-1.6627065276,,,
4.7500000000,12,2.5309068373,-1.5904395907,-0.6407408097,0.4598607025,,,
4.7812500000,12,0.6771519036,-0.8753223314,0.4848661573,0.1463891898,,,
4.8125000000,12,0.3807813663,-2.2268648350,0.8733864765,-2.8719383531,,,
4.8437500000,12,1.2989304814,-0.8191135751,-0.0657413107,-0.7095830712,,,
4.8750000000,12,-0.8266210987,1.3784805497,-1.4887291762,1.1618134295,,,
4.9062500000,12,-1.0543215730,0.4731135773,-2.0684361890,-0.1603183729,,,
4.9375000000,12,-0.1052226362,0.9541473858,-1.5028247523,0.6044175730,,,
4.9687500000,12,-2.0168971580,1.9524956297,-0.7998792476,0.6622647617,,,
......@@ -21,6 +21,7 @@ set(ENV{OV_TEST_DEPLOY_PATH} "${CTEST_SOURCE_DIRECTORY}/local-tmp/test-deploy/")
# however the 2 command do not have the same behavior with ctest. Doing the change currently breaks tests.
subdirs("${CTEST_SOURCE_DIRECTORY}/contrib/plugins/server-extensions/tcp-tagging/test")
#subdirs("${CTEST_SOURCE_DIRECTORY}/plugins/processing/acquisition/test") # No tests here
subdirs("${CTEST_SOURCE_DIRECTORY}/plugins/processing/artefact-detection/test")
subdirs("${CTEST_SOURCE_DIRECTORY}/plugins/processing/classification/test")
subdirs("${CTEST_SOURCE_DIRECTORY}/plugins/processing/data-generation/test")
#subdirs("${CTEST_SOURCE_DIRECTORY}/plugins/processing/dll-bridge/test") # No tests here
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment