MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
sensordatatreeitem.h
Go to the documentation of this file.
1//=============================================================================================================
32#ifndef DISP3DLIB_SENSORDATATREEITEM_H
33#define DISP3DLIB_SENSORDATATREEITEM_H
34
35//=============================================================================================================
36// INCLUDES
37//=============================================================================================================
38
39#include "../../../../disp3D_global.h"
40#include "../common/abstracttreeitem.h"
41#include "../measurement/measurementtreeitem.h"
42
43//=============================================================================================================
44// QT INCLUDES
45//=============================================================================================================
46
47#include <QPointer>
48
49//=============================================================================================================
50// EIGEN INCLUDES
51//=============================================================================================================
52
53//=============================================================================================================
54// FORWARD DECLARATIONS
55//=============================================================================================================
56
57namespace FIFFLIB {
58 class FiffEvoked;
59 class FiffInfo;
60}
61
62namespace MNELIB{
63 class MNEBemSurface;
64}
65
66namespace Qt3DCore {
67 class QTransform;
68}
69
70//=============================================================================================================
71// DEFINE NAMESPACE DISP3DLIB
72//=============================================================================================================
73
74namespace DISP3DLIB {
75
76//=============================================================================================================
77// DISP3DLIB FORWARD DECLARATIONS
78//=============================================================================================================
79
80class RtSensorDataController;
81class GpuInterpolationItem;
82class AbstractMeshTreeItem;
83
84//=============================================================================================================
93{
94 Q_OBJECT
95
96public:
97 typedef QSharedPointer<SensorDataTreeItem> SPtr;
98 typedef QSharedPointer<const SensorDataTreeItem> ConstSPtr;
100 //=========================================================================================================
108 explicit SensorDataTreeItem(int iType = Data3DTreeModelItemTypes::SensorDataItem,
109 const QString& text = "Sensor Data",
110 bool bUseGPU = false);
111
112 //=========================================================================================================
116 virtual ~SensorDataTreeItem();
117
118 //=========================================================================================================
128 virtual void initData(const MNELIB::MNEBemSurface& tBemSurface,
129 const FIFFLIB::FiffInfo &tFiffInfo,
130 const QString& sSensorType,
131 Qt3DCore::QEntity *p3DEntityParent);
132
133 //=========================================================================================================
140 virtual void addData(const Eigen::MatrixXd& tSensorData);
141
142 //=========================================================================================================
148 virtual inline bool isDataInit() const;
149
150 //=========================================================================================================
156 virtual void setLoopState(bool bState);
157
158 //=========================================================================================================
164 virtual void setStreamingState(bool bState);
165
166 //=========================================================================================================
172 virtual void setTimeInterval(int iMSec);
173
174 //=========================================================================================================
180 virtual void setNumberAverages(int iNumberAverages);
181
182 //=========================================================================================================
188 virtual void setColormapType(const QString& sColormap);
189
190 //=========================================================================================================
196 virtual void setThresholds(const QVector3D& vecThresholds);
197
198 //=========================================================================================================
205 virtual void setCancelDistance(double dCancelDist);
206
207 //=========================================================================================================
213 virtual void setInterpolationFunction(const QString &sInterpolationFunction);
214
215 //=========================================================================================================
221 virtual void setSFreq(const double dSFreq);
222
223 //=========================================================================================================
229 virtual void setBadChannels(const FIFFLIB::FiffInfo& info);
230
231 //=========================================================================================================
237 virtual void setTransform(const Qt3DCore::QTransform &transform);
238
239 //=========================================================================================================
246 virtual void setTransform(const FIFFLIB::FiffCoordTrans& transform, bool bApplyInverse = false);
247
248 //=========================================================================================================
254 virtual void applyTransform(const Qt3DCore::QTransform& transform);
255
256 //=========================================================================================================
263 virtual void applyTransform(const FIFFLIB::FiffCoordTrans& transform, bool bApplyInverse = false);
264
265protected:
266 //=========================================================================================================
271 virtual void initItem() override;
272
273 //=========================================================================================================
279 virtual void onNewInterpolationMatrixAvailable(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixLeftHemi);
280
281 //=========================================================================================================
287 void virtual onNewRtRawDataAvailable(const Eigen::VectorXd &vecDataVector);
288
289 //=========================================================================================================
295 virtual void onNewRtSmoothedDataAvailable(const Eigen::MatrixX4f &matColorMatrix);
296
297 //=========================================================================================================
303 virtual void onStreamingStateChanged(const Qt::CheckState& checkState);
304
305 //=========================================================================================================
311 virtual void onColormapTypeChanged(const QVariant& sColormapType);
312
313 //=========================================================================================================
319 virtual void onTimeIntervalChanged(const QVariant &iMSec);
320
321 //=========================================================================================================
327 virtual void onDataThresholdChanged(const QVariant &vecThresholds);
328
329 //=========================================================================================================
335 virtual void onLoopStateChanged(const Qt::CheckState& checkState);
336
337 //=========================================================================================================
343 virtual void onNumberAveragesChanged(const QVariant& iNumAvr);
344
345 //=========================================================================================================
351 virtual void onCancelDistanceChanged(const QVariant& dCancelDist);
352
353 //=========================================================================================================
359 virtual void onInterpolationFunctionChanged(const QVariant& sInterpolationFunction);
360
364 QVector<int> m_iUsedSensors;
365 QVector<int> m_iSensorsBad;
367 QPointer<RtSensorDataController> m_pSensorRtDataWorkController;
368 QPointer<GpuInterpolationItem> m_pInterpolationItemGPU;
369 QPointer<AbstractMeshTreeItem> m_pInterpolationItemCPU;
370};
371
372//=============================================================================================================
373// INLINE DEFINITIONS
374//=============================================================================================================
375
377{
378 return m_bIsDataInit;
379}
380} // namespace DISP3DLIB
381
382#endif // DISP3DLIB_SENSORDATATREEITEM_H
#define DISP3DSHARED_EXPORT
Provides the basic tree item.
This item integrates GeometryInfo and Interpolation into Disp3D structure.
QPointer< RtSensorDataController > m_pSensorRtDataWorkController
QPointer< GpuInterpolationItem > m_pInterpolationItemGPU
QSharedPointer< const SensorDataTreeItem > ConstSPtr
QPointer< AbstractMeshTreeItem > m_pInterpolationItemCPU
QSharedPointer< SensorDataTreeItem > SPtr
Coordinate transformation description.
FIFF measurement file information.
Definition fiff_info.h:85
BEM surface provides geometry information.