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
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::matVertices
Eigen::MatrixX3f matVertices
Definition: rtsensorinterpolationmatworker.h:158
FIFFLIB::FiffInfo
FIFF measurement file information.
Definition: fiff_info.h:84
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::vecNeighborVertices
QVector< QVector< int > > vecNeighborVertices
Definition: rtsensorinterpolationmatworker.h:162
DISP3DLIB::RtSensorInterpolationMatWorker::ConstSPtr
QSharedPointer< const RtSensorInterpolationMatWorker > ConstSPtr
Definition: rtsensorinterpolationmatworker.h:82
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::matDistanceMatrix
QSharedPointer< Eigen::MatrixXd > matDistanceMatrix
Definition: rtsensorinterpolationmatworker.h:157
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::vecMappedSubset
QVector< int > vecMappedSubset
Definition: rtsensorinterpolationmatworker.h:160
DISP3DLIB::RtSensorInterpolationMatWorker
This worker calculates the interpolation matrix.
Definition: rtsensorinterpolationmatworker.h:76
fiff_info.h
FiffInfo class declaration.
DISP3DLIB::RtSensorInterpolationMatWorker::m_bInterpolationInfoIsInit
bool m_bInterpolationInfoIsInit
Definition: rtsensorinterpolationmatworker.h:169
DISP3DLIB::RtSensorInterpolationMatWorker::SPtr
QSharedPointer< RtSensorInterpolationMatWorker > SPtr
Definition: rtsensorinterpolationmatworker.h:81
DISP3DSHARED_EXPORT
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::dCancelDistance
double dCancelDistance
Definition: rtsensorinterpolationmatworker.h:155
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::fiffInfo
FIFFLIB::FiffInfo fiffInfo
Definition: rtsensorinterpolationmatworker.h:164
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::iSensorType
int iSensorType
Definition: rtsensorinterpolationmatworker.h:154
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData
Definition: rtsensorinterpolationmatworker.h:153
DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData::vecExcludeIndex
QVector< int > vecExcludeIndex
Definition: rtsensorinterpolationmatworker.h:161