MNE-CPP  0.1.9
A Framework for Electrophysiology
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 
61 namespace UTILSLIB
62 {
63 
64 //=============================================================================================================
65 // FORWARD DECLARATIONS
66 //=============================================================================================================
67 
68 //=============================================================================================================
73 {
74 public:
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 
125 private:
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.
QSharedPointer< const Warp > ConstSPtr
Definition: warp.h:77
Thin Plate Spline Warp.
Definition: warp.h:72
#define UTILSSHARED_EXPORT
Definition: utils_global.h:58
QSharedPointer< Warp > SPtr
Definition: warp.h:76