MNE-CPP  0.1.9
A Framework for Electrophysiology
mnedatatreeitem.h
Go to the documentation of this file.
1  //=============================================================================================================
36 #ifndef DISP3DLIB_MNEDATATREEITEM_H
37 #define DISP3DLIB_MNEDATATREEITEM_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../../../../disp3D_global.h"
44 #include "../common/abstracttreeitem.h"
45 
46 #include <fiff/fiff_types.h>
47 
48 //=============================================================================================================
49 // QT INCLUDES
50 //=============================================================================================================
51 
52 #include <QPointer>
53 #include <Qt3DCore/QTransform>
54 
55 //=============================================================================================================
56 // EIGEN INCLUDES
57 //=============================================================================================================
58 
59 //=============================================================================================================
60 // FORWARD DECLARATIONS
61 //=============================================================================================================
62 
63 namespace MNELIB {
64  class MNEForwardSolution;
65  class MNESourceEstimate;
66 }
67 
68 namespace FSLIB {
69  class SurfaceSet;
70  class AnnotationSet;
71 }
72 
73 namespace Qt3DCore {
74  class QEntity;
75  class QTransform;
76 }
77 
78 //=============================================================================================================
79 // DEFINE NAMESPACE DISP3DLIB
80 //=============================================================================================================
81 
82 namespace DISP3DLIB
83 {
84 
85 //=============================================================================================================
86 // DISP3DLIB FORWARD DECLARATIONS
87 //=============================================================================================================
88 
89 class RtSourceDataController;
90 class AbstractMeshTreeItem;
91 class GpuInterpolationItem;
92 
93 //=============================================================================================================
100 {
101  Q_OBJECT
102 
103 public:
104  typedef QSharedPointer<MneDataTreeItem> SPtr;
105  typedef QSharedPointer<const MneDataTreeItem> ConstSPtr;
107  //=========================================================================================================
115  explicit MneDataTreeItem(int iType = Data3DTreeModelItemTypes::MNEDataItem,
116  const QString& text = "MNE",
117  bool bUseGPU = false);
118 
119  //=========================================================================================================
123  ~MneDataTreeItem();
124 
125  //=========================================================================================================
134  void initData(const MNELIB::MNEForwardSolution& tForwardSolution,
135  const FSLIB::SurfaceSet& tSurfSet,
136  const FSLIB::AnnotationSet& tAnnotSet,
137  Qt3DCore::QEntity* p3DEntityParent);
138 
139  //=========================================================================================================
145  void addData(const MNELIB::MNESourceEstimate& tSourceEstimate);
146 
147  //=========================================================================================================
153  inline bool isDataInit() const;
154 
155  //=========================================================================================================
161  void setLoopState(bool state);
162 
163  //=========================================================================================================
169  void setStreamingState(bool state);
170 
171  //=========================================================================================================
177  void setTimeInterval(int iMSec);
178 
179  //=========================================================================================================
185  void setNumberAverages(int iNumberAverages);
186 
187  //=========================================================================================================
193  void setColormapType(const QString& sColormap);
194 
195  //=========================================================================================================
201  void setVisualizationType(const QString& sVisualizationType);
202 
203  //=========================================================================================================
209  void setThresholds(const QVector3D& vecThresholds);
210 
211  //=========================================================================================================
218  //virtual void setCancelDistance(double dCancelDist);
219 
220  //=========================================================================================================
226  virtual void setInterpolationFunction(const QString &sInterpolationFunction);
227 
228  //=========================================================================================================
234  void setSFreq(const double dSFreq);
235 
236  //=========================================================================================================
242  void setAlpha(float fAlpha);
243 
244  //=========================================================================================================
250  virtual void setTransform(const Qt3DCore::QTransform &transform);
251 
252  //=========================================================================================================
259  virtual void setTransform(const FIFFLIB::FiffCoordTrans& transform, bool bApplyInverse = false);
260 
261  //=========================================================================================================
267  virtual void applyTransform(const Qt3DCore::QTransform& transform);
268 
269  //=========================================================================================================
276  virtual void applyTransform(const FIFFLIB::FiffCoordTrans& transform, bool bApplyInverse = false);
277 
278 protected:
279  //=========================================================================================================
283  void initItem();
284 
285  //=========================================================================================================
291  void onCheckStateWorkerChanged(const Qt::CheckState& checkState);
292 
293  //=========================================================================================================
299  virtual void onNewInterpolationMatrixLeftAvailable(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixLeftHemi);
300 
301  //=========================================================================================================
307  virtual void onNewInterpolationMatrixRightAvailable(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrixRightHemi);
308 
309  //=========================================================================================================
316  void virtual onNewRtRawData(const Eigen::VectorXd &vecDataVectorLeftHemi,
317  const Eigen::VectorXd &vecDataVectorRightHemi);
318 
319  //=========================================================================================================
326  void onNewRtSmoothedDataAvailable(const Eigen::MatrixX4f &matColorMatrixLeftHemi,
327  const Eigen::MatrixX4f &matColorMatrixRightHemi);
328 
329  //=========================================================================================================
335  void onColormapTypeChanged(const QVariant& sColormapType);
336 
337  //=========================================================================================================
343  void onTimeIntervalChanged(const QVariant &iMSec);
344 
345  //=========================================================================================================
351  void onDataThresholdChanged(const QVariant &vecThresholds);
352 
353  //=========================================================================================================
359  void onVisualizationTypeChanged(const QVariant& sVisType);
360 
361  //=========================================================================================================
367  void onCheckStateLoopedStateChanged(const Qt::CheckState& checkState);
368 
369  //=========================================================================================================
375  void onNumberAveragesChanged(const QVariant& iNumAvr);
376 
377  //=========================================================================================================
383  //virtual void onCancelDistanceChanged(const QVariant& dCancelDist);
384 
385  //=========================================================================================================
391  virtual void onInterpolationFunctionChanged(const QVariant& sInterpolationFunction);
392 
394  bool m_bUseGPU;
396  QPointer<RtSourceDataController> m_pRtSourceDataController;
398  QPointer<AbstractMeshTreeItem> m_pInterpolationItemLeftCPU;
399  QPointer<GpuInterpolationItem> m_pInterpolationItemLeftGPU;
400  QPointer<AbstractMeshTreeItem> m_pInterpolationItemRightCPU;
401  QPointer<GpuInterpolationItem> m_pInterpolationItemRightGPU;
403 signals:
404 };
405 
406 //=============================================================================================================
407 // INLINE DEFINITIONS
408 //=============================================================================================================
409 
410 inline bool MneDataTreeItem::isDataInit() const
411 {
412  return m_bIsDataInit;
413 }
414 } //NAMESPACE DISP3DLIB
415 
416 #endif // DISP3DLIB_MNEESTIMATTREEITEM_H
DISP3DLIB::MneDataTreeItem
Provides a generic brain tree item to hold real time data.
Definition: mnedatatreeitem.h:99
DISP3DLIB::MneDataTreeItem::m_pInterpolationItemLeftGPU
QPointer< GpuInterpolationItem > m_pInterpolationItemLeftGPU
Definition: mnedatatreeitem.h:399
FSLIB::AnnotationSet
Annotation set.
Definition: annotationset.h:80
DISP3DLIB::MneDataTreeItem::m_bIsDataInit
bool m_bIsDataInit
Definition: mnedatatreeitem.h:393
MNELIB::MNEForwardSolution
Forward operator.
Definition: mne_forwardsolution.h:170
DISP3DLIB::MneDataTreeItem::m_pRtSourceDataController
QPointer< RtSourceDataController > m_pRtSourceDataController
Definition: mnedatatreeitem.h:396
DISP3DLIB::MneDataTreeItem::ConstSPtr
QSharedPointer< const MneDataTreeItem > ConstSPtr
Definition: mnedatatreeitem.h:105
DISP3DLIB::AbstractTreeItem
Provides the basic tree item.
Definition: abstracttreeitem.h:76
DISP3DLIB::MneDataTreeItem::isDataInit
bool isDataInit() const
Definition: mnedatatreeitem.h:410
MNELIB::MNESourceEstimate
Source estimation.
Definition: mne_sourceestimate.h:84
FSLIB::SurfaceSet
A hemisphere set of surfaces.
Definition: surfaceset.h:71
DISP3DLIB::MneDataTreeItem::m_pInterpolationItemRightGPU
QPointer< GpuInterpolationItem > m_pInterpolationItemRightGPU
Definition: mnedatatreeitem.h:401
DISP3DLIB::MneDataTreeItem::SPtr
QSharedPointer< MneDataTreeItem > SPtr
Definition: mnedatatreeitem.h:104
DISP3DLIB::MneDataTreeItem::m_pInterpolationItemLeftCPU
QPointer< AbstractMeshTreeItem > m_pInterpolationItemLeftCPU
Definition: mnedatatreeitem.h:398
FIFFLIB::FiffCoordTrans
Coordinate transformation description.
Definition: fiff_coord_trans.h:74
fiff_types.h
Definitions for describing the objects in a FIFF file.
DISP3DSHARED_EXPORT
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
DISP3DLIB::MneDataTreeItem::m_pInterpolationItemRightCPU
QPointer< AbstractMeshTreeItem > m_pInterpolationItemRightCPU
Definition: mnedatatreeitem.h:400
DISP3DLIB::MneDataTreeItem::m_bUseGPU
bool m_bUseGPU
Definition: mnedatatreeitem.h:394