MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
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#include <QObject>
54
55//=============================================================================================================
56// EIGEN INCLUDES
57//=============================================================================================================
58
59#include <Eigen/SparseCore>
60
61//=============================================================================================================
62// FORWARD DECLARATIONS
63//=============================================================================================================
64
65namespace FSLIB {
66 class Label;
67}
68
69//=============================================================================================================
70// DEFINE NAMESPACE DISP3DLIB
71//=============================================================================================================
72
73namespace DISP3DLIB
74{
75
76//=============================================================================================================
77// DISP3DLIB FORWARD DECLARATIONS
78//=============================================================================================================
79
80//=============================================================================================================
87{
88 Q_OBJECT
89
90public:
91 typedef QSharedPointer<RtSourceInterpolationMatWorker> SPtr;
92 typedef QSharedPointer<const RtSourceInterpolationMatWorker> ConstSPtr;
94 //=========================================================================================================
99
100 //=========================================================================================================
107 void setInterpolationFunction(const QString &sInterpolationFunction);
108
109 //=========================================================================================================
115 void setVisualizationType(int iVisType);
116
117 //=========================================================================================================
125 void setCancelDistance(double dCancelDist);
126
127 //=========================================================================================================
138 void setInterpolationInfo(const Eigen::MatrixX3f &matVertices,
139 const QVector<QVector<int> > &vecNeighborVertices,
140 const QVector<int> &vecMappedSubset);
141
142 //=========================================================================================================
150 void setAnnotationInfo(const Eigen::VectorXi &vecLabelIds,
151 const QList<FSLIB::Label> &lLabels,
152 const Eigen::VectorXi &vecVertNo);
153
154protected:
155 //=========================================================================================================
159 void calculateInterpolationOperator();
160
161 //=========================================================================================================
165 void calculateAnnotationOperator();
166
167 //=========================================================================================================
171 void emitMatrix();
172
173 //=============================================================================================================
180 QSharedPointer<Eigen::MatrixXd> matDistanceMatrix;
181 Eigen::MatrixX3f matVertices;
183 QList<FSLIB::Label> lLabels;
184 QList<int> vertNos;
185 QMap<qint32, qint32> mapLabelIdSources;
187 QVector<int> vecMappedSubset;
188 QVector<QVector<int> > vecNeighborVertices;
190 double (*interpolationFunction) (double);
191 } m_lInterpolationData;
198 QSharedPointer<Eigen::SparseMatrix<float> > m_pMatInterpolationMat;
199 QSharedPointer<Eigen::SparseMatrix<float> > m_pMatAnnotationMat;
201signals:
202 //=========================================================================================================
208 void newInterpolationMatrixCalculated(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
209};
210} // NAMESPACE
211
212#endif //DISP3DLIB_RTSOURCEINTERPOLATIONMATWORKER_H
Label class declaration.
#define DISP3DSHARED_EXPORT
This worker calculates the interpolation matrix.
QSharedPointer< RtSourceInterpolationMatWorker > SPtr
void newInterpolationMatrixCalculated(QSharedPointer< Eigen::SparseMatrix< float > > pMatInterpolationMatrix)
QSharedPointer< Eigen::SparseMatrix< float > > m_pMatAnnotationMat
QSharedPointer< Eigen::SparseMatrix< float > > m_pMatInterpolationMat
QSharedPointer< const RtSourceInterpolationMatWorker > ConstSPtr