53#include <QElapsedTimer>
59using namespace RTPROCESSINGLIB;
60using namespace FIFFLIB;
62using namespace INVERSELIB;
74 const Eigen::MatrixXd& matProjectors,
76 const Eigen::MatrixXd& matCoilsHead)
78 if(this->thread()->isInterruptionRequested()) {
84 fitResult.devHeadTrans.
from = 1;
85 fitResult.devHeadTrans.
to = 4;
93 emit resultReady(fitResult);
102 m_sensorSet(sensorSet)
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);
115 connect(
this, &RtHpi::operate,
118 connect(worker, &RtHpiWorker::resultReady,
135 if(m_modelParameters.iNHpiCoils() >= 3) {
141 qWarning() <<
"[RtHpi::append] Not enough coil frequencies set. At least three frequencies are needed.";
149 m_modelParameters = hpiModelParameters;
170 emit newHpiFitResultAvailable(fitResult);
183 worker, &QObject::deleteLater);
185 connect(
this, &RtHpi::operate,
188 connect(worker, &RtHpiWorker::resultReady,
FiffInfo class declaration.
SensorSet class declaration.
HPIFit class declaration.
Brief description of this class.
void doWork(const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors, const INVERSELIB::HpiModelParameters &hpiModelParameters, const Eigen::MatrixXd &matCoilsHead)
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 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)
Eigen::MatrixXd m_matProjectors