31#include <QElapsedTimer>
52 const Eigen::MatrixXd& matProjectors,
54 const Eigen::MatrixXd& matCoilsHead)
56 if(this->thread()->isInterruptionRequested()) {
82 qRegisterMetaType<INVLIB::HpiFitResult>(
"INVLIB::HpiFitResult");
83 qRegisterMetaType<QVector<int> >(
"QVector<int>");
84 qRegisterMetaType<QSharedPointer<FIFFLIB::FiffInfo> >(
"QSharedPointer<FIFFLIB::FiffInfo>");
85 qRegisterMetaType<Eigen::MatrixXd>(
"Eigen::MatrixXd");
91 worker, &QObject::deleteLater);
119 qWarning() <<
"[RtHpi::append] Not enough coil frequencies set. At least three frequencies are needed.";
161 worker, &QObject::deleteLater);
Full FIFF measurement metadata: everything from FIFFB_MEAS / FIFFB_MEAS_INFO needed to interpret a re...
HPI (Head Position Indicator) fitting — estimates the MEG dewar-to-head transform from coil-current s...
Compact MEG sensor-geometry container (positions, orientations, integration weights) used by the HPI ...
Real-time continuous Head-Position-Indicator (cHPI) coil-localisation worker.
FIFF file I/O, in-memory data structures and high-level readers/writers.
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
Background worker thread that runs continuous HPI coil localization.
RtHpiWorker(const INVLIB::InvSensorSet sensorSet)
void doWork(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors, const INVLIB::InvHpiModelParameters &hpiModelParameters, const Eigen::MatrixXd &matCoilsHead)
void resultReady(const INVLIB::HpiFitResult &fitResult)
QSharedPointer< INVLIB::InvHpiFit > m_pHpiFit
INVLIB::InvSensorSet m_sensorSet
void newHpiFitResultAvailable(const INVLIB::HpiFitResult &fitResult)
INVLIB::InvHpiModelParameters m_modelParameters
Eigen::MatrixXd m_matCoilsHead
void setHpiDigitizer(const Eigen::MatrixXd &matCoilsHead)
void append(const Eigen::MatrixXd &data)
RtHpi(const INVLIB::InvSensorSet sensorSet, QObject *parent=0)
void setProjectionMatrix(const Eigen::MatrixXd &matProjectors)
Eigen::MatrixXd m_matProjectors
void setModelParameters(INVLIB::InvHpiModelParameters hpiModelParameters)
void handleResults(const INVLIB::HpiFitResult &fitResult)
void operate(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors, const INVLIB::InvHpiModelParameters &hpiModelParameters, const Eigen::MatrixXd &matCoilsHead)
Complete HPI fit output: per-coil dipole parameters, head-to-device transform, fit error,...
FIFFLIB::FiffCoordTrans devHeadTrans
Drives one HPI fit (per-coil dipole localisation, coil ordering, dewar-to-head transform).
Configuration parameters for the HPI signal model (line frequency, coil frequencies,...
Stores MEG sensor geometry (positions, orientations, weights, coil count) for a single sensor type.