MNE-CPP  0.1.9
A Framework for Electrophysiology
rtsourceinterpolationmatworker.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef DISP3DLIB_RTSOURCEINTERPOLATIONMATWORKER_H
36 #define DISP3DLIB_RTSOURCEINTERPOLATIONMATWORKER_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../../../../disp3D_global.h"
43 
44 #include <fs/label.h>
45 
46 //=============================================================================================================
47 // QT INCLUDES
48 //=============================================================================================================
49 
50 #include <QSharedPointer>
51 #include <QVector>
52 #include <QMap>
53 
54 //=============================================================================================================
55 // EIGEN INCLUDES
56 //=============================================================================================================
57 
58 #include <Eigen/SparseCore>
59 
60 //=============================================================================================================
61 // FORWARD DECLARATIONS
62 //=============================================================================================================
63 
64 namespace FSLIB {
65  class Label;
66 }
67 
68 //=============================================================================================================
69 // DEFINE NAMESPACE DISP3DLIB
70 //=============================================================================================================
71 
72 namespace DISP3DLIB
73 {
74 
75 //=============================================================================================================
76 // DISP3DLIB FORWARD DECLARATIONS
77 //=============================================================================================================
78 
79 //=============================================================================================================
86 {
87  Q_OBJECT
88 
89 public:
90  typedef QSharedPointer<RtSourceInterpolationMatWorker> SPtr;
91  typedef QSharedPointer<const RtSourceInterpolationMatWorker> ConstSPtr;
93  //=========================================================================================================
98 
99  //=========================================================================================================
106  void setInterpolationFunction(const QString &sInterpolationFunction);
107 
108  //=========================================================================================================
114  void setVisualizationType(int iVisType);
115 
116  //=========================================================================================================
124  void setCancelDistance(double dCancelDist);
125 
126  //=========================================================================================================
137  void setInterpolationInfo(const Eigen::MatrixX3f &matVertices,
138  const QVector<QVector<int> > &vecNeighborVertices,
139  const QVector<int> &vecMappedSubset);
140 
141  //=========================================================================================================
149  void setAnnotationInfo(const Eigen::VectorXi &vecLabelIds,
150  const QList<FSLIB::Label> &lLabels,
151  const Eigen::VectorXi &vecVertNo);
152 
153 protected:
154  //=========================================================================================================
158  void calculateInterpolationOperator();
159 
160  //=========================================================================================================
164  void calculateAnnotationOperator();
165 
166  //=========================================================================================================
170  void emitMatrix();
171 
172  //=============================================================================================================
179  QSharedPointer<Eigen::MatrixXd> matDistanceMatrix;
180  Eigen::MatrixX3f matVertices;
182  QList<FSLIB::Label> lLabels;
183  QList<int> vertNos;
184  QMap<qint32, qint32> mapLabelIdSources;
186  QVector<int> vecMappedSubset;
187  QVector<QVector<int> > vecNeighborVertices;
189  double (*interpolationFunction) (double);
190  } m_lInterpolationData;
197  QSharedPointer<Eigen::SparseMatrix<float> > m_pMatInterpolationMat;
198  QSharedPointer<Eigen::SparseMatrix<float> > m_pMatAnnotationMat;
200 signals:
201  //=========================================================================================================
207  void newInterpolationMatrixCalculated(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
208 };
209 } // NAMESPACE
210 
211 #endif //DISP3DLIB_RTSOURCEINTERPOLATIONMATWORKER_H
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::dCancelDistance
double dCancelDistance
Definition: rtsourceinterpolationmatworker.h:177
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::lLabels
QList< FSLIB::Label > lLabels
Definition: rtsourceinterpolationmatworker.h:182
DISP3DLIB::RtSourceInterpolationMatWorker::ConstSPtr
QSharedPointer< const RtSourceInterpolationMatWorker > ConstSPtr
Definition: rtsourceinterpolationmatworker.h:91
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::vecNeighborVertices
QVector< QVector< int > > vecNeighborVertices
Definition: rtsourceinterpolationmatworker.h:187
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::vecMappedSubset
QVector< int > vecMappedSubset
Definition: rtsourceinterpolationmatworker.h:186
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::matVertices
Eigen::MatrixX3f matVertices
Definition: rtsourceinterpolationmatworker.h:180
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData
Definition: rtsourceinterpolationmatworker.h:176
DISP3DLIB::RtSourceInterpolationMatWorker::m_bAnnotationInfoIsInit
bool m_bAnnotationInfoIsInit
Definition: rtsourceinterpolationmatworker.h:193
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::matDistanceMatrix
QSharedPointer< Eigen::MatrixXd > matDistanceMatrix
Definition: rtsourceinterpolationmatworker.h:179
DISP3DLIB::RtSourceInterpolationMatWorker::InterpolationData::mapLabelIdSources
QMap< qint32, qint32 > mapLabelIdSources
Definition: rtsourceinterpolationmatworker.h:184
label.h
Label class declaration.
DISP3DLIB::RtSourceInterpolationMatWorker::m_bInterpolationInfoIsInit
bool m_bInterpolationInfoIsInit
Definition: rtsourceinterpolationmatworker.h:192
DISP3DSHARED_EXPORT
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
DISP3DLIB::RtSourceInterpolationMatWorker
This worker calculates the interpolation matrix.
Definition: rtsourceinterpolationmatworker.h:85
DISP3DLIB::RtSourceInterpolationMatWorker::m_pMatAnnotationMat
QSharedPointer< Eigen::SparseMatrix< float > > m_pMatAnnotationMat
Definition: rtsourceinterpolationmatworker.h:198
DISP3DLIB::RtSourceInterpolationMatWorker::SPtr
QSharedPointer< RtSourceInterpolationMatWorker > SPtr
Definition: rtsourceinterpolationmatworker.h:90
DISP3DLIB::RtSourceInterpolationMatWorker::m_iVisualizationType
int m_iVisualizationType
Definition: rtsourceinterpolationmatworker.h:195
DISP3DLIB::RtSourceInterpolationMatWorker::m_pMatInterpolationMat
QSharedPointer< Eigen::SparseMatrix< float > > m_pMatInterpolationMat
Definition: rtsourceinterpolationmatworker.h:197