MNE-CPP  0.1.9
A Framework for Electrophysiology
rtsensorinterpolationmatworker.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef DISP3DLIB_RTSENSORINTERPOLATIONMATWORKER_H
36 #define DISP3DLIB_RTSENSORINTERPOLATIONMATWORKER_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../../../../disp3D_global.h"
43 #include <fiff/fiff_info.h>
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 //=============================================================================================================
50 // EIGEN INCLUDES
51 //=============================================================================================================
52 
53 #include <Eigen/SparseCore>
54 
55 //=============================================================================================================
56 // FORWARD DECLARATIONS
57 //=============================================================================================================
58 
59 //=============================================================================================================
60 // DEFINE NAMESPACE DISP3DLIB
61 //=============================================================================================================
62 
63 namespace DISP3DLIB
64 {
65 
66 //=============================================================================================================
67 // DISP3DLIB FORWARD DECLARATIONS
68 //=============================================================================================================
69 
70 //=============================================================================================================
77 {
78  Q_OBJECT
79 
80 public:
81  typedef QSharedPointer<RtSensorInterpolationMatWorker> SPtr;
82  typedef QSharedPointer<const RtSensorInterpolationMatWorker> ConstSPtr;
84  //=========================================================================================================
89 
90  //=========================================================================================================
97  void setInterpolationFunction(const QString &sInterpolationFunction);
98 
99  //=========================================================================================================
107  void setCancelDistance(double dCancelDist);
108 
109  //=========================================================================================================
122  void setInterpolationInfo(const Eigen::MatrixX3f &matVertices,
123  const QVector<QVector<int> > &vecNeighborVertices,
124  const QVector<Eigen::Vector3f> &vecSensorPos,
125  const FIFFLIB::FiffInfo &fiffInfo,
126  int iSensorType);
127 
128  //=========================================================================================================
134  void setBadChannels(const FIFFLIB::FiffInfo& info);
135 
136 protected:
137  //=========================================================================================================
141  void calculateInterpolationOperator();
142 
143  //=========================================================================================================
147  void emitMatrix();
148 
149  //=============================================================================================================
157  QSharedPointer<Eigen::MatrixXd> matDistanceMatrix;
158  Eigen::MatrixX3f matVertices;
160  QVector<int> vecMappedSubset;
161  QVector<int> vecExcludeIndex;
162  QVector<QVector<int> > vecNeighborVertices;
166  double (*interpolationFunction) (double);
167  } m_lInterpolationData;
171 signals:
172  //=========================================================================================================
178  void newInterpolationMatrixCalculated(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
179 };
180 } // NAMESPACE
181 
182 #endif //DISP3DLIB_RTSENSORINTERPOLATIONMATWORKER_H
FIFF measurement file information.
Definition: fiff_info.h:84
QSharedPointer< RtSensorInterpolationMatWorker > SPtr
This worker calculates the interpolation matrix.
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
FiffInfo class declaration.
QSharedPointer< const RtSensorInterpolationMatWorker > ConstSPtr