v2.0.0
Loading...
Searching...
No Matches
INVLIB::InvDipoleForward Class Reference

Stores forward field matrices and SVD decomposition for magnetic dipole fitting. More...

#include <inv_dipole_forward.h>

Public Types

typedef QSharedPointer< InvDipoleForwardSPtr
typedef QSharedPointer< const InvDipoleForwardConstSPtr
typedef std::unique_ptr< InvDipoleForwardUPtr

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

Detailed Description

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.

Member Typedef Documentation

◆ ConstSPtr

Const shared pointer type for InvDipoleForward.

Definition at line 86 of file inv_dipole_forward.h.

◆ SPtr

Shared pointer type for InvDipoleForward.

Definition at line 85 of file inv_dipole_forward.h.

◆ UPtr

Unique pointer type for InvDipoleForward.

Definition at line 87 of file inv_dipole_forward.h.

Constructor & Destructor Documentation

◆ InvDipoleForward()

INVLIB::InvDipoleForward::InvDipoleForward ( )
default

Constructs a default (empty) InvDipoleForward.

◆ ~InvDipoleForward()

INVLIB::InvDipoleForward::~InvDipoleForward ( )
default

Destructs the InvDipoleForward. Eigen members are cleaned up automatically.

Member Data Documentation

◆ fwd

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.

◆ nch

int INVLIB::InvDipoleForward::nch = 0

Number of channels.

Definition at line 109 of file inv_dipole_forward.h.

◆ ndip

int INVLIB::InvDipoleForward::ndip = 0

Number of dipoles.

Definition at line 103 of file inv_dipole_forward.h.

◆ rd

Eigen::MatrixXf INVLIB::InvDipoleForward::rd

Dipole locations (ndip x 3).

Definition at line 102 of file inv_dipole_forward.h.

◆ scales

Eigen::VectorXf INVLIB::InvDipoleForward::scales

Column normalization scales applied to fwd (3*ndip).

Definition at line 105 of file inv_dipole_forward.h.

◆ sing

Eigen::VectorXf INVLIB::InvDipoleForward::sing

Singular values of the forward matrix (3*ndip).

Definition at line 108 of file inv_dipole_forward.h.

◆ uu

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.

◆ vv

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.


The documentation for this class was generated from the following file: