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 class FiffInfo;
49}
50
51namespace MNELIB {
54}
55
56//=============================================================================================================
57// DEFINE NAMESPACE RTPROCESSINGLIB
58//=============================================================================================================
59
60namespace RTPROCESSINGLIB
61{
62
63//=============================================================================================================
64// RTPROCESSINGLIB FORWARD DECLARATIONS
65//=============================================================================================================
66
71 QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo;
72 QSharedPointer<MNELIB::MNEForwardSolution> pFwd;
74};
75
76//=============================================================================================================
82class DSPSHARED_EXPORT RtInvOpWorker : public QObject
83{
84 Q_OBJECT
85
86public:
87 //=========================================================================================================
93 void doWork(const RtInvOpInput &inputData);
94
95signals:
96 //=========================================================================================================
103};
104
105//=============================================================================================================
111class DSPSHARED_EXPORT RtInvOp : public QObject
112{
113 Q_OBJECT
114
115public:
116 typedef QSharedPointer<RtInvOp> SPtr;
117 typedef QSharedPointer<const RtInvOp> ConstSPtr;
118
119 //=========================================================================================================
127 explicit RtInvOp(QSharedPointer<FIFFLIB::FiffInfo> &p_pFiffInfo,
128 QSharedPointer<MNELIB::MNEForwardSolution> &p_pFwd,
129 QObject *parent = 0);
130
131 //=========================================================================================================
135 ~RtInvOp();
136
137 //=========================================================================================================
143 void append(const FIFFLIB::FiffCov &noiseCov);
144
145 //=========================================================================================================
151 void setFwdSolution(QSharedPointer<MNELIB::MNEForwardSolution> pFwd);
152
153 //=========================================================================================================
157 void restart();
158
159 //=========================================================================================================
163 void stop();
164
165protected:
166 //=========================================================================================================
170 void handleResults(const MNELIB::MNEInverseOperator& invOp);
171
172 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
173 QSharedPointer<MNELIB::MNEForwardSolution> m_pFwd;
174
176
177signals:
178 //=========================================================================================================
185
186 //=========================================================================================================
192 void operate(const RtInvOpInput &inputData);
193};
194
195//=============================================================================================================
196// INLINE DEFINITIONS
197//=============================================================================================================
198} // NAMESPACE
199
200#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:70
FIFFLIB::FiffCov noiseCov
Definition rt_inv_op.h:73
QSharedPointer< FIFFLIB::FiffInfo > pFiffInfo
Definition rt_inv_op.h:71
QSharedPointer< MNELIB::MNEForwardSolution > pFwd
Definition rt_inv_op.h:72
Background worker thread that recomputes the MNE inverse operator when covariance updates arrive.
Definition rt_inv_op.h:83
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:173
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:116
void invOperatorCalculated(const MNELIB::MNEInverseOperator &invOp)
QSharedPointer< const RtInvOp > ConstSPtr
Definition rt_inv_op.h:117
QSharedPointer< FIFFLIB::FiffInfo > m_pFiffInfo
Definition rt_inv_op.h:172
void operate(const RtInvOpInput &inputData)
FIFF noise / data covariance: matrix, channel names, kind, applied projectors, bads,...
Definition fiff_cov.h:79
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:88
In-memory representation of an -fwd.fif forward solution.
MNE-style inverse operator.