53#include <QElapsedTimer>
74 const Eigen::MatrixXd& matProjectors,
76 const Eigen::MatrixXd& matCoilsHead)
78 if(this->thread()->isInterruptionRequested()) {
104 qRegisterMetaType<INVERSELIB::HpiFitResult>(
"INVERSELIB::HpiFitResult");
105 qRegisterMetaType<QVector<int> >(
"QVector<int>");
106 qRegisterMetaType<QSharedPointer<FIFFLIB::FiffInfo> >(
"QSharedPointer<FIFFLIB::FiffInfo>");
107 qRegisterMetaType<Eigen::MatrixXd>(
"Eigen::MatrixXd");
113 worker, &QObject::deleteLater);
141 qWarning() <<
"[RtHpi::append] Not enough coil frequencies set. At least three frequencies are needed.";
183 worker, &QObject::deleteLater);
FiffInfo class declaration.
SensorSet class declaration.
HPIFit class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Real-time signal processing (filtering, averaging, HPI fitting, noise reduction).
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
Complete HPI fit output: per-coil dipole parameters, head-to-device transform, fit error,...
FIFFLIB::FiffCoordTrans devHeadTrans
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.
Background worker thread that runs continuous HPI coil localization.
void doWork(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors, const INVERSELIB::HpiModelParameters &hpiModelParameters, const Eigen::MatrixXd &matCoilsHead)
void resultReady(const INVERSELIB::HpiFitResult &fitResult)
QSharedPointer< INVERSELIB::HPIFit > m_pHpiFit
RtHpiWorker(const INVERSELIB::SensorSet sensorSet)
Eigen::MatrixXd m_matCoilsHead
void setHpiDigitizer(const Eigen::MatrixXd &matCoilsHead)
void setModelParameters(INVERSELIB::HpiModelParameters hpiModelParameters)
void operate(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors, const INVERSELIB::HpiModelParameters &hpiModelParameters, const Eigen::MatrixXd &matCoilsHead)
void append(const Eigen::MatrixXd &data)
void handleResults(const INVERSELIB::HpiFitResult &fitResult)
RtHpi(const INVERSELIB::SensorSet sensorSet, QObject *parent=0)
void setProjectionMatrix(const Eigen::MatrixXd &matProjectors)
INVERSELIB::HpiModelParameters m_modelParameters
Eigen::MatrixXd m_matProjectors
INVERSELIB::SensorSet m_sensorSet
void newHpiFitResultAvailable(const INVERSELIB::HpiFitResult &fitResult)