MNE-CPP  0.1.9
A Framework for Electrophysiology
butterflyview.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef BUTTERFLYVIEW_H
37 #define BUTTERFLYVIEW_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../disp_global.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QMap>
50 #include <QWidget>
51 #if !defined(NO_QOPENGLWIDGET)
52 #include <QOpenGLWidget>
53 #endif
54 
55 //=============================================================================================================
56 // EIGEN INCLUDES
57 //=============================================================================================================
58 
59 //=============================================================================================================
60 // FORWARD DECLARATIONS
61 //=============================================================================================================
62 
63 //=============================================================================================================
64 // DEFINE NAMESPACE DISPLIB
65 //=============================================================================================================
66 
67 namespace DISPLIB
68 {
69 
70 //=============================================================================================================
71 // DISPLIB FORWARD DECLARATIONS
72 //=============================================================================================================
73 
74 class EvokedSetModel;
75 class ChannelInfoModel;
76 
82 #if !defined(NO_QOPENGLWIDGET)
83 class DISPSHARED_EXPORT ButterflyView : public QOpenGLWidget
84 #else
85 class DISPSHARED_EXPORT ButterflyView : public QWidget
86 #endif
87 {
88  Q_OBJECT
89 
90 public:
91  typedef QSharedPointer<ButterflyView> SPtr;
92  typedef QSharedPointer<const ButterflyView> ConstSPtr;
94  //=========================================================================================================
98  explicit ButterflyView(const QString& sSettingsPath = "",
99  QWidget *parent = 0,
100  Qt::WindowFlags f = Qt::Widget);
101 
102  //=========================================================================================================
106  ~ButterflyView();
107 
108  //=========================================================================================================
113  void updateOpenGLViewport();
114 
115  //=========================================================================================================
121  void setEvokedSetModel(QSharedPointer<EvokedSetModel> model);
122 
123  //=========================================================================================================
129  QSharedPointer<EvokedSetModel> getEvokedSetModel();
130 
131  //=========================================================================================================
135  void dataUpdate();
136 
137  //=========================================================================================================
143  QMap<QString, bool> getModalityMap();
144 
145  //=========================================================================================================
151  void setModalityMap(const QMap<QString, bool>& modalityMap);
152 
153  //=========================================================================================================
159  void setScaleMap(const QMap<qint32, float> &scaleMap);
160 
161  //=========================================================================================================
167  void setSelectedChannels(const QList<int> &selectedChannels);
168 
169  //=========================================================================================================
173  void updateView();
174 
175  //=========================================================================================================
181  void setBackgroundColor(const QColor& backgroundColor);
182 
183  //=========================================================================================================
189  const QColor& getBackgroundColor();
190 
191  //=========================================================================================================
197  void takeScreenshot(const QString& fileName);
198 
199  //=========================================================================================================
205  QSharedPointer<QMap<QString, QColor> > getAverageColor() const;
206 
207  //=========================================================================================================
213  QSharedPointer<QMap<QString, bool> > getAverageActivation() const;
214 
215  //=========================================================================================================
221  void setAverageColor(const QSharedPointer<QMap<QString, QColor> > qMapAverageColor);
222 
223  //=========================================================================================================
229  void setSingleAverageColor(const QColor& avgColor);
230 
231  //=========================================================================================================
237  void setAverageActivation(const QSharedPointer<QMap<QString, bool> > qMapAverageActivation);
238 
239  //=========================================================================================================
245  void setChannelInfoModel(QSharedPointer<ChannelInfoModel> &pChannelInfoModel);
246 
247  //=========================================================================================================
253  void showSelectedChannelsOnly(const QStringList& selectedChannels);
254 
255  //=========================================================================================================
261  void showSelectedChannels(const QList<int> selectedChannelsIndexes);
262 
263  //=========================================================================================================
267  void showAllChannels();
268 
269  //=========================================================================================================
273  void saveSettings();
274 
275  //=========================================================================================================
279  void loadSettings();
280 
281  //=========================================================================================================
285  void clearView();
286 
287 protected:
288  //=========================================================================================================
295  #if !defined(NO_QOPENGLWIDGET)
296  virtual void paintGL();
297  #else
298  virtual void paintEvent(QPaintEvent *event);
299  #endif
300 
301  //=========================================================================================================
307  void createPlotPath(qint32 row, QPainter& painter) const;
308 
309  bool m_bShowMAG;
310  bool m_bShowGRAD;
311  bool m_bShowEEG;
312  bool m_bShowEOG;
313  bool m_bShowMISC;
314  bool m_bIsInit;
316  QString m_sSettingsPath;
320  QList<int> m_lSelectedChannels;
322  QMap<QString, bool> m_modalityMap;
323  QMap<qint32,float> m_scaleMap;
325  QSharedPointer<EvokedSetModel> m_pEvokedSetModel;
326  QSharedPointer<ChannelInfoModel> m_pChannelInfoModel;
328  QSharedPointer<QMap<QString, bool> > m_qMapAverageActivation;
329  QSharedPointer<QMap<QString, QColor> > m_qMapAverageColor;
330 };
331 
332 //=============================================================================================================
333 // INLINE DEFINITIONS
334 //=============================================================================================================
335 } // NAMESPACE
336 
337 #endif // BUTTERFLYVIEW_H
QSharedPointer< const ButterflyView > ConstSPtr
Definition: butterflyview.h:92
The ButterflyView class provides a butterfly view.
Definition: butterflyview.h:83
QSharedPointer< ButterflyView > SPtr
Definition: butterflyview.h:91
QSharedPointer< EvokedSetModel > m_pEvokedSetModel
QMap< QString, bool > m_modalityMap
QMap< qint32, float > m_scaleMap
QSharedPointer< QMap< QString, bool > > m_qMapAverageActivation
QList< int > m_lSelectedChannels
QSharedPointer< QMap< QString, QColor > > m_qMapAverageColor
#define DISPSHARED_EXPORT
Definition: disp_global.h:55
QSharedPointer< ChannelInfoModel > m_pChannelInfoModel