v2.0.0
Loading...
Searching...
No Matches
fwd_comp_data.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FWD_COMP_DATA_H
38#define FWD_COMP_DATA_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fwd_global.h"
45#include "fwd_types.h"
46
47//=============================================================================================================
48// EIGEN INCLUDES
49//=============================================================================================================
50
51#include <Eigen/Core>
52
53//=============================================================================================================
54// QT INCLUDES
55//=============================================================================================================
56
57//=============================================================================================================
58// FORWARD DECLARATIONS
59//=============================================================================================================
60
61namespace MNELIB
62{
64}
65
66//=============================================================================================================
67// DEFINE NAMESPACE FWDLIB
68//=============================================================================================================
69
70namespace FWDLIB
71{
72
73//=============================================================================================================
74// FWDLIB FORWARD DECLARATIONS
75//=============================================================================================================
76
77class FwdCoilSet;
78
79//=============================================================================================================
86{
87public:
88
89 //=========================================================================================================
94
95 //=========================================================================================================
100
101 //=========================================================================================================
113 static int fwd_comp_field(const Eigen::Vector3f& rd, const Eigen::Vector3f& Q, FwdCoilSet& coils, Eigen::Ref<Eigen::VectorXf> res, void *client);
114
115 //=========================================================================================================
126 FwdCoilSet* coils,
128
129 //=========================================================================================================
144 FwdCoilSet* coils,
149 void *client);
150
151 //=========================================================================================================
162 static int fwd_comp_field_vec(const Eigen::Vector3f& rd, FwdCoilSet& coils, Eigen::Ref<Eigen::MatrixXf> res, void *client);
163
164 //=========================================================================================================
179 static int fwd_comp_field_grad(const Eigen::Vector3f& rd, const Eigen::Vector3f& Q, FwdCoilSet& coils,
180 Eigen::Ref<Eigen::VectorXf> res, Eigen::Ref<Eigen::VectorXf> xgrad, Eigen::Ref<Eigen::VectorXf> ygrad, Eigen::Ref<Eigen::VectorXf> zgrad,
181 void *client);
182
183public:
189 void *client;
190 Eigen::VectorXf work;
191 Eigen::MatrixXf vec_work;
192};
193
194//=============================================================================================================
195// INLINE DEFINITIONS
196//=============================================================================================================
197} // NAMESPACE FWDLIB
198
199#endif // FWD_COMP_DATA_H
Forward library type definitions.
std::function< int(const Eigen::Vector3f &rd, FWDLIB::FwdCoilSet &coils, Eigen::Ref< Eigen::MatrixXf > res, void *client)> fwdVecFieldFunc
Definition fwd_types.h:55
std::function< int(const Eigen::Vector3f &rd, const Eigen::Vector3f &Q, FWDLIB::FwdCoilSet &coils, Eigen::Ref< Eigen::VectorXf > res, Eigen::Ref< Eigen::VectorXf > xgrad, Eigen::Ref< Eigen::VectorXf > ygrad, Eigen::Ref< Eigen::VectorXf > zgrad, void *client)> fwdFieldGradFunc
Definition fwd_types.h:57
std::function< int(const Eigen::Vector3f &rd, const Eigen::Vector3f &Q, FWDLIB::FwdCoilSet &coils, Eigen::Ref< Eigen::VectorXf > res, void *client)> fwdFieldFunc
Definition fwd_types.h:53
Forward library export/import macros.
#define FWDSHARED_EXPORT
Definition fwd_global.h:53
Core MNE data structures (source spaces, source estimates, hemispheres).
Forward modelling (BEM, MEG/EEG lead fields).
Definition compute_fwd.h:91
Collection of FwdCoil objects representing a full MEG or EEG sensor array.
static int fwd_comp_field_grad(const Eigen::Vector3f &rd, const Eigen::Vector3f &Q, FwdCoilSet &coils, Eigen::Ref< Eigen::VectorXf > res, Eigen::Ref< Eigen::VectorXf > xgrad, Eigen::Ref< Eigen::VectorXf > ygrad, Eigen::Ref< Eigen::VectorXf > zgrad, void *client)
MNELIB::MNECTFCompDataSet * set
static int fwd_comp_field_vec(const Eigen::Vector3f &rd, FwdCoilSet &coils, Eigen::Ref< Eigen::MatrixXf > res, void *client)
fwdVecFieldFunc vec_field
FwdCoilSet * comp_coils
Eigen::MatrixXf vec_work
static int fwd_comp_field(const Eigen::Vector3f &rd, const Eigen::Vector3f &Q, FwdCoilSet &coils, Eigen::Ref< Eigen::VectorXf > res, void *client)
fwdFieldGradFunc field_grad
static int fwd_make_ctf_comp_coils(MNELIB::MNECTFCompDataSet *set, FwdCoilSet *coils, FwdCoilSet *comp_coils)
static FwdCompData * fwd_make_comp_data(MNELIB::MNECTFCompDataSet *set, FwdCoilSet *coils, FwdCoilSet *comp_coils, fwdFieldFunc field, fwdVecFieldFunc vec_field, fwdFieldGradFunc field_grad, void *client)
Eigen::VectorXf work
Collection of CTF third-order gradient compensation operators.