|
MNE-CPP
0.1.9
A Framework for Electrophysiology
|
Go to the documentation of this file.
40 #include "../../../../helpers/geometryinfo/geometryinfo.h"
41 #include "../../../../helpers/interpolation/interpolation.h"
55 using namespace DISP3DLIB;
56 using namespace MNELIB;
57 using namespace FIFFLIB;
58 using namespace Eigen;
65 : m_bInterpolationInfoIsInit(false)
76 if(sInterpolationFunction ==
"Linear") {
79 else if(sInterpolationFunction ==
"Square") {
82 else if(sInterpolationFunction ==
"Cubic") {
85 else if(sInterpolationFunction ==
"Gaussian") {
108 const QVector<QVector<int> > &vecNeighborVertices,
109 const QVector<Vector3f> &vecSensorPos,
113 if(matVertices.rows() == 0) {
114 qDebug() <<
"RtSensorInterpolationMatWorker::calculateSurfaceData - Surface data is empty. Returning ...";
129 (info.
unit == FIFF_UNIT_T || info.
unit == FIFF_UNIT_V)) {
151 qDebug() <<
"RtSensorInterpolationMatWorker::updateBadChannels - Set interpolation info first.";
167 (info.
unit == FIFF_UNIT_T || info.
unit == FIFF_UNIT_V)) {
183 qDebug() <<
"RtSensorInterpolationMatWorker::calculateInterpolationOperator - Set interpolation info first.";
static double cubic(const double dIn)
double(* interpolationFunction)(double)
Eigen::MatrixX3f matVertices
FIFF measurement file information.
QVector< QVector< int > > vecNeighborVertices
void setBadChannels(const FIFFLIB::FiffInfo &info)
static QVector< int > projectSensors(const Eigen::MatrixX3f &matVertices, const QVector< Eigen::Vector3f > &vecSensorPositions)
Calculates the nearest neighbor (euclidian distance) vertex to each sensor.
void setInterpolationFunction(const QString &sInterpolationFunction)
static double linear(const double dIn)
void setCancelDistance(double dCancelDist)
QSharedPointer< Eigen::MatrixXd > matDistanceMatrix
RtSensorInterpolationMatWorker()
RtSensorInterpolationMatWorker class declaration.
struct DISP3DLIB::RtSensorInterpolationMatWorker::InterpolationData m_lInterpolationData
QVector< int > vecMappedSubset
void calculateInterpolationOperator()
bool m_bInterpolationInfoIsInit
void newInterpolationMatrixCalculated(QSharedPointer< Eigen::SparseMatrix< float > > pMatInterpolationMatrix)
void setInterpolationInfo(const Eigen::MatrixX3f &matVertices, const QVector< QVector< int > > &vecNeighborVertices, const QVector< Eigen::Vector3f > &vecSensorPos, const FIFFLIB::FiffInfo &fiffInfo, int iSensorType)
static double gaussian(const double dIn)
static double square(const double dIn)
static QSharedPointer< Eigen::SparseMatrix< float > > createInterpolationMat(const QVector< int > &vecProjectedSensors, const QSharedPointer< Eigen::MatrixXd > matDistanceTable, double(*interpolationFunction)(double), const double dCancelDist=FLOAT_INFINITY, const QVector< int > &vecExcludeIndex=QVector< int >())
static QSharedPointer< Eigen::MatrixXd > scdc(const Eigen::MatrixX3f &matVertices, const QVector< QVector< int > > &vecNeighborVertices, QVector< int > &pVecVertSubset, double dCancelDist=FLOAT_INFINITY)
scdc Calculates surface constrained distances on a mesh.
FIFFLIB::FiffInfo fiffInfo
QVector< int > vecExcludeIndex
static QVector< int > filterBadChannels(QSharedPointer< Eigen::MatrixXd > matDistanceTable, const FIFFLIB::FiffInfo &fiffInfo, qint32 iSensorType)
filterBadChannels Filters bad channels from distance table