MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
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
63namespace MNELIB {
64 class MNEForwardSolution;
65 class MNESourceEstimate;
66}
67
68namespace FSLIB {
69 class SurfaceSet;
70 class AnnotationSet;
71}
72
73namespace Qt3DCore {
74 class QEntity;
75 class QTransform;
76}
77
78//=============================================================================================================
79// DEFINE NAMESPACE DISP3DLIB
80//=============================================================================================================
81
82namespace DISP3DLIB
83{
84
85//=============================================================================================================
86// DISP3DLIB FORWARD DECLARATIONS
87//=============================================================================================================
88
89class RtSourceDataController;
90class AbstractMeshTreeItem;
91class GpuInterpolationItem;
92
93//=============================================================================================================
100{
101 Q_OBJECT
102
103public:
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 //=========================================================================================================
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
278protected:
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
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;
403signals:
404};
405
406//=============================================================================================================
407// INLINE DEFINITIONS
408//=============================================================================================================
409
411{
412 return m_bIsDataInit;
413}
414} //NAMESPACE DISP3DLIB
415
416#endif // DISP3DLIB_MNEESTIMATTREEITEM_H
Definitions for describing the objects in a FIFF file.
#define DISP3DSHARED_EXPORT
Provides the basic tree item.
Provides a generic brain tree item to hold real time data.
QSharedPointer< MneDataTreeItem > SPtr
QPointer< GpuInterpolationItem > m_pInterpolationItemLeftGPU
QPointer< GpuInterpolationItem > m_pInterpolationItemRightGPU
QPointer< AbstractMeshTreeItem > m_pInterpolationItemLeftCPU
QSharedPointer< const MneDataTreeItem > ConstSPtr
QPointer< AbstractMeshTreeItem > m_pInterpolationItemRightCPU
QPointer< RtSourceDataController > m_pRtSourceDataController
Coordinate transformation description.
Annotation set.
A hemisphere set of surfaces.
Definition surfaceset.h:72