Stores forward field matrices and SVD decomposition for magnetic dipole fitting. More...
#include <inv_dipole_forward.h>
Public Types | |
| typedef QSharedPointer< InvDipoleForward > | SPtr |
| typedef QSharedPointer< const InvDipoleForward > | ConstSPtr |
| typedef std::unique_ptr< InvDipoleForward > | UPtr |
Public Member Functions | |
| InvDipoleForward ()=default | |
| ~InvDipoleForward ()=default | |
Public Attributes | |
| Eigen::MatrixXf | rd |
| int | ndip = 0 |
| Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | fwd |
| Eigen::VectorXf | scales |
| Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | uu |
| Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | vv |
| Eigen::VectorXf | sing |
| int | nch = 0 |
Stores forward field matrices and SVD decomposition for magnetic dipole fitting.
Implements InvDipoleForward (Replaces *dipoleForward,dipoleForwardRec struct of MNE-C fit_types.h).
For each set of candidate dipole(s), the forward solution matrix A (size 3*ndip x nch) is computed, column-normalized, and decomposed via SVD: A = U * diag(sing) * V^T. The members uu, vv, and sing store the SVD factors used for fast goodness-of-fit evaluation and dipole moment reconstruction.
Definition at line 82 of file inv_dipole_forward.h.
| typedef QSharedPointer<const InvDipoleForward> INVLIB::InvDipoleForward::ConstSPtr |
Const shared pointer type for InvDipoleForward.
Definition at line 86 of file inv_dipole_forward.h.
| typedef QSharedPointer<InvDipoleForward> INVLIB::InvDipoleForward::SPtr |
Shared pointer type for InvDipoleForward.
Definition at line 85 of file inv_dipole_forward.h.
| typedef std::unique_ptr<InvDipoleForward> INVLIB::InvDipoleForward::UPtr |
Unique pointer type for InvDipoleForward.
Definition at line 87 of file inv_dipole_forward.h.
|
default |
Constructs a default (empty) InvDipoleForward.
|
default |
Destructs the InvDipoleForward. Eigen members are cleaned up automatically.
| Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> INVLIB::InvDipoleForward::fwd |
Forward solution, projected and whitened (3*ndip x nch, row-major).
Definition at line 104 of file inv_dipole_forward.h.
| int INVLIB::InvDipoleForward::nch = 0 |
Number of channels.
Definition at line 109 of file inv_dipole_forward.h.
| int INVLIB::InvDipoleForward::ndip = 0 |
Number of dipoles.
Definition at line 103 of file inv_dipole_forward.h.
| Eigen::MatrixXf INVLIB::InvDipoleForward::rd |
Dipole locations (ndip x 3).
Definition at line 102 of file inv_dipole_forward.h.
| Eigen::VectorXf INVLIB::InvDipoleForward::scales |
Column normalization scales applied to fwd (3*ndip).
Definition at line 105 of file inv_dipole_forward.h.
| Eigen::VectorXf INVLIB::InvDipoleForward::sing |
Singular values of the forward matrix (3*ndip).
Definition at line 108 of file inv_dipole_forward.h.
| Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> INVLIB::InvDipoleForward::uu |
Right singular vectors V^T of fwd (udim x nch, row-major).
Definition at line 106 of file inv_dipole_forward.h.
| Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> INVLIB::InvDipoleForward::vv |
Left singular vectors U^T of fwd (udim x 3*ndip, row-major).
Definition at line 107 of file inv_dipole_forward.h.