35 #ifndef HPIDATAUPDATER_H
36 #define HPIDATAUPDATER_H
42 #include "../inverse_global.h"
51 #include <QSharedPointer>
64 class FiffDigPointSet;
92 typedef QSharedPointer<HpiDataUpdater>
SPtr;
93 typedef QSharedPointer<const HpiDataUpdater>
ConstSPtr;
108 void checkForUpdate(
const QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
117 void prepareDataAndProjectors(
const Eigen::MatrixXd& matData,
const Eigen::MatrixXd& matProjectors);
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();
139 void updateChannels(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
148 void updateBadChannels(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
156 void updateHpiDigitizer(
const QList<FIFFLIB::FiffDigPoint>& lDig);
165 void updateSensors(
const QList<FIFFLIB::FiffChInfo>& lChannels);
176 bool checkIfChanged(
const QList<QString>& lBads,
const QList<FIFFLIB::FiffChInfo>& lChannels);
185 void prepareData(
const Eigen::MatrixXd& matData);
194 void prepareProjectors(
const Eigen::MatrixXd& matProjectors);
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;
217 inline const Eigen::MatrixXd& HpiDataUpdater::getProjectors()
219 return m_matProjectors;
222 inline const Eigen::MatrixXd& HpiDataUpdater::getData()
224 return m_matInnerdata;
227 inline const Eigen::MatrixXd& HpiDataUpdater::getProjectedData()
229 return m_matDataProjected;
232 inline const Eigen::MatrixXd& HpiDataUpdater::getHpiDigitizer()
234 return m_matHpiDigitizer;
237 inline const SensorSet& HpiDataUpdater::getSensors()
244 #endif // HPIDATAUPDATER_H