MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
warp.h
Go to the documentation of this file.
1//=============================================================================================================
35#ifndef WARP_H
36#define WARP_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "utils_global.h"
43
44//=============================================================================================================
45// EIGEN INCLUDES
46//=============================================================================================================
47
48#include <Eigen/Core>
49
50//=============================================================================================================
51// QT INCLUDES
52//=============================================================================================================
53
54#include <QSharedPointer>
55#include <QStringList>
56
57//=============================================================================================================
58// DEFINE NAMESPACE UTILSLIB
59//=============================================================================================================
60
61namespace UTILSLIB
62{
63
64//=============================================================================================================
65// FORWARD DECLARATIONS
66//=============================================================================================================
67
68//=============================================================================================================
73{
74public:
75
76 typedef QSharedPointer<Warp> SPtr;
77 typedef QSharedPointer<const Warp> ConstSPtr;
79 //=========================================================================================================
89 Eigen::MatrixXf calculate(const Eigen::MatrixXf & sLm,
90 const Eigen::MatrixXf &dLm,
91 const Eigen::MatrixXf & sVert);
92
93 //=========================================================================================================
101 void calculate(const Eigen::MatrixXf & sLm,
102 const Eigen::MatrixXf &dLm,
103 QList<Eigen::MatrixXf> & vertList);
104
105 //=========================================================================================================
113 Eigen::MatrixXf readsLm(const QString &electrodeFileName);
114
115 //=========================================================================================================
123 Eigen::MatrixXf readsLm(const std::string &electrodeFileName);
124
125private:
126
127 //=========================================================================================================
136 bool calcWeighting(const Eigen::MatrixXf& sLm,
137 const Eigen::MatrixXf &dLm,
138 Eigen::MatrixXf& warpWeight,
139 Eigen::MatrixXf& polWeight);
140
141 //=========================================================================================================
152 Eigen::MatrixXf warpVertices(const Eigen::MatrixXf & sVert,
153 const Eigen::MatrixXf & sLm,
154 const Eigen::MatrixXf& warpWeight,
155 const Eigen::MatrixXf& polWeight);
156};
157} // NAMESPACE
158
159#endif // WARP_H
utils library export/import macros.
#define UTILSSHARED_EXPORT
Thin Plate Spline Warp.
Definition warp.h:73
QSharedPointer< Warp > SPtr
Definition warp.h:76
QSharedPointer< const Warp > ConstSPtr
Definition warp.h:77
Eigen::MatrixXf calculate(const Eigen::MatrixXf &sLm, const Eigen::MatrixXf &dLm, const Eigen::MatrixXf &sVert)
void calculate(const Eigen::MatrixXf &sLm, const Eigen::MatrixXf &dLm, QList< Eigen::MatrixXf > &vertList)