void PlotPoincare::setData(ECGHRV2 &data) { gsl_vector_int *px = data.GetPoincare_x()->signal; gsl_vector_int *py = data.GetPoincare_y()->signal; double x = data.GetTriple_index_x(); double y = data.GetTriple_index_y(); double s1 = data.SD1; double s2 = data.SD2; int size = int(px->size); // == py.size QVector<QPointF> points; for (int i = 0; i < size; ++i) { points.push_back(QPointF(float(px->data[i*px->stride]), float(py->data[i*py->stride]))); } rr->setSamples(points); QVector<QPointF> l1; l1.push_back(QPointF(x,y)); l1.push_back(QPointF(x-s1,y+s1)); QVector<QPointF> l2; l2.push_back(QPointF(x,y)); l2.push_back(QPointF(x+s2,y+s2)); sd1->setSamples(l1); sd1->setSamples(l2); replot(); }
void PlotHRVTriangle::setData(ECGHRV2 &data) { gsl_vector_int *hx = data.GetHistogram_x()->signal; gsl_vector_int *hy = data.GetHistogram_y()->signal; double x = data.GetTriple_index_x(); double y = data.GetTriple_index_y(); double n = 200.0; double m = 800.0; int size = int(hx->size); // == hy.size QVector<QPointF> peaks; for (int i = 0; i < size; ++i) { peaks.push_back(QPointF(float(hx->data[i*hx->stride]), float(hy->data[i*hy->stride]))); } rr->setSamples(peaks); QVector<QPointF> vxn; vxn.push_back(QPointF(x, y)); vxn.push_back(QPointF(n, 0.0)); QVector<QPointF> vxm; vxm.push_back(QPointF(x, y)); vxm.push_back(QPointF(m, 0.0)); xn->setSamples(vxn); xm->setSamples(vxm); mx->setValue(x, y); my->setValue(m, y); mn->setValue(n, 0.0); mm->setValue(m, 0.0); replot(); }