MNE-CPP  0.1.9
A Framework for Electrophysiology
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
FWDLIB::FwdBemModel Class Reference

Holds the BEM model definition. More...

#include <fwd_bem_model.h>

Public Types

typedef QSharedPointer< FwdBemModelSPtr
 
typedef QSharedPointer< const FwdBemModelConstSPtr
 
typedef void(* linFieldIntFunc) (float *dest, float *dir, MNELIB::MneTriangle *tri, double *res)
 

Public Member Functions

 FwdBemModel ()
 
virtual ~FwdBemModel ()
 
void fwd_bem_free_solution ()
 
MNELIB::MneSurfaceOldfwd_bem_find_surface (int kind)
 

Static Public Member Functions

static QString fwd_bem_make_bem_sol_name (const QString &name)
 

 
static const QString & fwd_bem_explain_surface (int kind)
 
static const QString & fwd_bem_explain_method (int method)
 
static int get_int (FIFFLIB::FiffStream::SPtr &stream, const FIFFLIB::FiffDirNode::SPtr &node, int what, int *res)
 
static FwdBemModelfwd_bem_load_surfaces (const QString &name, int *kinds, int nkind)
 
static FwdBemModelfwd_bem_load_homog_surface (const QString &name)
 
static FwdBemModelfwd_bem_load_three_layer_surfaces (const QString &name)
 
static int fwd_bem_load_solution (const QString &name, int bem_method, FwdBemModel *m)
 
static int fwd_bem_set_head_mri_t (FwdBemModel *m, FIFFLIB::FiffCoordTransOld *t)
 
static MNELIB::MneSurfaceOldmake_guesses (MNELIB::MneSurfaceOld *guess_surf, float guessrad, float *guess_r0, float grid, float exclude, float mindist)
 
static double calc_beta (double *rk, double *rk1)
 
static void lin_pot_coeff (float *from, MNELIB::MneTriangle *to, double omega[3])
 
static void correct_auto_elements (MNELIB::MneSurfaceOld *surf, float **mat)
 
static float ** fwd_bem_lin_pot_coeff (const QList< MNELIB::MneSurfaceOld * > &surfs)
 
static int fwd_bem_linear_collocation_solution (FwdBemModel *m)
 
static float ** fwd_bem_multi_solution (float **solids, float **gamma, int nsurf, int *ntri)
 
static float ** fwd_bem_homog_solution (float **solids, int ntri)
 
static void fwd_bem_ip_modify_solution (float **solution, float **ip_solution, float ip_mult, int nsurf, int *ntri)
 
static int fwd_bem_check_solids (float **angles, int ntri1, int ntri2, float desired)
 
static float ** fwd_bem_solid_angles (const QList< MNELIB::MneSurfaceOld * > &surfs)
 
static int fwd_bem_constant_collocation_solution (FwdBemModel *m)
 
static int fwd_bem_compute_solution (FwdBemModel *m, int bem_method)
 
static int fwd_bem_load_recompute_solution (const QString &name, int bem_method, int force_recompute, FwdBemModel *m)
 
static float fwd_bem_inf_field (float *rd, float *Q, float *rp, float *dir)
 
static float fwd_bem_inf_pot (float *rd, float *Q, float *rp)
 
static int fwd_bem_specify_els (FwdBemModel *m, FwdCoilSet *els)
 
static void fwd_bem_pot_grad_calc (float *rd, float *Q, FwdBemModel *m, FwdCoilSet *els, int all_surfs, float *xgrad, float *ygrad, float *zgrad)
 
static void fwd_bem_lin_pot_calc (float *rd, float *Q, FwdBemModel *m, FwdCoilSet *els, int all_surfs, float *pot)
 
static void fwd_bem_lin_pot_grad_calc (float *rd, float *Q, FwdBemModel *m, FwdCoilSet *els, int all_surfs, float *xgrad, float *ygrad, float *zgrad)
 
static void fwd_bem_pot_calc (float *rd, float *Q, FwdBemModel *m, FwdCoilSet *els, int all_surfs, float *pot)
 
