Per-coil magnetic-dipole fitter (leadfield, residual, Nelder-Mead refinement) for the HPI pipeline. More...
#include <inv_hpi_fit_data.h>
Public Types | |
| typedef QSharedPointer< InvHpiFitData > | SPtr |
| typedef QSharedPointer< const InvHpiFitData > | ConstSPtr |
Public Member Functions | |
| InvHpiFitData () | |
| void | doDipfitConcurrent () |
Public Attributes | |
| Eigen::MatrixXd | m_coilPos |
| Eigen::RowVectorXd | m_sensorData |
| DipFitError | m_errorInfo |
| InvSensorSet | m_sensors |
| Eigen::MatrixXd | m_matProjector |
| int | m_iMaxIterations |
| float | m_fAbortError |
Protected Member Functions | |
| Eigen::MatrixXd | magnetic_dipole (Eigen::MatrixXd matPos, Eigen::MatrixXd matPnt, Eigen::MatrixXd matOri) |
| Eigen::MatrixXd | compute_leadfield (const Eigen::MatrixXd &matPos, const InvSensorSet &sensors) |
| DipFitError | dipfitError (const Eigen::MatrixXd &matPos, const Eigen::MatrixXd &matData, const InvSensorSet &sensors, const Eigen::MatrixXd &matProjectors) |
| Eigen::MatrixXd | fminsearch (const Eigen::MatrixXd &matPos, int iMaxiter, int iMaxfun, int iDisplay, const Eigen::MatrixXd &matData, const Eigen::MatrixXd &matProjectors, const InvSensorSet &sensors, int &iSimplexNumitr) |
Static Protected Member Functions | |
| static bool | compare (HPISortStruct a, HPISortStruct b) |
Per-coil magnetic-dipole fitter (leadfield, residual, Nelder-Mead refinement) for the HPI pipeline.
Per-coil magnetic-dipole fitter: computes the infinite-medium leadfield for a candidate coil position, evaluates the residual against the projected MEG sample and refines the position with a Nelder-Mead simplex search. Routines are validated against FieldTrip's magnetic_dipole and ft_compute_leadfield reference implementations.
Definition at line 103 of file inv_hpi_fit_data.h.
| typedef QSharedPointer<const InvHpiFitData> INVLIB::InvHpiFitData::ConstSPtr |
Const shared pointer type for InvHpiFitData.
Definition at line 108 of file inv_hpi_fit_data.h.
| typedef QSharedPointer<InvHpiFitData> INVLIB::InvHpiFitData::SPtr |
Shared pointer type for InvHpiFitData.
Definition at line 107 of file inv_hpi_fit_data.h.
|
explicit |
Default constructor.
Definition at line 56 of file inv_hpi_fit_data.cpp.
|
staticprotected |
Compare function for sorting
Definition at line 197 of file inv_hpi_fit_data.cpp.
|
protected |
compute_leadfield computes a forward solution for a dipole in a a volume conductor model. The forward solution is expressed as the leadfield matrix (Nchan*3), where each column corresponds with the potential or field distributions on all sensors for one of the x,y,z-orientations of the dipole. The function has been compared with matlab ft_compute_leadfield and it gives same output.
Definition at line 148 of file inv_hpi_fit_data.cpp.
|
protected |
dipfitError computes the error between measured and model data and can be used for non-linear fitting of dipole position. The function has been compared with matlab dipfit_error and it gives same output
Definition at line 162 of file inv_hpi_fit_data.cpp.
| void InvHpiFitData::doDipfitConcurrent | ( | ) |
dipfit function is adapted from Fieldtrip Software.
Definition at line 63 of file inv_hpi_fit_data.cpp.
|
protected |
fminsearch Multidimensional unconstrained nonlinear minimization (Nelder-Mead). X = fminsearch(X0, iMaxiter, iMaxfun, iDisplay, matData, sensors) starts at X0 and attempts to find a local minimizer
Definition at line 204 of file inv_hpi_fit_data.cpp.
|
protected |
magnetic_dipole leadfield for a magnetic dipole in an infinite medium. The function has been compared with matlab magnetic_dipole and it gives same output.
Definition at line 93 of file inv_hpi_fit_data.cpp.
| Eigen::MatrixXd INVLIB::InvHpiFitData::m_coilPos |
Definition at line 122 of file inv_hpi_fit_data.h.
| DipFitError INVLIB::InvHpiFitData::m_errorInfo |
Definition at line 124 of file inv_hpi_fit_data.h.
| float INVLIB::InvHpiFitData::m_fAbortError |
Definition at line 129 of file inv_hpi_fit_data.h.
| int INVLIB::InvHpiFitData::m_iMaxIterations |
Definition at line 128 of file inv_hpi_fit_data.h.
| Eigen::MatrixXd INVLIB::InvHpiFitData::m_matProjector |
Definition at line 126 of file inv_hpi_fit_data.h.
| Eigen::RowVectorXd INVLIB::InvHpiFitData::m_sensorData |
Definition at line 123 of file inv_hpi_fit_data.h.
| InvSensorSet INVLIB::InvHpiFitData::m_sensors |
Definition at line 125 of file inv_hpi_fit_data.h.