36 #ifndef RTAVERAGING_RTPROCESSING_H
37 #define RTAVERAGING_RTPROCESSING_H
53 #include <QSharedPointer>
70 namespace RTPROCESSINGLIB
101 quint32 iPreStimSamples,
102 quint32 iPostStimSamples,
103 quint32 iBaselineFromMSecs,
104 quint32 iBaselineToMSecs,
105 quint32 iTriggerIndex,
114 void doWork(
const Eigen::MatrixXd& matData);
122 void setAverageNumber(qint32 numAve);
131 void setPreStim(qint32 samples,
141 void setPostStim(qint32 samples,
150 void setTriggerChIndx(qint32 idx);
158 void setArtifactReduction(
const QMap<QString, double> &mapThresholds);
166 void setBaselineActive(
bool activate);
175 void setBaselineFrom(
int fromSamp,
185 void setBaselineTo(
int toSamp,
199 void doAveraging(
const Eigen::MatrixXd& rawSegment);
205 void fillFrontBuffer(
const Eigen::MatrixXd& data,
206 double dTriggerType);
208 void emitEvoked(
double dTriggerType,
209 QStringList& lResponsibleTriggerTypes);
215 void fillBackBuffer(
const Eigen::MatrixXd& data,
216 double dTriggerType);
222 void mergeData(
double dTriggerType);
228 void generateEvoked(
double dTriggerType);
234 inline bool controlValuesChanged();
275 const QStringList& lResponsibleTriggerTypes);
289 typedef QSharedPointer<RtAveraging>
SPtr;
306 quint32 iPreStimSamples,
307 quint32 iPostStimSamples,
308 quint32 iBaselineFromSecs,
309 quint32 iBaselineToSecs,
310 quint32 iTriggerIndex,
312 QObject *parent = 0);
326 void append(
const Eigen::MatrixXd &data);
340 void restart(quint32 numAverages,
341 quint32 iPreStimSamples,
342 quint32 iPostStimSamples,
343 quint32 iBaselineFromSecs,
344 quint32 iBaselineToSecs,
345 quint32 iTriggerIndex,
360 void setAverageNumber(qint32 numAve);
369 void setPreStim(qint32 samples,
379 void setPostStim(qint32 samples,
388 void setTriggerChIndx(qint32 idx);
396 void setArtifactReduction(
const QMap<QString, double> &mapThresholds);
404 void setBaselineActive(
bool activate);
413 void setBaselineFrom(
int fromSamp,
423 void setBaselineTo(
int toSamp,
438 const QStringList& lResponsibleTriggerTypes);
444 const QStringList& lResponsibleTriggerTypes);
445 void operate(
const Eigen::MatrixXd& matData);
446 void averageNumberChanged(qint32 numAve);
447 void averagePreStimChanged(qint32 samples,
449 void averagePostStimChanged(qint32 samples,
451 void averageTriggerChIdxChanged(qint32 idx);
452 void averageArtifactReductionChanged(
const QMap<QString, double> &mapThresholds);
453 void averageBaselineActiveChanged(
bool activate);
454 void averageBaselineFromChanged(
int fromSamp,
456 void averageBaselineToChanged(
int toSamp,
458 void averageResetRequested();
479 #endif // RTAVERAGING_RTPROCESSING_H