static int fwd_bem_pot_els (float *rd, float *Q, FwdCoilSet *els, float *pot, void *client)
 
static int fwd_bem_pot_grad_els (float *rd, float *Q, FwdCoilSet *els, float *pot, float *xgrad, float *ygrad, float *zgrad, void *client)
 
static void calc_f (double *xx, double *yy, double *f0, double *fx, double *fy)
 
static void calc_magic (double u, double z, double A, double B, double *beta, double *D)
 
static void field_integrals (float *from, MNELIB::MneTriangle *to, double *I1p, double *T, double *S1, double *S2, double *f0, double *fx, double *fy)
 
static double one_field_coeff (float *dest, float *normal, MNELIB::MneTriangle *tri)
 
static float ** fwd_bem_field_coeff (FwdBemModel *m, FwdCoilSet *coils)
 
static double calc_gamma (double *rk, double *rk1)
 
static void fwd_bem_one_lin_field_coeff_ferg (float *dest, float *dir, MNELIB::MneTriangle *tri, double *res)
 
static void fwd_bem_one_lin_field_coeff_uran (float *dest, float *dir, MNELIB::MneTriangle *tri, double *res)
 
static void fwd_bem_one_lin_field_coeff_simple (float *dest, float *normal, MNELIB::MneTriangle *source, double *res)
 
static float ** fwd_bem_lin_field_coeff (FwdBemModel *m, FwdCoilSet *coils, int method)
 
static int fwd_bem_specify_coils (FwdBemModel *m, FwdCoilSet *coils)
 
static void fwd_bem_lin_field_calc (float *rd, float *Q, FwdCoilSet *coils, FwdBemModel *m, float *B)
 
static void fwd_bem_field_calc (float *rd, float *Q, FwdCoilSet *coils, FwdBemModel *m, float *B)
 
static void fwd_bem_field_grad_calc (float *rd, float *Q, FwdCoilSet *coils, FwdBemModel *m, float *xgrad, float *ygrad, float *zgrad)
 
static float fwd_bem_inf_field_der (float *rd, float *Q, float *rp, float *dir, float *comp)
 
static float fwd_bem_inf_pot_der (float *rd, float *Q, float *rp, float *comp)
 
static void fwd_bem_lin_field_grad_calc (float *rd, float *Q, FwdCoilSet *coils, FwdBemModel *m, float *xgrad, float *ygrad, float *zgrad)
 
static int fwd_bem_field (float *rd, float *Q, FwdCoilSet *coils, float *B, void *client)
 
static int fwd_bem_field_grad (float *rd, float Q[], FwdCoilSet *coils, float Bval[], float xgrad[], float ygrad[], float zgrad[], void *client)
 
static void * meg_eeg_fwd_one_source_space (void *arg)
 
static int compute_forward_meg (MNELIB::MneSourceSpaceOld **spaces, int nspace, FwdCoilSet *coils, FwdCoilSet *comp_coils, MNELIB::MneCTFCompDataSet *comp_data, bool fixed_ori, FwdBemModel *bem_model, Eigen::Vector3f *r0, bool use_threads, FIFFLIB::FiffNamedMatrix &resp, FIFFLIB::FiffNamedMatrix &resp_grad, bool bDoGRad)
 
static int compute_forward_eeg (MNELIB::MneSourceSpaceOld **spaces, int nspace, FwdCoilSet *els, bool fixed_ori, FwdBemModel *bem_model, FwdEegSphereModel *m, bool use_threads, FIFFLIB::FiffNamedMatrix &resp, FIFFLIB::FiffNamedMatrix &resp_grad, bool bDoGrad)
 
static int fwd_sphere_field (float *rd, float Q[], FwdCoilSet *coils, float Bval[], void *client)
 
static int fwd_sphere_field_vec (float *rd, FwdCoilSet *coils, float **Bval, void *client)
 
static int fwd_sphere_field_grad (float *rd, float Q[], FwdCoilSet *coils, float Bval[], float xgrad[], float ygrad[], float zgrad[], void *client)
 
