v2.0.0
Loading...
Searching...
No Matches
fwd_coil_set.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FWD_COIL_SET_H
38#define FWD_COIL_SET_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fwd_global.h"
45#include "fwd_coil.h"
46#include <fiff/fiff_types.h>
47
48//=============================================================================================================
49// EIGEN INCLUDES
50//=============================================================================================================
51
52#include <Eigen/Core>
53
54//=============================================================================================================
55// QT INCLUDES
56//=============================================================================================================
57
58#include <QSharedPointer>
59
60#include <memory>
61#include <vector>
62
63//=============================================================================================================
64// DEFINE NAMESPACE FWDLIB
65//=============================================================================================================
66
67namespace FWDLIB
68{
69class FwdBemSolution;
70//=============================================================================================================
77{
78public:
79 typedef QSharedPointer<FwdCoilSet> SPtr;
80 typedef QSharedPointer<const FwdCoilSet> ConstSPtr;
81 typedef std::unique_ptr<FwdCoilSet> UPtr;
82
83 //=========================================================================================================
87 FwdCoilSet();
88
89 //=========================================================================================================
94
95 //=========================================================================================================
107
108 //=========================================================================================================
120 FwdCoilSet::UPtr create_meg_coils(const QList<FIFFLIB::FiffChInfo>& chs,
121 int nch,
122 int acc,
124
125 //=========================================================================================================
136 static FwdCoilSet::UPtr create_eeg_els(const QList<FIFFLIB::FiffChInfo>& chs,
137 int nch,
139
140 //=========================================================================================================
148 static FwdCoilSet::UPtr read_coil_defs(const QString& name);
149
150 //=========================================================================================================
159
160 //=========================================================================================================
168 bool is_planar_coil_type(int type) const;
169
170 //=========================================================================================================
178 bool is_axial_coil_type(int type) const;
179
180 //=========================================================================================================
188 bool is_magnetometer_coil_type(int type) const;
189
190 //=========================================================================================================
198 bool is_eeg_electrode_type(int type) const;
199
200private:
201 //=========================================================================================================
215 FwdCoil* fwd_add_coil_to_set(int type, int coil_class, int acc, int np, float size, float base, const QString& desc);
216
217public:
218 std::vector<FwdCoil::UPtr> coils;
220 std::unique_ptr<FwdBemSolution> user_data;
221
223 inline int ncoil() const { return static_cast<int>(coils.size()); }
224};
225
226//=============================================================================================================
227// INLINE DEFINITIONS
228//=============================================================================================================
229} // NAMESPACE FWDLIB
230
231#endif // FWD_COIL_SET_H
Old fiff_type declarations - replace them.
FwdCoil class declaration.
Forward library export/import macros.
#define FWDSHARED_EXPORT
Definition fwd_global.h:53
Forward modelling (BEM, MEG/EEG lead fields).
Definition compute_fwd.h:91
Channel info descriptor.
Coordinate transformation description.
Mapping from infinite medium potentials to a particular set of coils or electrodes.
Single MEG or EEG sensor coil with integration points, weights, and coordinate frame.
Definition fwd_coil.h:93
std::unique_ptr< FwdCoil > UPtr
Definition fwd_coil.h:95
static FwdCoilSet::UPtr read_coil_defs(const QString &name)
bool is_axial_coil_type(int type) const
std::unique_ptr< FwdBemSolution > user_data
bool is_magnetometer_coil_type(int type) const
QSharedPointer< const FwdCoilSet > ConstSPtr
bool is_planar_coil_type(int type) const
FwdCoil::UPtr create_meg_coil(const FIFFLIB::FiffChInfo &ch, int acc, const FIFFLIB::FiffCoordTrans &t=FIFFLIB::FiffCoordTrans())
bool is_eeg_electrode_type(int type) const
FwdCoilSet::UPtr create_meg_coils(const QList< FIFFLIB::FiffChInfo > &chs, int nch, int acc, const FIFFLIB::FiffCoordTrans &t=FIFFLIB::FiffCoordTrans())
QSharedPointer< FwdCoilSet > SPtr
static FwdCoilSet::UPtr create_eeg_els(const QList< FIFFLIB::FiffChInfo > &chs, int nch, const FIFFLIB::FiffCoordTrans &t=FIFFLIB::FiffCoordTrans())
std::unique_ptr< FwdCoilSet > UPtr
std::vector< FwdCoil::UPtr > coils
FwdCoilSet::UPtr dup_coil_set(const FIFFLIB::FiffCoordTrans &t=FIFFLIB::FiffCoordTrans()) const