19 #include "HRV/timeDomainHRV_emxAPI.h" 20 #include "HRV/timeDomainHRV_terminate.h" 21 #include "HRV/timeDomainHRV_initialize.h" 23 #include "HRV/freqDomainHRV_emxAPI.h" 24 #include "HRV/freqDomainHRV_terminate.h" 25 #include "HRV/freqDomainHRV_initialize.h" 28 #include "HRV/preProcessIBI_terminate.h" 29 #include "HRV/preProcessIBI_initialize.h" 30 #include "HRV/preProcessIBI.h" 31 #include "HRV/preProcessIBI_types.h" 35 timeDomainHRV_initialize();
36 preProcessIBI_initialize();
38 emxArray_real_T *ibi, *nibi;
39 emxArray_boolean_T *art;
41 emxInitArray_real_T(&nibi, 2);
42 emxInitArray_boolean_T(&art, 1);
49 preProcessIBI(ibi, nibi, art);
51 qDebug() <<
"Terminate Matlab function" << endl;
52 timeDomainHRV(nibi, 100, 10, output);
53 qDebug() <<
"Terminate Matlab function" << endl;
54 emxDestroyArray_real_T(ibi);
55 emxDestroyArray_real_T(nibi);
56 emxDestroyArray_boolean_T(art);
59 timeDomainHRV_terminate();
60 preProcessIBI_terminate();
62 void performFreqDomainHrv(
const QVector<double>* ibiData,
const QVector<double>* timeData, structFreq_T *output) {
63 freqDomainHRV_initialize();
64 preProcessIBI_initialize();
65 emxArray_real_T *ibi, *nibi;
66 emxArray_boolean_T *art;
68 emxInitArray_real_T(&nibi, 2);
69 emxInitArray_boolean_T(&art, 1);
74 preProcessIBI(ibi, nibi, art);
76 qDebug() <<
"Terminate Matlab function" << endl;
77 freqDomainHRV(nibi,output);
78 qDebug() <<
"Terminate Matlab function" << endl;
79 emxDestroyArray_real_T(ibi);
80 emxDestroyArray_real_T(nibi);
81 emxDestroyArray_boolean_T(art);
84 freqDomainHRV_terminate();
85 preProcessIBI_terminate();
92 emxArray_real_T *result;
93 int iv1[2] = { ibiData->length(), 2 };
100 result = emxCreateND_real_T(2, *(
int (*)[2])&iv1[0]);
105 qDebug() << result->size[0U] << endl
106 << result->size[0] << endl
107 << ibiData->length() <<endl
110 for (idx0 = 0; idx0 < result->size[0U]; idx0++) {
111 for (idx1 = 0; idx1 < 2; idx1++) {
115 result->data[idx0 + result->size[0] * idx1] = (timeData->at(index)*1000);
117 result->data[idx0 + result->size[0] * idx1] = (ibiData->at(index++)*1000);
121 qDebug() <<
"Created ibiFile in argInit_Unboundedx2_real_T" << endl;
128 emxArray_real_T *result;
129 int iv1[2] = { ibiData->length(), 2 };
136 result = emxCreateND_real_T(2, *(
int (*)[2])&iv1[0]);
141 qDebug() << result->size[0U] << endl
142 << result->size[0] << endl
143 << ibiData->length() <<endl
145 int timeCount=0,index=0;
147 for (idx0 = 0; idx0 < result->size[0U]; idx0++) {
148 for (idx1 = 0; idx1 < 2; idx1++) {
152 result->data[idx0 + result->size[0] * idx1] = timeCount;
153 timeCount+=ibiData->at(index);
156 result->data[idx0 + result->size[0] * idx1] = (ibiData->at(index++));
165 emxArray_real_T *result;
166 static int iv1[2] = { 2, 2 };
173 result = emxCreateND_real_T(2, *(
int (*)[100])&iv1[0]);
176 for (idx0 = 0; idx0 < result->size[0U]; idx0++) {
177 for (idx1 = 0; idx1 < 2; idx1++) {
180 result->data[idx0 + result->size[0] * idx1] = 1.075;
184 qDebug() <<
"Created ibiFile in argInit_Unboundedx2_real_T" << endl;
Collection of functions used to interact with the Matlab Coder generated HRV-functions.
void performTimeDomainHrv(const QVector< double > *ibiData, struct0_T *output)
Performs the Statistical Time Domain calculations for HRV Analysis.
emxArray_real_T * argInit_Unboundedx2_real_T(const QVector< double > *ibiData, const QVector< double > *timeData)
Creates the emxArray_real_T needed for performTimeDomainHrv() The emxArray_real_T is the input vector...
void performFreqDomainHrv(const QVector< double > *ibiData, const QVector< double > *timeData, structFreq_T *output)
Performs calculations for Frequency Domain HRV Analysis.