MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
rtsensordatacontroller.h
Go to the documentation of this file.
1//=============================================================================================================
35#ifndef DISP3DLIB_RTSENSORDATACONTROLLER_H
36#define DISP3DLIB_RTSENSORDATACONTROLLER_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "../../../../disp3D_global.h"
43
44//=============================================================================================================
45// QT INCLUDES
46//=============================================================================================================
47
48#include <QTimer>
49#include <QPointer>
50#include <QThread>
51
52//=============================================================================================================
53// EIGEN INCLUDES
54//=============================================================================================================
55
56#include <Eigen/SparseCore>
57
58//=============================================================================================================
59// FORWARD DECLARATIONS
60//=============================================================================================================
61
62namespace FIFFLIB {
63 class FiffInfo;
64}
65
66//=============================================================================================================
67// DEFINE NAMESPACE DISP3DLIB
68//=============================================================================================================
69
70namespace DISP3DLIB
71{
72
73//=============================================================================================================
74// DISP3DLIB FORWARD DECLARATIONS
75//=============================================================================================================
76
77class RtSensorDataWorker;
78class RtSensorInterpolationMatWorker;
79
80//=============================================================================================================
87{
88 Q_OBJECT
89
90public:
91 typedef QSharedPointer<RtSensorDataController> SPtr;
92 typedef QSharedPointer<const RtSensorDataController> ConstSPtr;
94 //=========================================================================================================
99
100 //=========================================================================================================
105
106 //=========================================================================================================
112 void setStreamingState(bool bStreamingState);
113
114 //=========================================================================================================
121 void setInterpolationFunction(const QString &sInterpolationFunction);
122
123 //=========================================================================================================
129 void setLoopState(bool bLoopState);
130
131 //=========================================================================================================
139 void setCancelDistance(double dCancelDist);
140
141 //=========================================================================================================
147 void setTimeInterval(int iMSec);
148
149 //=========================================================================================================
162 void setInterpolationInfo(const Eigen::MatrixX3f &matVertices,
163 const QVector<QVector<int> > &vecNeighborVertices,
164 const QVector<Eigen::Vector3f> &vecSensorPos,
165 const FIFFLIB::FiffInfo &fiffInfo,
166 int iSensorType);
167
168 //=========================================================================================================
174 void setThresholds(const QVector3D &vecThresholds);
175
176 //=========================================================================================================
182 void setColormapType(const QString &sColormapType);
183
184 //=========================================================================================================
190 void setNumberAverages(int iNumAvr);
191
192 //=========================================================================================================
198 void setSFreq(double dSFreq);
199
200 //=========================================================================================================
206 void setBadChannels(const FIFFLIB::FiffInfo &info);
207
208 //=========================================================================================================
214 void setStreamSmoothedData(bool bStreamSmoothedData);
215
216 //=========================================================================================================
222 void addData(const Eigen::MatrixXd& data);
223
224protected:
225 //=========================================================================================================
231 void onNewRtRawData(const Eigen::VectorXd &vecDataVector);
232
233 //=========================================================================================================
239 void onNewSmoothedRtRawData(const Eigen::MatrixX4f &matColorMatrix);
240
241 //=========================================================================================================
247 void onNewInterpolationMatrixCalculated(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
248
249 QTimer m_timer;
254 QPointer<RtSensorDataWorker> m_pRtSensorDataWorker;
255 QPointer<RtSensorInterpolationMatWorker> m_pRtInterpolationWorker;
258signals:
259 //=========================================================================================================
269 void interpolationInfoChanged(const Eigen::MatrixX3f &matVertices,
270 const QVector<QVector<int> > &vecNeighborVertices,
271 const QVector<Eigen::Vector3f> &vecSensorPos,
272 const FIFFLIB::FiffInfo &fiffInfo,
273 int iSensorType);
274
275 //=========================================================================================================
281 void numberVerticesChanged(int iNumberVerts);
282
283 //=========================================================================================================
290
291 //=========================================================================================================
297 void streamSmoothedDataChanged(bool bStreamSmoothedData);
298
299 //=========================================================================================================
305 void interpolationFunctionChanged(const QString &sInterpolationFunction);
306
307 //=========================================================================================================
313 void cancelDistanceChanged(double dCancelDist);
314
315 //=========================================================================================================
321 void surfaceColorChanged(const Eigen::MatrixX3f& matSurfaceVertColor);
322
323 //=========================================================================================================
329 void thresholdsChanged(const QVector3D &vecThresholds);
330
331 //=========================================================================================================
337 void sFreqChanged(double dSFreq);
338
339 //=========================================================================================================
345 void numberAveragesChanged(int iNumAvr);
346
347 //=========================================================================================================
353 void loopStateChanged(bool bLoopState);
354
355 //=========================================================================================================
361 void colormapTypeChanged(const QString &sColormapType);
362
363 //=========================================================================================================
369 void rawDataChanged(const Eigen::MatrixXd& data);
370
371 //=========================================================================================================
377 void newInterpolationMatrixAvailable(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
378
379 //=========================================================================================================
385 void newRtRawDataAvailable(const Eigen::VectorXd &vecDataVector);
386
387 //=========================================================================================================
393 void newRtSmoothedDataAvailable(const Eigen::MatrixX4f &matColorMatrix);
394};
395} // NAMESPACE
396
397#endif //DISP3DLIB_RTSENSORDATACONTROLLER_H
#define DISP3DSHARED_EXPORT
This controller organizes data streaming and interpolation matrix calculations. It only uses Queued s...
void sFreqChanged(double dSFreq)
void newRtSmoothedDataAvailable(const Eigen::MatrixX4f &matColorMatrix)
void thresholdsChanged(const QVector3D &vecThresholds)
void newRtRawDataAvailable(const Eigen::VectorXd &vecDataVector)
void interpolationInfoChanged(const Eigen::MatrixX3f &matVertices, const QVector< QVector< int > > &vecNeighborVertices, const QVector< Eigen::Vector3f > &vecSensorPos, const FIFFLIB::FiffInfo &fiffInfo, int iSensorType)
void badChannelsChanged(const FIFFLIB::FiffInfo &info)
void cancelDistanceChanged(double dCancelDist)
void loopStateChanged(bool bLoopState)
void newInterpolationMatrixAvailable(QSharedPointer< Eigen::SparseMatrix< float > > pMatInterpolationMatrix)
void numberAveragesChanged(int iNumAvr)
void interpolationFunctionChanged(const QString &sInterpolationFunction)
void colormapTypeChanged(const QString &sColormapType)
void streamSmoothedDataChanged(bool bStreamSmoothedData)
void surfaceColorChanged(const Eigen::MatrixX3f &matSurfaceVertColor)
void numberVerticesChanged(int iNumberVerts)
QSharedPointer< const RtSensorDataController > ConstSPtr
void rawDataChanged(const Eigen::MatrixXd &data)
QSharedPointer< RtSensorDataController > SPtr
QPointer< RtSensorDataWorker > m_pRtSensorDataWorker
QPointer< RtSensorInterpolationMatWorker > m_pRtInterpolationWorker
FIFF measurement file information.
Definition fiff_info.h:85