22#ifndef INV_HPI_DATA_UPDATER_H
23#define INV_HPI_DATA_UPDATER_H
38#include <QSharedPointer>
79 typedef QSharedPointer<InvHpiDataUpdater>
SPtr;
80 typedef QSharedPointer<const InvHpiDataUpdater>
ConstSPtr;
95 void checkForUpdate(
const QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
111 inline const QList<FIFFLIB::FiffChInfo>&
getChannels();
114 inline const Eigen::MatrixXd&
getData();
126 void updateChannels(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
135 void updateBadChannels(QSharedPointer<FIFFLIB::FiffInfo> pFiffInfo);
143 void updateHpiDigitizer(
const QList<FIFFLIB::FiffDigPoint>& lDig);
152 void updateSensors(
const QList<FIFFLIB::FiffChInfo>& lChannels);
163 bool checkIfChanged(
const QList<QString>& lBads,
const QList<FIFFLIB::FiffChInfo>& lChannels);
172 void prepareData(
const Eigen::MatrixXd& matData);
181 void prepareProjectors(
const Eigen::MatrixXd& matProjectors);
183 QList<FIFFLIB::FiffChInfo> m_lChannels;
184 QVector<int> m_vecInnerind;
185 QList<QString> m_lBads;
186 Eigen::MatrixXd m_matHpiDigitizer;
187 Eigen::MatrixXd m_matProjectors;
188 Eigen::MatrixXd m_matInnerdata;
189 Eigen::MatrixXd m_matDataProjected;
206 return m_matProjectors;
211 return m_matInnerdata;
216 return m_matDataProjected;
221 return m_matHpiDigitizer;
Container for the FIFF_DIG_POINT records of a measurement (a parsed FIFFB_ISOTRAK block).
Single digitization point (FIFF_DIG_POINT) with kind (cardinal/HPI/EEG/extra), identifier and 3D coor...
INVLIB library export/import macros, build-info accessors, and namespace docstring for the inverse-so...
Compact MEG sensor-geometry container (positions, orientations, integration weights) used by the HPI ...
FIFF file I/O, in-memory data structures and high-level readers/writers.
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
Per-channel FIFF descriptor: identifiers, kind, calibration, coil type, channel-frame coil position a...
Collection of FiffDigPoint records as parsed from a FIFFB_ISOTRAK block.
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
const Eigen::MatrixXd & getData()
const InvSensorSet & getSensors()
QSharedPointer< const InvHpiDataUpdater > ConstSPtr
const Eigen::MatrixXd & getHpiDigitizer()
const QList< FIFFLIB::FiffChInfo > & getChannels()
QSharedPointer< InvHpiDataUpdater > SPtr
void checkForUpdate(const QSharedPointer< FIFFLIB::FiffInfo > pFiffInfo)
void prepareDataAndProjectors(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors)
InvHpiDataUpdater(const QSharedPointer< FIFFLIB::FiffInfo > pFiffInfo)
const Eigen::MatrixXd & getProjectors()
const Eigen::MatrixXd & getProjectedData()
Stores MEG sensor geometry (positions, orientations, weights, coil count) for a single sensor type.
Builds InvSensorSet objects from FiffInfo channel definitions, applying SSP projections and compensat...