v2.0.0
Loading...
Searching...
No Matches
rtinvop.h
Go to the documentation of this file.
1//=============================================================================================================
35
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 {
65}
66
67//=============================================================================================================
68// DEFINE NAMESPACE RTPROCESSINGLIB
69//=============================================================================================================
70
71namespace RTPROCESSINGLIB
72{
73
74//=============================================================================================================
75// RTPROCESSINGLIB FORWARD DECLARATIONS
76//=============================================================================================================
77
82 QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo;
83 QSharedPointer<MNELIB::MNEForwardSolution> pFwd;
85};
86
87//=============================================================================================================
94{
95 Q_OBJECT
96
97public:
98 //=========================================================================================================
104 void doWork(const RtInvOpInput &inputData);
105
106signals:
107 //=========================================================================================================
114};
115
116//=============================================================================================================
122class RTPROCESINGSHARED_EXPORT RtInvOp : public QObject
123{
124 Q_OBJECT
125
126public:
127 typedef QSharedPointer<RtInvOp> SPtr;
128 typedef QSharedPointer<const RtInvOp> ConstSPtr;
129
130 //=========================================================================================================
138 explicit RtInvOp(QSharedPointer<FIFFLIB::FiffInfo> &p_pFiffInfo,
139 QSharedPointer<MNELIB::MNEForwardSolution> &p_pFwd,
140 QObject *parent = 0);
141
142 //=========================================================================================================
146 ~RtInvOp();
147
148 //=========================================================================================================
154 void append(const FIFFLIB::FiffCov &noiseCov);
155
156 //=========================================================================================================
162 void setFwdSolution(QSharedPointer<MNELIB::MNEForwardSolution> pFwd);
163
164 //=========================================================================================================
168 void restart();
169
170 //=========================================================================================================
174 void stop();
175
176protected:
177 //=========================================================================================================
181 void handleResults(const MNELIB::MNEInverseOperator& invOp);
182
183 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
184 QSharedPointer<MNELIB::MNEForwardSolution> m_pFwd;
185
187
188signals:
189 //=========================================================================================================
196
197 //=========================================================================================================
203 void operate(const RtInvOpInput &inputData);
204};
205
206//=============================================================================================================
207// INLINE DEFINITIONS
208//=============================================================================================================
209} // NAMESPACE
210
211#endif // RTINV_RTPROCESSING_H
realtime library export/import macros.
#define RTPROCESINGSHARED_EXPORT
FiffCov class declaration.
Core MNE data structures (source spaces, source estimates, hemispheres).
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Real-time signal processing (filtering, averaging, HPI fitting, noise reduction).
covariance data
Definition fiff_cov.h:84
FIFF measurement file information.
Definition fiff_info.h:85
Input bundle for the real-time inverse operator worker containing noise covariance,...
Definition rtinvop.h:81
FIFFLIB::FiffCov noiseCov
Definition rtinvop.h:84
QSharedPointer< FIFFLIB::FiffInfo > pFiffInfo
Definition rtinvop.h:82
QSharedPointer< MNELIB::MNEForwardSolution > pFwd
Definition rtinvop.h:83
Background worker thread that recomputes the MNE inverse operator when covariance updates arrive.
Definition rtinvop.h:94
void doWork(const RtInvOpInput &inputData)
Definition rtinvop.cpp:72
void resultReady(const MNELIB::MNEInverseOperator &invOp)
RtInvOp(QSharedPointer< FIFFLIB::FiffInfo > &p_pFiffInfo, QSharedPointer< MNELIB::MNEForwardSolution > &p_pFwd, QObject *parent=0)
Definition rtinvop.cpp:94
QSharedPointer< MNELIB::MNEForwardSolution > m_pFwd
Definition rtinvop.h:184
void append(const FIFFLIB::FiffCov &noiseCov)
Definition rtinvop.cpp:127
void handleResults(const MNELIB::MNEInverseOperator &invOp)
Definition rtinvop.cpp:146
void setFwdSolution(QSharedPointer< MNELIB::MNEForwardSolution > pFwd)
Definition rtinvop.cpp:139
QSharedPointer< RtInvOp > SPtr
Definition rtinvop.h:127
void invOperatorCalculated(const MNELIB::MNEInverseOperator &invOp)
QSharedPointer< const RtInvOp > ConstSPtr
Definition rtinvop.h:128
QSharedPointer< FIFFLIB::FiffInfo > m_pFiffInfo
Definition rtinvop.h:183
void operate(const RtInvOpInput &inputData)