MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
rtinvop.h
Go to the documentation of this file.
1//=============================================================================================================
36#ifndef RTINVOP_RTPROCESSING_H
37#define RTINVOP_RTPROCESSING_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "rtprocessing_global.h"
44
45#include <fiff/fiff_cov.h>
46
47//=============================================================================================================
48// QT INCLUDES
49//=============================================================================================================
50
51#include <QThread>
52#include <QSharedPointer>
53
54//=============================================================================================================
55// FORWARD DECLARATIONS
56//=============================================================================================================
57
58namespace FIFFLIB {
59 class FiffInfo;
60}
61
62namespace MNELIB {
63 class MNEForwardSolution;
64 class MNEInverseOperator;
65}
66
67//=============================================================================================================
68// DEFINE NAMESPACE RTPROCESSINGLIB
69//=============================================================================================================
70
71namespace RTPROCESSINGLIB
72{
73
74//=============================================================================================================
75// RTPROCESSINGLIB FORWARD DECLARATIONS
76//=============================================================================================================
77
79 QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo;
80 QSharedPointer<MNELIB::MNEForwardSolution> pFwd;
81 FIFFLIB::FiffCov noiseCov;
82};
83
84//=============================================================================================================
91{
92 Q_OBJECT
93
94public:
95 //=========================================================================================================
101 void doWork(const RtInvOpInput &inputData);
102
103signals:
104 //=========================================================================================================
111};
112
113//=============================================================================================================
119class RTPROCESINGSHARED_EXPORT RtInvOp : public QObject
120{
121 Q_OBJECT
122
123public:
124 typedef QSharedPointer<RtInvOp> SPtr;
125 typedef QSharedPointer<const RtInvOp> ConstSPtr;
127 //=========================================================================================================
135 explicit RtInvOp(QSharedPointer<FIFFLIB::FiffInfo> &p_pFiffInfo,
136 QSharedPointer<MNELIB::MNEForwardSolution> &p_pFwd,
137 QObject *parent = 0);
138
139 //=========================================================================================================
143 ~RtInvOp();
144
145 //=========================================================================================================
151 void append(const FIFFLIB::FiffCov &noiseCov);
152
153 //=========================================================================================================
159 void setFwdSolution(QSharedPointer<MNELIB::MNEForwardSolution> pFwd);
160
161 //=========================================================================================================
165 void restart();
166
167 //=========================================================================================================
171 void stop();
172
173protected:
174 //=========================================================================================================
178 void handleResults(const MNELIB::MNEInverseOperator& invOp);
179
180 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
181 QSharedPointer<MNELIB::MNEForwardSolution> m_pFwd;
185signals:
186 //=========================================================================================================
193
194 //=========================================================================================================
200 void operate(const RtInvOpInput &inputData);
201};
202
203//=============================================================================================================
204// INLINE DEFINITIONS
205//=============================================================================================================
206} // NAMESPACE
207
208#endif // RTINV_RTPROCESSING_H
realtime library export/import macros.
#define RTPROCESINGSHARED_EXPORT
FiffCov class declaration.
covariance data
Definition fiff_cov.h:78
Real-time inverse operator worker.
Definition rtinvop.h:91
void resultReady(const MNELIB::MNEInverseOperator &invOp)
Real-time inverse operator estimation.
Definition rtinvop.h:120
QSharedPointer< MNELIB::MNEForwardSolution > m_pFwd
Definition rtinvop.h:181
QSharedPointer< RtInvOp > SPtr
Definition rtinvop.h:124
void invOperatorCalculated(const MNELIB::MNEInverseOperator &invOp)
QSharedPointer< const RtInvOp > ConstSPtr
Definition rtinvop.h:125
QSharedPointer< FIFFLIB::FiffInfo > m_pFiffInfo
Definition rtinvop.h:180
void operate(const RtInvOpInput &inputData)