MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
fwd_coil.h
Go to the documentation of this file.
1//=============================================================================================================
37#ifndef FWDCOIL_H
38#define FWDCOIL_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fwd_global.h"
45
47
48//=============================================================================================================
49// EIGEN INCLUDES
50//=============================================================================================================
51
52#include <Eigen/Core>
53
54//=============================================================================================================
55// QT INCLUDES
56//=============================================================================================================
57
58#include <QSharedPointer>
59
60#define FWD_COIL_UNKNOWN 0
61
62#define FWD_COILC_UNKNOWN 0
63#define FWD_COILC_EEG 1000
64#define FWD_COILC_MAG 1
65#define FWD_COILC_AXIAL_GRAD 2
66#define FWD_COILC_PLANAR_GRAD 3
67#define FWD_COILC_AXIAL_GRAD2 4
68
69#define FWD_COIL_ACCURACY_POINT 0
70#define FWD_COIL_ACCURACY_NORMAL 1
71#define FWD_COIL_ACCURACY_ACCURATE 2
72
73#define FWD_IS_MEG_COIL(x) ((x) != FWD_COILC_EEG && (x) != FWD_COILC_UNKNOWN)
74
75//=============================================================================================================
76// DEFINE NAMESPACE FWDLIB
77//=============================================================================================================
78
79namespace FWDLIB
80{
81
82//=============================================================================================================
89{
90public:
91 typedef QSharedPointer<FwdCoil> SPtr;
92 typedef QSharedPointer<const FwdCoil> ConstSPtr;
94 //=========================================================================================================
99 FwdCoil(int p_np);
100
101 //=========================================================================================================
108 FwdCoil(const FwdCoil& p_FwdCoil);
109
110 //=========================================================================================================
115 ~FwdCoil();
116
117 //=========================================================================================================
127 static FwdCoil* create_eeg_el(const FIFFLIB::FiffChInfo& ch,
129
130 //=========================================================================================================
137 bool is_axial_coil() const;
138
139 //=========================================================================================================
146 bool is_magnetometer_coil() const;
147
148 //=========================================================================================================
155 bool is_planar_coil() const;
156
157 //=========================================================================================================
164 bool is_eeg_electrode() const;
165
166public:
167 QString chname;
169 QString desc;
171 int type;
173 float size;
174 float base;
175 float r0[3];
176 float ex[3];
177 float ey[3];
178 float ez[3];
179 int np;
180 float **rmag;
181 float **cosmag;
182 float *w;
184// ### OLD STRUCT ###
185// typedef struct {
186// char *chname; /* Name of this channel */
187// int coord_frame; /* Which coordinate frame are we in? */
188// char *desc; /* Description for this type of a coil */
189// int coil_class; /* Coil class */
190// int type; /* Coil type */
191// int accuracy; /* Accuracy */
192// float size; /* Coil size */
193// float base; /* Baseline */
194// float r0[3]; /* Coil coordinate system origin */
195// float ex[3]; /* Coil coordinate system unit vectors */
196// float ey[3]; /* This stupid construction needs to be replaced with */
197// float ez[3]; /* a coordinate transformation */
198// int np; /* Number of integration points */
199// float **rmag; /* The field point locations */
200// float **cosmag; /* The corresponding direction cosines */
201// float *w; /* The weighting coefficients */
202// } *fwdCoil,fwdCoilRec;
203};
204
205//=============================================================================================================
206// INLINE DEFINITIONS
207//=============================================================================================================
208} // NAMESPACE FWDLIB
209
210#endif // FWDCOIL_H
FiffCoordTransOld class declaration.
forward library export/import macros.
#define FWDSHARED_EXPORT
Definition fwd_global.h:57
Coordinate transformation descriptor.
Channel info descriptor.
FwdCoil description.
Definition fwd_coil.h:89
float ** rmag
Definition fwd_coil.h:180
QString chname
Definition fwd_coil.h:167
QSharedPointer< FwdCoil > SPtr
Definition fwd_coil.h:91
float ** cosmag
Definition fwd_coil.h:181
QSharedPointer< const FwdCoil > ConstSPtr
Definition fwd_coil.h:92