v2.0.0
Loading...
Searching...
No Matches
rt_inv_op.h
Go to the documentation of this file.
1//=============================================================================================================
24
25#ifndef RT_INV_OP_RTPROCESSING_H
26#define RT_INV_OP_RTPROCESSING_H
27
28//=============================================================================================================
29// INCLUDES
30//=============================================================================================================
31
32#include "../dsp_global.h"
33
34#include <fiff/fiff_cov.h>
35
36//=============================================================================================================
37// QT INCLUDES
38//=============================================================================================================
39
40#include <QThread>
41#include <QSharedPointer>
42
43//=============================================================================================================
44// FORWARD DECLARATIONS
45//=============================================================================================================
46
47namespace FIFFLIB
48{
49class FiffInfo;
50}
51
52namespace MNELIB
53{
56}
57
58//=============================================================================================================
59// DEFINE NAMESPACE RTPROCESSINGLIB
60//=============================================================================================================
61
62namespace RTPROCESSINGLIB
63{
64
65//=============================================================================================================
66// RTPROCESSINGLIB FORWARD DECLARATIONS
67//=============================================================================================================
68
73{
74 QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo;
75 QSharedPointer<MNELIB::MNEForwardSolution> pFwd;
77};
78
79//=============================================================================================================
87class DSPSHARED_EXPORT RtInvOpWorker : public QObject
88{
89 Q_OBJECT
90
91public:
92 //=========================================================================================================
98 void doWork(const RtInvOpInput& inputData);
99
100signals:
101 //=========================================================================================================
108};
109
110//=============================================================================================================
118class DSPSHARED_EXPORT RtInvOp : public QObject
119{
120 Q_OBJECT
121
122public:
123 typedef QSharedPointer<RtInvOp> SPtr;
124 typedef QSharedPointer<const RtInvOp> ConstSPtr;
125
126 //=========================================================================================================
134 explicit RtInvOp(QSharedPointer<FIFFLIB::FiffInfo>& p_pFiffInfo,
135 QSharedPointer<MNELIB::MNEForwardSolution>& p_pFwd,
136 QObject* parent = 0);
137
138 //=========================================================================================================
142 ~RtInvOp();
143
144 //=========================================================================================================
150 void append(const FIFFLIB::FiffCov& noiseCov);
151
152 //=========================================================================================================
158 void setFwdSolution(QSharedPointer<MNELIB::MNEForwardSolution> pFwd);
159
160 //=========================================================================================================
164 void restart();
165
166 //=========================================================================================================
170 void stop();
171
172protected:
173 //=========================================================================================================
179 void handleResults(const MNELIB::MNEInverseOperator& invOp);
180
181 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
182 QSharedPointer<MNELIB::MNEForwardSolution> m_pFwd;
183
185
186signals:
187 //=========================================================================================================
194
195 //=========================================================================================================
201 void operate(const RtInvOpInput& inputData);
202};
203
204//=============================================================================================================
205// INLINE DEFINITIONS
206//=============================================================================================================
207} // NAMESPACE
208
209#endif // RT_INV_OP_RTPROCESSING_H
Noise / data covariance matrix as stored under FIFFB_MNE_COV, with channel names, kind,...
Export/import macros and namespace declaration for the DSP library.
#define DSPSHARED_EXPORT
Definition dsp_global.h:50
Core MNE data structures (source spaces, source estimates, hemispheres).
FIFF file I/O, in-memory data structures and high-level readers/writers.
Input bundle for the real-time inverse operator worker containing noise covariance,...
Definition rt_inv_op.h:73
FIFFLIB::FiffCov noiseCov
Definition rt_inv_op.h:76
QSharedPointer< FIFFLIB::FiffInfo > pFiffInfo
Definition rt_inv_op.h:74
QSharedPointer< MNELIB::MNEForwardSolution > pFwd
Definition rt_inv_op.h:75
Background worker thread that recomputes the MNE inverse operator when covariance updates arrive.
Definition rt_inv_op.h:88
void doWork(const RtInvOpInput &inputData)
Definition rt_inv_op.cpp:49
void resultReady(const MNELIB::MNEInverseOperator &invOp)
RtInvOp(QSharedPointer< FIFFLIB::FiffInfo > &p_pFiffInfo, QSharedPointer< MNELIB::MNEForwardSolution > &p_pFwd, QObject *parent=0)
Definition rt_inv_op.cpp:71
QSharedPointer< MNELIB::MNEForwardSolution > m_pFwd
Definition rt_inv_op.h:182
void append(const FIFFLIB::FiffCov &noiseCov)
void handleResults(const MNELIB::MNEInverseOperator &invOp)
void setFwdSolution(QSharedPointer< MNELIB::MNEForwardSolution > pFwd)
QSharedPointer< RtInvOp > SPtr
Definition rt_inv_op.h:123
void invOperatorCalculated(const MNELIB::MNEInverseOperator &invOp)
QSharedPointer< const RtInvOp > ConstSPtr
Definition rt_inv_op.h:124
QSharedPointer< FIFFLIB::FiffInfo > m_pFiffInfo
Definition rt_inv_op.h:181
void operate(const RtInvOpInput &inputData)
FIFF noise / data covariance: matrix, channel names, kind, applied projectors, bads,...
Definition fiff_cov.h:82
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:90
In-memory representation of an -fwd.fif forward solution.
MNE-style inverse operator.