v2.0.0
Loading...
Searching...
No Matches
fwd_coil_set.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FWDCOILSET_H
38#define FWDCOILSET_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
60typedef void (*fwdUserFreeFunc)(void *); /* General purpose */
61
62//=============================================================================================================
63// DEFINE NAMESPACE FWDLIB
64//=============================================================================================================
65
66namespace FWDLIB
67{
68
69//=============================================================================================================
76{
77public:
78 typedef QSharedPointer<FwdCoilSet> SPtr;
79 typedef QSharedPointer<const FwdCoilSet> ConstSPtr;
80
81 //=========================================================================================================
86 FwdCoilSet();
87
88// //=========================================================================================================
89// /**
90// * Copy constructor.
91// *
92// * @param[in] p_FwdCoilSet FwdCoilSet which should be copied
93// */
94// FwdCoilSet(const FwdCoilSet& p_FwdCoilSet);
95
96 //=========================================================================================================
101 ~FwdCoilSet();
102
109
110 //=========================================================================================================
122 FwdCoil* create_meg_coil(const FIFFLIB::FiffChInfo& ch, int acc, const FIFFLIB::FiffCoordTrans& t = FIFFLIB::FiffCoordTrans());
123
124 //=========================================================================================================
137 FwdCoilSet* create_meg_coils(const QList<FIFFLIB::FiffChInfo>& chs,
138 int nch,
139 int acc,
141
142 //=========================================================================================================
154 static FwdCoilSet* create_eeg_els(const QList<FIFFLIB::FiffChInfo>& chs,
155 int nch,
157
158 //=========================================================================================================
167 static FwdCoilSet* read_coil_defs(const QString& name);
168
169 //=========================================================================================================
178 FwdCoilSet* dup_coil_set(const FIFFLIB::FiffCoordTrans& t = FIFFLIB::FiffCoordTrans()) const;
179
180 //=========================================================================================================
189 bool is_planar_coil_type(int type) const;
190
191 //=========================================================================================================
200 bool is_axial_coil_type(int type) const;
201
202 //=========================================================================================================
211 bool is_magnetometer_coil_type(int type) const;
212
213 //=========================================================================================================
222 bool is_eeg_electrode_type(int type) const;
223
224public:
225 FwdCoil **coils; /*< The coil or electrode positions >*/
226 int ncoil; /*< Number of coils >*/
227 int coord_frame; /*< Common coordinate frame >*/
228 void *user_data; /*< We can put whatever in here >*/
230
231// ### OLD STRUCT ###
232// typedef struct {
233// fwdCoil *coils; /* The coil or electrode positions */
234// int ncoil;
235// int coord_frame; /* Common coordinate frame */
236// void *user_data; /* We can put whatever in here */
237// fwdUserFreeFunc user_data_free;
238// } *fwdCoilSet,fwdCoilSetRec; /* A collection of the above */
239};
240
241//=============================================================================================================
242// INLINE DEFINITIONS
243//=============================================================================================================
244} // NAMESPACE FWDLIB
245
246#endif // FWDCOILSET_H
Old fiff_type declarations - replace them.
FwdCoil class declaration.
forward library export/import macros.
#define FWDSHARED_EXPORT
Definition fwd_global.h:53
void(* fwdUserFreeFunc)(void *)
Forward modelling (BEM, MEG/EEG lead fields).
Definition compute_fwd.h:95
const QString name
Channel info descriptor.
Coordinate transformation description.
Single MEG or EEG sensor coil with integration points, weights, and coordinate frame.
Definition fwd_coil.h:89
Collection of FwdCoil objects representing a full MEG or EEG sensor array.
void fwd_free_coil_set_user_data()
fwdUserFreeFunc user_data_free
QSharedPointer< const FwdCoilSet > ConstSPtr
QSharedPointer< FwdCoilSet > SPtr