v2.0.0
Loading...
Searching...
No Matches
warp.h
Go to the documentation of this file.
1//=============================================================================================================
32
33#ifndef WARP_H
34#define WARP_H
35
36//=============================================================================================================
37// INCLUDES
38//=============================================================================================================
39
40#include "math_global.h"
41
42//=============================================================================================================
43// EIGEN INCLUDES
44//=============================================================================================================
45
46#include <Eigen/Core>
47
48//=============================================================================================================
49// QT INCLUDES
50//=============================================================================================================
51
52#include <QSharedPointer>
53#include <QStringList>
54
55//=============================================================================================================
56// DEFINE NAMESPACE UTILSLIB
57//=============================================================================================================
58
59namespace UTILSLIB
60{
61
62//=============================================================================================================
63// FORWARD DECLARATIONS
64//=============================================================================================================
65
66//=============================================================================================================
76{
77public:
78
79 typedef QSharedPointer<Warp> SPtr;
80 typedef QSharedPointer<const Warp> ConstSPtr;
81
82 //=========================================================================================================
92 Eigen::MatrixXf calculate(const Eigen::MatrixXf & sLm,
93 const Eigen::MatrixXf &dLm,
94 const Eigen::MatrixXf & sVert);
95
96 //=========================================================================================================
104 void calculate(const Eigen::MatrixXf & sLm,
105 const Eigen::MatrixXf &dLm,
106 QList<Eigen::MatrixXf> & vertList);
107
108 //=========================================================================================================
116 Eigen::MatrixXf readsLm(const QString &electrodeFileName);
117
118 //=========================================================================================================
126 Eigen::MatrixXf readsLm(const std::string &electrodeFileName);
127
128private:
129
130 //=========================================================================================================
139 bool calcWeighting(const Eigen::MatrixXf& sLm,
140 const Eigen::MatrixXf &dLm,
141 Eigen::MatrixXf& warpWeight,
142 Eigen::MatrixXf& polWeight);
143
144 //=========================================================================================================
155 Eigen::MatrixXf warpVertices(const Eigen::MatrixXf & sVert,
156 const Eigen::MatrixXf & sLm,
157 const Eigen::MatrixXf& warpWeight,
158 const Eigen::MatrixXf& polWeight);
159};
160} // NAMESPACE
161
162#endif // WARP_H
Export/import macros and build-stamp accessors for MATHLIB.
#define MATHSHARED_EXPORT
Definition math_global.h:51
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
Thin-plate-spline 3-D warp fitted from landmark correspondences.
Definition warp.h:76
Eigen::MatrixXf readsLm(const QString &electrodeFileName)
Definition warp.cpp:144
QSharedPointer< Warp > SPtr
Definition warp.h:79
QSharedPointer< const Warp > ConstSPtr
Definition warp.h:80
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)