v2.0.0
Loading...
Searching...
No Matches
FWDLIB::FwdCompData Class Reference

This structure is used in the compensated field calculations. More...

#include <fwd_comp_data.h>

Public Member Functions

 FwdCompData ()
 ~FwdCompData ()

Static Public Member Functions

static int fwd_comp_field (const Eigen::Vector3f &rd, const Eigen::Vector3f &Q, FwdCoilSet &coils, Eigen::Ref< Eigen::VectorXf > res, void *client)
static int fwd_make_ctf_comp_coils (MNELIB::MNECTFCompDataSet *set, FwdCoilSet *coils, FwdCoilSet *comp_coils)
static FwdCompDatafwd_make_comp_data (MNELIB::MNECTFCompDataSet *set, FwdCoilSet *coils, FwdCoilSet *comp_coils, fwdFieldFunc field, fwdVecFieldFunc vec_field, fwdFieldGradFunc field_grad, void *client)
static int fwd_comp_field_vec (const Eigen::Vector3f &rd, FwdCoilSet &coils, Eigen::Ref< Eigen::MatrixXf > res, void *client)
static int fwd_comp_field_grad (const Eigen::Vector3f &rd, const Eigen::Vector3f &Q, FwdCoilSet &coils, Eigen::Ref< Eigen::VectorXf > res, Eigen::Ref< Eigen::VectorXf > xgrad, Eigen::Ref< Eigen::VectorXf > ygrad, Eigen::Ref< Eigen::VectorXf > zgrad, void *client)

Public Attributes

MNELIB::MNECTFCompDataSetset
FwdCoilSetcomp_coils
fwdFieldFunc field
fwdVecFieldFunc vec_field
fwdFieldGradFunc field_grad
void * client
Eigen::VectorXf work
Eigen::MatrixXf vec_work

Detailed Description

This structure is used in the compensated field calculations.

Implements the Forward Compensation Data description (Replaces *fwdCompData,fwdCompDataRec; struct of MNE-C fwd_comp_data.h).

Definition at line 85 of file fwd_comp_data.h.

Constructor & Destructor Documentation

◆ FwdCompData()

FwdCompData::FwdCompData ( )

Constructs the Forward Compensation Data

Definition at line 64 of file fwd_comp_data.cpp.

◆ ~FwdCompData()

FwdCompData::~FwdCompData ( )

Destroys the Forward Compensation Data

Definition at line 76 of file fwd_comp_data.cpp.

Member Function Documentation

◆ fwd_comp_field()

int FwdCompData::fwd_comp_field ( const Eigen::Vector3f & rd,
const Eigen::Vector3f & Q,
FwdCoilSet & coils,
Eigen::Ref< Eigen::VectorXf > res,
void * client )
static

Calculate the compensated field for one dipole component.

Parameters
[in]rdDipole position.
[in]QDipole moment direction.
[in]coilsCoil definitions.
[out]resResult vector.
[in]clientPointer to FwdCompData.
Returns
OK on success, FAIL on error.

Definition at line 86 of file fwd_comp_data.cpp.

◆ fwd_comp_field_grad()

int FwdCompData::fwd_comp_field_grad ( const Eigen::Vector3f & rd,
const Eigen::Vector3f & Q,
FwdCoilSet & coils,
Eigen::Ref< Eigen::VectorXf > res,
Eigen::Ref< Eigen::VectorXf > xgrad,
Eigen::Ref< Eigen::VectorXf > ygrad,
Eigen::Ref< Eigen::VectorXf > zgrad,
void * client )
static

Calculate the compensated field and gradient for one dipole component.

Parameters
[in]rdDipole position.
[in]QDipole moment direction.
[in]coilsCoil definitions.
[out]resResult vector.
[out]xgradX-gradient result.
[out]ygradY-gradient result.
[out]zgradZ-gradient result.
[in]clientPointer to FwdCompData.
Returns
OK on success, FAIL on error.

Definition at line 247 of file fwd_comp_data.cpp.

◆ fwd_comp_field_vec()

int FwdCompData::fwd_comp_field_vec ( const Eigen::Vector3f & rd,
FwdCoilSet & coils,
Eigen::Ref< Eigen::MatrixXf > res,
void * client )
static

Calculate the compensated field for all three dipole components.

Parameters
[in]rdDipole position.
[in]coilsCoil definitions.
[out]resResult matrix (3 x ncoil).
[in]clientPointer to FwdCompData.
Returns
OK on success, FAIL on error.

Definition at line 204 of file fwd_comp_data.cpp.

◆ fwd_make_comp_data()

FwdCompData * FwdCompData::fwd_make_comp_data ( MNELIB::MNECTFCompDataSet * set,
FwdCoilSet * coils,
FwdCoilSet * comp_coils,
fwdFieldFunc field,
fwdVecFieldFunc vec_field,
fwdFieldGradFunc field_grad,
void * client )
static

Compose a compensation data set.

Parameters
[in]setCTF compensation data read from file.
[in]coilsPrincipal coil set.
[in]comp_coilsCompensation coils.
[in]fieldField computation function (single dipole component).
[in]vec_fieldVector field computation function (all components).
[in]field_gradField and gradient computation function.
[in]clientClient data passed to the computation functions.
Returns
Pointer to the created FwdCompData, or nullptr on error. Caller owns the pointer.

Definition at line 164 of file fwd_comp_data.cpp.

◆ fwd_make_ctf_comp_coils()

int FwdCompData::fwd_make_ctf_comp_coils ( MNELIB::MNECTFCompDataSet * set,
FwdCoilSet * coils,
FwdCoilSet * comp_coils )
static

Set up CTF compensation coils for field computations.

Parameters
[in]setAvailable compensation data.
[in]coilsMain coil set.
[in]comp_coilsCompensation coils.
Returns
OK on success, FAIL on error.

Definition at line 122 of file fwd_comp_data.cpp.

Member Data Documentation

◆ client

void* FWDLIB::FwdCompData::client

Client data to pass to the above functions.

Definition at line 189 of file fwd_comp_data.h.

◆ comp_coils

FwdCoilSet* FWDLIB::FwdCompData::comp_coils

The compensation coil definitions.

Definition at line 185 of file fwd_comp_data.h.

◆ field

fwdFieldFunc FWDLIB::FwdCompData::field

Computes the field of given direction dipole.

Definition at line 186 of file fwd_comp_data.h.

◆ field_grad

fwdFieldGradFunc FWDLIB::FwdCompData::field_grad

Computes the field and gradient of one dipole direction.

Definition at line 188 of file fwd_comp_data.h.

◆ set

MNELIB::MNECTFCompDataSet* FWDLIB::FwdCompData::set

The compensation data set.

Definition at line 184 of file fwd_comp_data.h.

◆ vec_field

fwdVecFieldFunc FWDLIB::FwdCompData::vec_field

Computes the fields of all three dipole components.

Definition at line 187 of file fwd_comp_data.h.

◆ vec_work

Eigen::MatrixXf FWDLIB::FwdCompData::vec_work

The vector work area (3 x ncoil).

Definition at line 191 of file fwd_comp_data.h.

◆ work

Eigen::VectorXf FWDLIB::FwdCompData::work

The work area.

Definition at line 190 of file fwd_comp_data.h.


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