MNE-CPP  0.1.9
A Framework for Electrophysiology
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 
57 namespace FIFFLIB {
58  class FiffEvoked;
59  class FiffInfo;
60 }
61 
62 namespace MNELIB{
63  class MNEBemSurface;
64 }
65 
66 namespace Qt3DCore {
67  class QTransform;
68 }
69 
70 //=============================================================================================================
71 // DEFINE NAMESPACE DISP3DLIB
72 //=============================================================================================================
73 
74 namespace DISP3DLIB {
75 
76 //=============================================================================================================
77 // DISP3DLIB FORWARD DECLARATIONS
78 //=============================================================================================================
79 
80 class RtSensorDataController;
81 class GpuInterpolationItem;
82 class AbstractMeshTreeItem;
83 
84 //=============================================================================================================
93 {
94  Q_OBJECT
95 
96 public:
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 
265 protected:
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 
362  bool m_bUseGPU;
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 
376 inline bool SensorDataTreeItem::isDataInit() const
377 {
378  return m_bIsDataInit;
379 }
380 } // namespace DISP3DLIB
381 
382 #endif // DISP3DLIB_SENSORDATATREEITEM_H
This item integrates GeometryInfo and Interpolation into Disp3D structure.
FIFF measurement file information.
Definition: fiff_info.h:84
BEM surface provides geometry information.
QPointer< AbstractMeshTreeItem > m_pInterpolationItemCPU
Coordinate transformation description.
QPointer< GpuInterpolationItem > m_pInterpolationItemGPU
QSharedPointer< const SensorDataTreeItem > ConstSPtr
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
Provides the basic tree item.
QSharedPointer< SensorDataTreeItem > SPtr
QPointer< RtSensorDataController > m_pSensorRtDataWorkController