static int fwd_mag_dipole_field (float *rm, float M[], FwdCoilSet *coils, float Bval[], void *client)
 
static int fwd_mag_dipole_field_vec (float *rm, FwdCoilSet *coils, float **Bval, void *client)
 

Public Attributes

QString surf_name
 
QList< MNELIB::MneSurfaceOld * > surfs
 
int * ntri
 
int * np
 
int nsurf
 
float * sigma
 
float ** gamma
 
float * source_mult
 
float * field_mult
 
int bem_method
 
QString sol_name
 
float ** solution
 
float * v0
 
int nsol
 
FIFFLIB::FiffCoordTransOldhead_mri_t
 
float ip_approach_limit
 
bool use_ip_approach
 

Detailed Description

Holds the BEM model definition.

Implements FwdBemModel (Replaces FwdBemModel,FwdBemModel*Rec struct of MNE-C fwd_types.h).

Definition at line 110 of file fwd_bem_model.h.

Member Typedef Documentation

◆ ConstSPtr

typedef QSharedPointer<const FwdBemModel> FWDLIB::FwdBemModel::ConstSPtr

Const shared pointer type for FwdBemModel.

Definition at line 114 of file fwd_bem_model.h.

◆ SPtr

typedef QSharedPointer<FwdBemModel> FWDLIB::FwdBemModel::SPtr

Shared pointer type for FwdBemModel.

Definition at line 113 of file fwd_bem_model.h.

Constructor & Destructor Documentation

◆ FwdBemModel()

FwdBemModel::FwdBemModel ( )
explicit

Constructs the BEM Model Refactored: fwd_bem_new_model (fwd_bem_model.c)

Definition at line 418 of file fwd_bem_model.cpp.

◆ ~FwdBemModel()

FwdBemModel::~FwdBemModel ( )
virtual

Destroys the BEM Model Refactored: fwd_bem_free_model (fwd_bem_free_model.c)

Definition at line 438 of file fwd_bem_model.cpp.

Member Function Documentation

◆ compute_forward_eeg()

int FwdBemModel::compute_forward_eeg ( MNELIB::MneSourceSpaceOld **  spaces,
int  nspace,
FwdCoilSet els,
bool  fixed_ori,
FwdBemModel bem_model,
FwdEegSphereModel m,
bool  use_threads,
FIFFLIB::FiffNamedMatrix resp,
FIFFLIB::FiffNamedMatrix resp_grad,
bool  bDoGrad 
)
static

calculate gradient solution.

Parameters
spacesSource spaces.
nspaceHow many?.
elsElectrode locations.
fixed_oriUse fixed-orientation dipoles.
bem_modelBEM model definition.
mSphere model definition.
use_threadsParallelize with threads?.
respThe results.

Definition at line 3364 of file fwd_bem_model.cpp.

◆ compute_forward_meg()

int FwdBemModel::compute_forward_meg ( MNELIB::MneSourceSpaceOld **  spaces,
int  nspace,
FwdCoilSet coils,
FwdCoilSet comp_coils,
MNELIB::MneCTFCompDataSet comp_data,
bool  fixed_ori,
FwdBemModel bem_model,
Eigen::Vector3f *  r0,
bool  use_threads,
FIFFLIB::FiffNamedMatrix resp,
FIFFLIB::FiffNamedMatrix resp_grad,
bool  bDoGRad 
)
static

calculate gradient solution.

Parameters
spacesSource spaces.
nspaceHow many?.
coilsMEG Coilset.
comp_coilsCompensator Coilset.
comp_dataCompensator Data.
fixed_oriUse fixed-orientation dipoles.
bem_modelBEM model definition.
r0Sphere model origin.
use_threadsParallelize with threads?.
respThe results.

Definition at line 3100 of file fwd_bem_model.cpp.

◆ fwd_bem_free_solution()

void FwdBemModel::fwd_bem_free_solution ( )

Refactored: fwd_bem_free_solution (fwd_bem_model.c)

Definition at line 455 of file fwd_bem_model.cpp.


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