v2.0.0
Loading...
Searching...
No Matches
inv_beamformer_compute.h
Go to the documentation of this file.
1//=============================================================================================================
43
44#ifndef INV_BEAMFORMER_COMPUTE_H
45#define INV_BEAMFORMER_COMPUTE_H
46
47//=============================================================================================================
48// INCLUDES
49//=============================================================================================================
50
51#include "../inv_global.h"
53
54//=============================================================================================================
55// EIGEN INCLUDES
56//=============================================================================================================
57
58#include <Eigen/Core>
59
60//=============================================================================================================
61// DEFINE NAMESPACE INVLIB
62//=============================================================================================================
63
64namespace INVLIB
65{
66
67//=============================================================================================================
76{
77public:
78
79 //=========================================================================================================
105 static bool computeBeamformer(const Eigen::MatrixXd &G,
106 const Eigen::MatrixXd &Cm,
107 double reg,
108 int nOrient,
109 BeamformerWeightNorm weightNorm,
110 BeamformerPickOri pickOri,
111 bool reduceRank,
112 BeamformerInversion invMethod,
113 const Eigen::MatrixX3d &nn,
114 Eigen::MatrixXd &W,
115 Eigen::MatrixX3d &maxPowerOri);
116
117 //=========================================================================================================
129 static Eigen::VectorXd computePower(const Eigen::MatrixXd &Cm,
130 const Eigen::MatrixXd &W,
131 int nOrient);
132
133 //=========================================================================================================
143 static Eigen::MatrixXd symMatPow(const Eigen::MatrixXd &X, double p, bool reduceRank = false);
144
145private:
146 //=========================================================================================================
159 static void regPinv(const Eigen::MatrixXd &C,
160 double reg,
161 Eigen::MatrixXd &CInv,
162 double &loadingFactor,
163 int &rankOut);
164
165 //=========================================================================================================
174 static void reduceLeadfieldRank(Eigen::MatrixXd &Gk);
175};
176
177} // NAMESPACE INVLIB
178
179#endif // INV_BEAMFORMER_COMPUTE_H
#define X
Beamformer settings and enumerations.
inverse library export/import macros.
#define INVSHARED_EXPORT
Definition inv_global.h:52
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
static Eigen::MatrixXd symMatPow(const Eigen::MatrixXd &X, double p, bool reduceRank=false)
static Eigen::VectorXd computePower(const Eigen::MatrixXd &Cm, const Eigen::MatrixXd &W, int nOrient)
static bool computeBeamformer(const Eigen::MatrixXd &G, const Eigen::MatrixXd &Cm, double reg, int nOrient, BeamformerWeightNorm weightNorm, BeamformerPickOri pickOri, bool reduceRank, BeamformerInversion invMethod, const Eigen::MatrixX3d &nn, Eigen::MatrixXd &W, Eigen::MatrixX3d &maxPowerOri)