MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
compute_fwd.h
Go to the documentation of this file.
1//=============================================================================================================
38#ifndef COMPUTEFWD_H
39#define COMPUTEFWD_H
40
41//=============================================================================================================
42// INCLUDES
43//=============================================================================================================
44
45#include "../fwd_global.h"
47
49#include "../fwd_coil_set.h"
51#include "../fwd_eeg_sphere_model_set.h"
52#include "../fwd_bem_model.h"
53
55#include <mne/c/mne_nearest.h>
58
60
61#include <fiff/fiff_types.h>
62
63//=============================================================================================================
64// EIGEN INCLUDES
65//=============================================================================================================
66
67#include <Eigen/Core>
68
69//=============================================================================================================
70// QT INCLUDES
71//=============================================================================================================
72
73#include <QSharedPointer>
74#include <QString>
75
76#include <QCoreApplication>
77#include <QFile>
78#include <QDir>
79
80//=============================================================================================================
81// FORWARD DECLARATIONS
82//=============================================================================================================
83namespace MNELIB {
84 class MNEForwardSolution;
85}
86
87//=============================================================================================================
88// DEFINE NAMESPACE FWDLIB
89//=============================================================================================================
90
91namespace FWDLIB
92{
93
94//=============================================================================================================
101{
102public:
103 typedef QSharedPointer<ComputeFwd> SPtr;
104 typedef QSharedPointer<const ComputeFwd> ConstSPtr;
106 //=========================================================================================================
111 explicit ComputeFwd(ComputeFwdSettings::SPtr pSettings);
112
113 //=========================================================================================================
117 virtual ~ComputeFwd();
118
119 //=========================================================================================================
123 void calculateFwd();
124
125 //=========================================================================================================
130 void updateHeadPos(FIFFLIB::FiffCoordTransOld* transDevHeadOld);
131
132 //=========================================================================================================
139 void storeFwd(const QString& sSolName = "default");
140
141 // ToDo: make MNEForwardSolution the main output for the solution
142 // QSharedPointer<MNELIB::MNEForwardSolution> fwdSolution; /**< MNE Forward solution that contains all results. */
143
144 QSharedDataPointer<FIFFLIB::FiffNamedMatrix> sol;
145 QSharedDataPointer<FIFFLIB::FiffNamedMatrix> sol_grad;
147 QSharedDataPointer<FIFFLIB::FiffNamedMatrix> m_meg_forward;
148 QSharedDataPointer<FIFFLIB::FiffNamedMatrix> m_meg_forward_grad;
149 QSharedDataPointer<FIFFLIB::FiffNamedMatrix> m_eeg_forward;
150 QSharedDataPointer<FIFFLIB::FiffNamedMatrix> m_eeg_forward_grad;
152 QString qPath;
153 QFile file;
154
155private:
156 //=========================================================================================================
160 void initFwd();
161
162 MNELIB::MneSourceSpaceOld **m_spaces;
163 int m_iNSpace;
164 int m_iNSource;
165 FwdCoilSet* m_templates;
166 FwdCoilSet* m_megcoils;
167 FwdCoilSet* m_compcoils;
168 FwdCoilSet* m_eegels;
169 MNELIB::MneCTFCompDataSet *m_compData;
170 FwdEegSphereModelSet* m_eegModels;
171 FwdEegSphereModel* m_eegModel;
172 FwdBemModel *m_bemModel;
173 Eigen::Vector3f *m_r0;
175 QList<FIFFLIB::FiffChInfo> m_listMegChs;
176 QList<FIFFLIB::FiffChInfo> m_listEegChs;
177 QList<FIFFLIB::FiffChInfo> m_listCompChs;
178 int m_iNChan;
180 FIFFLIB::fiffId m_mri_id;
181 FIFFLIB::FiffId m_meas_id;
182 FIFFLIB::FiffCoordTransOld* m_mri_head_t;
183 FIFFLIB::FiffCoordTransOld* m_meg_head_t;
185 QSharedPointer<FIFFLIB::FiffInfoBase> m_pInfoBase;
186
187 ComputeFwdSettings::SPtr m_pSettings;
189 //=========================================================================================================
203 int mne_read_meg_comp_eeg_ch_info_41(FIFFLIB::FiffInfoBase::SPtr pFiffInfoBase,
204 QList<FIFFLIB::FiffChInfo>& listMegCh,
205 int& iNMeg,
206 QList<FIFFLIB::FiffChInfo>& listMegComp,
207 int& iNMegCmp,
208 QList<FIFFLIB::FiffChInfo>& listEegCh,
209 int& iNEeg,
210 FIFFLIB::FiffCoordTransOld** transDevHeadOld,
211 FIFFLIB::FiffId& id);
212
213};
214
215//=============================================================================================================
216// INLINE DEFINITIONS
217//=============================================================================================================
218} //NAMESPACE
219
220#endif // COMPUTEFWDSETTINGS_H
FiffCoordTransOld class declaration.
FiffSparseMatrix class declaration.
Definitions for describing the objects in a FIFF file.
MNEForwardSolution class declaration, which provides the forward solution including the source space ...
MneCTFCompDataSet class declaration.
MneSourceSpaceOld class declaration.
MNE Named Matrix (MneNamedMatrix) class declaration.
MneNearest class declaration.
Compute Forward Setting class declaration.
#define FWDSHARED_EXPORT
Definition fwd_global.h:57
Coordinate transformation descriptor.
ToDo Old implementation use new fiff_id.h instead.
Universially unique identifier.
Definition fiff_id.h:68
QSharedPointer< FiffInfoBase > SPtr
Compute Forward implementation.
QSharedPointer< ComputeFwd > SPtr
QSharedDataPointer< FIFFLIB::FiffNamedMatrix > m_eeg_forward
QSharedDataPointer< FIFFLIB::FiffNamedMatrix > sol
QSharedDataPointer< FIFFLIB::FiffNamedMatrix > m_meg_forward_grad
QSharedDataPointer< FIFFLIB::FiffNamedMatrix > m_meg_forward
QSharedPointer< const ComputeFwd > ConstSPtr
QSharedDataPointer< FIFFLIB::FiffNamedMatrix > sol_grad
QSharedDataPointer< FIFFLIB::FiffNamedMatrix > m_eeg_forward_grad
QSharedPointer< ComputeFwdSettings > SPtr
Holds the BEM model definition.
FwdCoilSet description.
Electric Current Dipole description.
Holds a set of Electric Current Dipoles.
One MNE CTF Compensation Data Set description.
This defines a source space.