MNE-CPP  beta 1.0
rtsss.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef RTSSS_H
37 #define RTSSS_H
38 
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "rtsss_global.h"
46 
50 
54 
55 #include <fiff/fiff.h>
56 #include <fiff/fiff_info.h>
57 #include <fiff/fiff_evoked.h>
58 
59 #include <Eigen/Dense>
60 
61 //*************************************************************************************************************
62 //=============================================================================================================
63 // QT INCLUDES
64 //=============================================================================================================
65 
66 #include <QtWidgets>
67 
68 
69 //*************************************************************************************************************
70 //=============================================================================================================
71 // DEFINE NAMESPACE RTSSSPlugin
72 //=============================================================================================================
73 
74 namespace RtSssPlugin
75 {
76 
77 
78 //*************************************************************************************************************
79 //=============================================================================================================
80 // USED NAMESPACES
81 //=============================================================================================================
82 
83 using namespace MNEX;
84 using namespace FIFFLIB;
85 using namespace XMEASLIB;
86 using namespace IOBuffer;
87 
88 
89 //*************************************************************************************************************
90 //=============================================================================================================
91 // FORWARD DECLARATIONS
92 //=============================================================================================================
93 
94 
95 //=============================================================================================================
101 //class DUMMYTOOLBOXSHARED_EXPORT DummyToolbox : public IAlgorithm
103 {
104  Q_OBJECT
105  Q_PLUGIN_METADATA(IID "mne_x/1.0" FILE "rtsss.json") //NEW Qt5 Plugin system replaces Q_EXPORT_PLUGIN2 macro
106  // Use the Q_INTERFACES() macro to tell Qt's meta-object system about the interfaces
107  Q_INTERFACES(MNEX::IAlgorithm)
108 
109 public:
110  //=========================================================================================================
114 // DummyToolbox();
115  RtSss();
116 
117  //=========================================================================================================
121 // ~DummyToolbox();
122  ~RtSss();
123 
124  //=========================================================================================================
128  virtual void init();
129 
130  //=========================================================================================================
134  virtual void unload();
135 
136  //=========================================================================================================
140  virtual QSharedPointer<IPlugin> clone() const;
141 
142  virtual bool start();
143  virtual bool stop();
144 
145  virtual IPlugin::PluginType getType() const;
146  virtual QString getName() const;
147 
148  virtual QWidget* setupWidget();
149 
150  void update(XMEASLIB::NewMeasurement::SPtr pMeasurement);
151 
152  void setLinRR(int);
153  void setLoutRR(int);
154  void setLin(int);
155  void setLout(int);
156 
157 protected:
158  virtual void run();
159 
160 private:
161 // PluginInputData<NewRealTimeSampleArray>::SPtr m_pDummyInput; /**< The RealTimeSampleArray of the DummyToolbox input.*/
162 // PluginOutputData<NewRealTimeSampleArray>::SPtr m_pDummyOutput; /**< The RealTimeSampleArray of the DummyToolbox output.*/
170  bool m_bIsRunning;
171  bool m_bReceiveData;
172  bool m_bProcessData;
174  FiffInfo::SPtr m_pFiffInfo;
176  CircularMatrixBuffer<double>::SPtr m_pRtSssBuffer;
178  int LinRR, LoutRR, Lin, Lout;
179 
180  // dBuffer::SPtr m_pRtSssBuffer; /**< Holds incoming data.*/
181 };
182 
183 } // NAMESPACE
184 
185 #endif // RTSSS_H
Contains the RTSSS library export/import macros.
#define RTSSSSHARED_EXPORT
Definition: rtsss_global.h:56
Contains the declaration of the RealTimeSourceEstimate class.
Contains declaration of IAlgorithm interface class.
CircularMatrixBuffer class declaration.
The RtSss class provides a rtsss algorithm structure.
Definition: rtsss.h:102
QSharedPointer< PluginOutputData< T > > SPtr
The circular matrix buffer.
QSharedPointer< FiffInfo > SPtr
Definition: fiff_info.h:99
FiffInfo class declaration.
The IAlgorithm class provides an interface for a real-time algorithm plugin.
Definition: IAlgorithm.h:70
Contains the declaration of the NewRealTimeSampleArray class.
QSharedPointer< PluginInputData > SPtr
Definition: arrow.h:75
CircularBuffer class declaration.
Definition: fiff.h:98
QSharedPointer< NewMeasurement > SPtr
Contains the declaration of the NewRealTimeMultiSampleArray class.
FIFF class declaration, which provides static wrapper functions to stay consistent with mne matlab to...