MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
fwd_types.h
1#ifndef _fwd_fwd_types_h
2#define _fwd_fwd_types_h
3
4/*
5 * Type definitions for forward calculations
6 */
7
8#include <fiff/fiff_types.h>
9#include <mne/c/mne_types.h>
10
11#include "fwd_coil_set.h"
12
14
15typedef void (*fwdUserFreeFunc)(void *); /* General purpose */
16
17/*
18 * This is a convenient generic field / potential computation function
19 */
20typedef int (*fwdFieldFunc)(float *rd,float *Q,FWDLIB::FwdCoilSet* coils,float *res,void *client);
21typedef int (*fwdVecFieldFunc)(float *rd,FWDLIB::FwdCoilSet* coils,float **res,void *client);
22typedef int (*fwdFieldGradFunc)(float *rd,float *Q,FWDLIB::FwdCoilSet* coils, float *res,
23 float *xgrad, float *ygrad, float *zgrad, void *client);
24
25//#define FWD_BEM_UNKNOWN -1
26//#define FWD_BEM_CONSTANT_COLL 1
27//#define FWD_BEM_LINEAR_COLL 2
28
29//#define FWD_BEM_IP_APPROACH_LIMIT 0.1
30
31//#define FWD_BEM_LIN_FIELD_SIMPLE 1
32//#define FWD_BEM_LIN_FIELD_FERGUSON 2
33//#define FWD_BEM_LIN_FIELD_URANKAR 3
34
35//typedef struct { /* Space to store a solution matrix */
36// float **solution; /* The solution matrix */
37// int ncoil; /* Number of sensors */
38// int np; /* Number of potential solution points */
39//} *fwdBemSolution,fwdBemSolutionRec; /* Mapping from infinite medium potentials to a particular set of coils or electrodes */
40
41//typedef struct {
42// char *surf_name; /* Name of the file where surfaces were loaded from */
43// FWDLIB::MneCSurface* *surfs; /* The interface surfaces from outside towards inside */
44// int *ntri; /* Number of triangles on each surface */
45// int *np; /* Number of vertices on each surface */
46// int nsurf; /* How many */
47// float *sigma; /* The conductivities */
48// float **gamma; /* The gamma factors */
49// float *source_mult; /* These multiply the infinite medium potentials */
50// float *field_mult; /* Multipliers for the magnetic field */
51// int bem_method; /* Which approximation method is used */
52// char *sol_name; /* Name of the file where the solution was loaded from */
53
54// float **solution; /* The potential solution matrix */
55// float *v0; /* Space for the infinite-medium potentials */
56// int nsol; /* Size of the solution matrix */
57
58// FWDLIB::FiffCoordTransOld* head_mri_t; /* Coordinate transformation from head to MRI coordinates */
59
60// float ip_approach_limit; /* Controls whether we need to use the isolated problem approach */
61// int use_ip_approach; /* Do we need it */
62//} *fwdBemModel,fwdBemModelRec; /* Holds the BEM model definition */
63
64//typedef struct {
65// FWDLIB::MneCTFCompDataSet* set; /* The compensation data set */
66// FWDLIB::FwdCoilSet* comp_coils; /* The compensation coil definitions */
67// fwdFieldFunc field; /* Computes the field of given direction dipole */
68// fwdVecFieldFunc vec_field; /* Computes the fields of all three dipole components */
69// fwdFieldGradFunc field_grad; /* Computes the field and gradient of one dipole direction */
70// void *client; /* Client data to pass to the above functions */
71// fwdUserFreeFunc client_free;
72// float *work; /* The work areas */
73// float **vec_work;
74//} *fwdCompData,fwdCompDataRec; /* This structure is used in the compensated field calculations */
75
76#endif
Definitions for describing the objects in a FIFF file.
MneCTFCompDataSet class declaration.
FwdCoilSet class declaration.
FwdCoilSet description.