MNE-CPP  beta 1.0
datapackage.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef DATAPACKAGE_H
38 #define DATAPACKAGE_H
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "filteroperator.h"
46 #include "types.h"
47 
48 
49 //*************************************************************************************************************
50 //=============================================================================================================
51 // QT INCLUDES
52 //=============================================================================================================
53 
54 #include <QDebug>
55 
56 
57 //*************************************************************************************************************
58 //=============================================================================================================
59 // Eigen INCLUDES
60 //=============================================================================================================
61 
62 #include <Eigen/Core>
63 
64 
65 //*************************************************************************************************************
66 //=============================================================================================================
67 // USED NAMESPACES
68 //=============================================================================================================
69 
70 using namespace Eigen;
71 
72 
73 //*************************************************************************************************************
74 //=============================================================================================================
75 // DEFINE NAMESPACE TMSIPlugin
76 //=============================================================================================================
77 
78 namespace MNEBrowseRawQt
79 {
80 
81 
82 //=============================================================================================================
89 {
90 public:
91  //=========================================================================================================
100  DataPackage(const MatrixXdR &originalRawData=MatrixXdR(0,0), const MatrixXdR &originalRawTime=MatrixXdR(0,0), int cutFront=0, int cutBack=0);
101 
102  //=========================================================================================================
110  void setOrigRawData(const MatrixXdR &originalRawData, int cutFront=0, int cutBack=0);
111 
112  //=========================================================================================================
121  void setOrigRawData(const RowVectorXd &originalRawData, int row, int cutFront=0, int cutBack=0);
122 
123  //=========================================================================================================
131  void setOrigProcData(const MatrixXdR &originalProcData, int cutFront=0, int cutBack=0);
132 
133  //=========================================================================================================
141  void setMappedProcData(const MatrixXdR &originalProcData, int cutFront, int cutBack);
142 
143 
144  //=========================================================================================================
153  void setOrigProcData(const RowVectorXd &originalProcData, int row, int cutFront=0, int cutBack=0);
154 
155  //=========================================================================================================
164  void setMappedProcData(const RowVectorXd &originalProcData, int row, int cutFront, int cutBack);
165 
166  //=========================================================================================================
172  const MatrixXdR & dataRawOrig();
173 
174  //=========================================================================================================
180  const MatrixXdR & dataRaw();
181 
182  //=========================================================================================================
188  const MatrixXdR & dataProcOrig();
189 
190  //=========================================================================================================
196  const MatrixXdR & dataProc();
197 
198  //=========================================================================================================
205  double dataProcMean(int row);
206 
207  //=========================================================================================================
214  double dataRawMean(int row);
215 
216  //=========================================================================================================
225  void applyFFTFilter(int channelNumber, QSharedPointer<FilterOperator> filter, bool useRawData = true);
226 
227 private:
228  //=========================================================================================================
236  MatrixXdR cutData(const MatrixXdR &originalData, int cutFront=0, int cutBack=0);
237 
238  //=========================================================================================================
246  RowVectorXd cutData(const RowVectorXd &originalData, int cutFront=0, int cutBack=0);
247 
248  //=========================================================================================================
255  VectorXd calculateMatMean(const MatrixXd &dataMat);
256 
257  //=========================================================================================================
264  double calculateRowMean(const VectorXd &dataRow);
265 
266  //Time data
267  MatrixXdR m_timeRawMapped;
268  MatrixXdR m_timeRawOriginal;
270  //Raw data
271  MatrixXdR m_dataRawMapped;
272  MatrixXdR m_dataRawOriginal;
273  VectorXd m_dataRawMean;
275  //Processed data
276  MatrixXdR m_dataProcOriginal;
277  MatrixXdR m_dataProcMapped;
278  VectorXd m_dataProcMean;
280  //Cutting parameters
281  int m_iCutFrontRaw;
282  int m_iCutBackRaw;
283  int m_iCutFrontProc;
284  int m_iCutBackProc;
285 };
286 
287 } // NAMESPACE
288 
289 #endif // DATAPACKAGE_H
Contains general application specific types.
The DataPackage class provides central place to hold all program relevant data.
Definition: datapackage.h:88
The FilterOperator class represents a derived class from an arbitrary MNEOperator class object...