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//=============================================================================================================
78{
79public:
80 typedef QSharedPointer<Warp> SPtr;
81 typedef QSharedPointer<const Warp> ConstSPtr;
82
83 //=========================================================================================================
93 Eigen::MatrixXf calculate(const Eigen::MatrixXf& sLm,
94 const Eigen::MatrixXf& dLm,
95 const Eigen::MatrixXf& sVert);
96
97 //=========================================================================================================
105 void calculate(const Eigen::MatrixXf& sLm,
106 const Eigen::MatrixXf& dLm,
107 QList<Eigen::MatrixXf>& vertList);
108
109 //=========================================================================================================
117 Eigen::MatrixXf readsLm(const QString& electrodeFileName);
118
119 //=========================================================================================================
127 Eigen::MatrixXf readsLm(const std::string& electrodeFileName);
128
129private:
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:78
Eigen::MatrixXf readsLm(const QString &electrodeFileName)
Definition warp.cpp:143
QSharedPointer< Warp > SPtr
Definition warp.h:80
QSharedPointer< const Warp > ConstSPtr
Definition warp.h:81
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)