MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
hpidataupdater.h
Go to the documentation of this file.
1//=============================================================================================================
35#ifndef HPIDATAUPDATER_H
36#define HPIDATAUPDATER_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "../inverse_global.h"
43#include "sensorset.h"
45#include <fiff/fiff_dig_point.h>
46
47//=============================================================================================================
48// QT INCLUDES
49//=============================================================================================================
50
51#include <QSharedPointer>
52
53//=============================================================================================================
54// EIGEN INCLUDES
55//=============================================================================================================
56
57//=============================================================================================================
58// FORWARD DECLARATIONS
59//=============================================================================================================
60
61namespace FIFFLIB{
62 class FiffInfo;
63 class FiffChInfo;
64 class FiffDigPointSet;
65}
66
67//=============================================================================================================
68// DEFINE NAMESPACE INVERSELIB
69//=============================================================================================================
70
71namespace INVERSELIB
72{
73
74//=============================================================================================================
75// Declare all structures to be used
76//=============================================================================================================
77
78//=============================================================================================================
79// INVERSELIB FORWARD DECLARATIONS
80//=============================================================================================================
81
82//=============================================================================================================
89{
90
91public:
92 typedef QSharedPointer<HpiDataUpdater> SPtr;
93 typedef QSharedPointer<const HpiDataUpdater> ConstSPtr;
95 //=========================================================================================================
99 HpiDataUpdater(const QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
100
101 //=========================================================================================================
108 void checkForUpdate(const QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
109
110 //=========================================================================================================
117 void prepareDataAndProjectors(const Eigen::MatrixXd& matData, const Eigen::MatrixXd& matProjectors);
118
119 //=========================================================================================================
124 inline const QList<FIFFLIB::FiffChInfo>& getChannels();
125 inline const Eigen::MatrixXd& getProjectors();
126 inline const Eigen::MatrixXd& getHpiDigitizer();
127 inline const Eigen::MatrixXd& getData();
128 inline const Eigen::MatrixXd& getProjectedData();
129 inline const SensorSet& getSensors();
130
131private:
132 //=========================================================================================================
139 void updateChannels(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
140
141 //=========================================================================================================
148 void updateBadChannels(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
149
150 //=========================================================================================================
156 void updateHpiDigitizer(const QList<FIFFLIB::FiffDigPoint>& lDig);
157
158 //=========================================================================================================
165 void updateSensors(const QList<FIFFLIB::FiffChInfo>& lChannels);
166
167 //=========================================================================================================
176 bool checkIfChanged(const QList<QString>& lBads, const QList<FIFFLIB::FiffChInfo>& lChannels);
177
178 //=========================================================================================================
185 void prepareData(const Eigen::MatrixXd& matData);
186
187 //=========================================================================================================
194 void prepareProjectors(const Eigen::MatrixXd& matProjectors);
195
196 QList<FIFFLIB::FiffChInfo> m_lChannels;
197 QVector<int> m_vecInnerind;
198 QList<QString> m_lBads;
199 Eigen::MatrixXd m_matHpiDigitizer;
200 Eigen::MatrixXd m_matProjectors;
201 Eigen::MatrixXd m_matInnerdata;
202 Eigen::MatrixXd m_matDataProjected;
203 SensorSetCreator m_sensorSetCreator;
204 SensorSet m_sensors;
206};
207
208//=============================================================================================================
209// INLINE DEFINITIONS
210//=============================================================================================================
211
212inline const QList<FIFFLIB::FiffChInfo>& HpiDataUpdater::getChannels()
213{
214 return m_lChannels;
215}
216
217inline const Eigen::MatrixXd& HpiDataUpdater::getProjectors()
218{
219 return m_matProjectors;
220}
221
222inline const Eigen::MatrixXd& HpiDataUpdater::getData()
223{
224 return m_matInnerdata;
225}
226
227inline const Eigen::MatrixXd& HpiDataUpdater::getProjectedData()
228{
229 return m_matDataProjected;
230}
231
232inline const Eigen::MatrixXd& HpiDataUpdater::getHpiDigitizer()
233{
234 return m_matHpiDigitizer;
235}
236
237inline const SensorSet& HpiDataUpdater::getSensors()
238{
239 return m_sensors;
240}
241
242} // namespace INVERSELIB
243
244#endif // HPIDATAUPDATER_H
245
FiffDigPointSet class declaration.
FiffDigPoint class declaration.
SensorSet class declaration.
#define INVERSESHARED_EXPORT
Brief description of this class.
const QList< FIFFLIB::FiffChInfo > & getChannels()
QSharedPointer< const HpiDataUpdater > ConstSPtr
QSharedPointer< HpiDataUpdater > SPtr
Brief description of this class.
Definition sensorset.h:248