MNE-CPP  0.1.9
A Framework for Electrophysiology
rtconnectivity.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef RTCONNECTIVITY_RTPROCESSING_H
36 #define RTCONNECTIVITY_RTPROCESSING_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "rtprocessing_global.h"
43 
44 //=============================================================================================================
45 // EIGEN INCLUDES
46 //=============================================================================================================
47 
48 //=============================================================================================================
49 // QT INCLUDES
50 //=============================================================================================================
51 
52 #include <QObject>
53 #include <QThread>
54 
55 //=============================================================================================================
56 // FORWARD DECLARATIONS
57 //=============================================================================================================
58 
59 namespace FIFFLIB {
60  class FiffInfo;
61 }
62 
63 namespace CONNECTIVITYLIB {
64  class ConnectivitySettings;
65  class Network;
66 }
67 
68 //=============================================================================================================
69 // DEFINE NAMESPACE RTPROCESSINGLIB
70 //=============================================================================================================
71 
72 namespace RTPROCESSINGLIB
73 {
74 
75 //=============================================================================================================
76 // CONNECTIVITYLIB FORWARD DECLARATIONS
77 //=============================================================================================================
78 
79 //=============================================================================================================
86 {
87  Q_OBJECT
88 
89 public:
90  //=========================================================================================================
96  void doWork(const CONNECTIVITYLIB::ConnectivitySettings& connectivitySettings);
97 
98 signals:
99  void resultReady(const QList<CONNECTIVITYLIB::Network>& connectivityResults, const CONNECTIVITYLIB::ConnectivitySettings& connectivitySettings);
100 };
101 
102 //=============================================================================================================
109 {
110  Q_OBJECT
111 
112 public:
113  typedef QSharedPointer<RtConnectivity> SPtr;
114  typedef QSharedPointer<const RtConnectivity> ConstSPtr;
116  //=========================================================================================================
122  explicit RtConnectivity(QObject *parent = 0);
123 
124  //=========================================================================================================
128  ~RtConnectivity();
129 
130  //=========================================================================================================
136  void append(const CONNECTIVITYLIB::ConnectivitySettings& connectivitySettings);
137 
138  //=========================================================================================================
142  void restart();
143 
144  //=========================================================================================================
148  void stop();
149 
150 protected:
151  QThread m_workerThread;
153 signals:
154  void newConnectivityResultAvailable(const QList<CONNECTIVITYLIB::Network>& connectivityResults, const CONNECTIVITYLIB::ConnectivitySettings& connectivitySettings);
155 
156  void operate(const CONNECTIVITYLIB::ConnectivitySettings& connectivitySettings);
157 };
158 
159 //=============================================================================================================
160 // INLINE DEFINITIONS
161 //=============================================================================================================
162 } // NAMESPACE
163 
164 #endif // RTCONNECTIVITY_RTPROCESSING_H
#define RTPROCESINGSHARED_EXPORT
Real-time connectivity worker.
realtime library export/import macros.
This class is a container for connectivity settings.
QSharedPointer< const RtConnectivity > ConstSPtr
Real-time connectivity estimation.
QSharedPointer< RtConnectivity > SPtr