MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
rtsourcedataworker.h
Go to the documentation of this file.
1//=============================================================================================================
35#ifndef DISP3DLIB_RTSOURCEDATAWORKER_H
36#define DISP3DLIB_RTSOURCEDATAWORKER_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "../../../../disp3D_global.h"
43
45
46//=============================================================================================================
47// QT INCLUDES
48//=============================================================================================================
49
50#include <QRgb>
51#include <QSharedPointer>
52#include <QObject>
53
54//=============================================================================================================
55// EIGEN INCLUDES
56//=============================================================================================================
57
58#include <Eigen/SparseCore>
59
60//=============================================================================================================
61// FORWARD DECLARATIONS
62//=============================================================================================================
63
64//=============================================================================================================
65// DEFINE NAMESPACE DISP3DLIB
66//=============================================================================================================
67
68namespace DISP3DLIB
69{
70
72 double dThresholdX;
73 double dThresholdZ;
74
75 Eigen::VectorXd vecSensorValues;
76 Eigen::MatrixX4f matOriginalVertColor;
77 Eigen::MatrixX4f matFinalVertColor;
78
79 QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix;
81 QString sColormapType;
82 QRgb (*functionHandlerColorMap)(double v, const QString& sColorMap) = DISPLIB::ColorMap::valueToColor;
83};
86 double dThresholdX;
87 double dThresholdZ;
88 int iFinalMatSize;
89
90 Eigen::VectorXf vecData;
91
92 QRgb (*functionHandlerColorMap)(double v);
93};
94
95//=============================================================================================================
96// DISP3DLIB FORWARD DECLARATIONS
97//=============================================================================================================
98
99//=============================================================================================================
106{
107 Q_OBJECT
108
109public:
110 typedef QSharedPointer<RtSourceDataWorker> SPtr;
111 typedef QSharedPointer<const RtSourceDataWorker> ConstSPtr;
113 //=========================================================================================================
117 explicit RtSourceDataWorker();
118
119 //=========================================================================================================
125 void addData(const Eigen::MatrixXd& data);
126
127 //=========================================================================================================
131 void clear();
132
133 //=========================================================================================================
140 void setSurfaceColor(const Eigen::MatrixX4f &matColorLeft,
141 const Eigen::MatrixX4f &matColorRight);
142
143 //=========================================================================================================
149 void setNumberAverages(int iNumAvr);
150
151 //=========================================================================================================
157 void setStreamSmoothedData(bool bStreamSmoothedData);
158
159 //=========================================================================================================
165 void setColormapType(const QString& sColormapType);
166
167 //=========================================================================================================
173 void setThresholds(const QVector3D &vecThresholds);
174
175 //=========================================================================================================
181 void setLoopState(bool bLoopState);
182
183 //=========================================================================================================
189 void setSFreq(const double dSFreq);
190
191 //=========================================================================================================
197 void setInterpolationMatrixLeft(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixLeft);
198
199 //=========================================================================================================
205 void setInterpolationMatrixRight(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixRight);
206
207 //=========================================================================================================
211 void streamData();
212
213protected:
214 //=========================================================================================================
225 static void normalizeAndTransformToColor(const Eigen::VectorXf& vecData,
226 Eigen::MatrixX4f &matFinalVertColor,
227 double dThresholdX,
228 double dThresholdZ,
229 QRgb (*functionHandlerColorMap)(double v, const QString& sColorMap),
230 const QString& sColorMap);
231
232 //=========================================================================================================
238 static void generateColorsFromSensorValues(VisualizationInfo &visualizationInfoHemi);
239
240 QList<Eigen::VectorXd> m_lDataQ;
241 QList<Eigen::VectorXd> m_lDataLoopQ;
242 Eigen::VectorXd m_vecAverage;
251 double m_dSFreq;
253 QList<VisualizationInfo> m_lHemiVisualizationInfo;
255signals:
256 //=========================================================================================================
263 void newRtRawData(const Eigen::VectorXd &vecDataVectorLeftHemi,
264 const Eigen::VectorXd &vecDataVectorRightHemi);
265
266 //=========================================================================================================
273 void newRtSmoothedData(const Eigen::MatrixX4f &matColorMatrixLeftHemi,
274 const Eigen::MatrixX4f &matColorMatrixRightHemi);
275};
276} // NAMESPACE
277
278#endif //DISP3DLIB_RTSOURCEDATAWORKER_H
ColorMap class declaration.
#define DISP3DSHARED_EXPORT
static QRgb valueToColor(double v, const QString &sMap)
Definition colormap.h:688
QSharedPointer< Eigen::SparseMatrix< float > > pMatInterpolationMatrix
This worker streams either interpolated or raw data.
QSharedPointer< const RtSourceDataWorker > ConstSPtr
QList< Eigen::VectorXd > m_lDataLoopQ
void newRtRawData(const Eigen::VectorXd &vecDataVectorLeftHemi, const Eigen::VectorXd &vecDataVectorRightHemi)
QList< Eigen::VectorXd > m_lDataQ
QList< VisualizationInfo > m_lHemiVisualizationInfo
QSharedPointer< RtSourceDataWorker > SPtr
void newRtSmoothedData(const Eigen::MatrixX4f &matColorMatrixLeftHemi, const Eigen::MatrixX4f &matColorMatrixRightHemi)