88 Eigen::VectorXf col_cals(this->
data->ncol);
89 Eigen::VectorXf row_cals(this->
data->nrow);
96 for (j = 0; j < this->
data->nrow; j++) {
97 name = this->
data->rowlist[j];
99 for (p = 0; p < nch; p++)
100 if (QString::compare(name,chs[p].ch_name) == 0) {
101 row_cals[j] = chs[p].range*chs[p].cal;
106 qCritical(
"Channel %s not found. Cannot calibrate the compensation matrix.",name.toUtf8().constData());
110 for (k = 0; k < this->
data->ncol; k++) {
111 name = this->
data->collist[k];
113 for (p = 0; p < nch; p++)
114 if (QString::compare(name,chs[p].ch_name) == 0) {
115 col_cals[k] = chs[p].range*chs[p].cal;
120 qCritical(
"Channel %s not found. Cannot calibrate the compensation matrix.",name.toUtf8().constData());
125 for (j = 0; j < this->
data->nrow; j++)
126 for (k = 0; k < this->
data->ncol; k++)
127 this->
data->data(j, k) = row_cals[j]*this->
data->data(j, k)/col_cals[k];
130 for (j = 0; j < this->
data->nrow; j++)
131 for (k = 0; k < this->
data->ncol; k++)
132 this->
data->data(j, k) = col_cals[k]*this->
data->data(j, k)/row_cals[j];