OpenMEEG
assemble.h
Go to the documentation of this file.
1 // Project Name: OpenMEEG (http://openmeeg.github.io)
2 // © INRIA and ENPC under the French open source license CeCILL-B.
3 // See full copyright notice in the file LICENSE.txt
4 // If you make a copy of this file, you must either:
5 // - provide also LICENSE.txt and modify this header to refer to it.
6 // - replace this header by the LICENSE.txt content.
7 
8 #pragma once
9 
10 #include <vector>
11 
12 #include <vector.h>
13 #include <matrix.h>
14 #include <symmatrix.h>
15 #include <geometry.h>
16 #include <sensors.h>
17 #include <integrator.h>
18 
19 #include <sparse_matrix.h>
20 
23 
24 namespace OpenMEEG {
25 
26  // For ADAPT_LHS change the 0 in Integrator below into 10
27  // It would be nice to define some constant integrators for the default values but swig does not like them.
28 
29  OPENMEEG_EXPORT SymMatrix HeadMat(const Geometry& geo,const Integrator& integrator=Integrator(3,0,0.005));
30  OPENMEEG_EXPORT Matrix SurfSourceMat(const Geometry& geo,Mesh& sources,const Integrator& integrator=Integrator(3,0,0.005));
31 
32  OPENMEEG_EXPORT Matrix
33  DipSourceMat(const Geometry& geo,const Matrix& dipoles,const Integrator& integrator,const std::string& domain_name);
34  OPENMEEG_EXPORT Matrix
35  DipSourceMat(const Geometry& geo,const Matrix& dipoles,const std::string& domain_name);
36 
37  OPENMEEG_EXPORT Matrix EITSourceMat(const Geometry& geo,const Sensors& electrodes,const Integrator& integrator=Integrator(3,0,0.005));
38 
39  OPENMEEG_EXPORT Matrix Surf2VolMat(const Geometry& geo,const Matrix& points);
40 
41  OPENMEEG_EXPORT SparseMatrix Head2EEGMat(const Geometry& geo,const Sensors& electrodes);
42  OPENMEEG_EXPORT SparseMatrix Head2ECoGMat(const Geometry& geo,const Sensors& electrodes,const Interface& i);
43 
44  inline SparseMatrix
45  Head2ECoGMat(const Geometry& geo,const Sensors& electrodes,const std::string& id) { // Mainly for SWIG
46  return Head2ECoGMat(geo,electrodes,geo.interface(id));
47  }
48 
49  OPENMEEG_EXPORT Matrix Head2MEGMat(const Geometry& geo,const Sensors& sensors);
50  OPENMEEG_EXPORT Matrix SurfSource2MEGMat(const Mesh& sources,const Sensors& sensors);
51  OPENMEEG_EXPORT Matrix DipSource2MEGMat(const Matrix& dipoles,const Sensors& sensors);
52  OPENMEEG_EXPORT Matrix DipSource2InternalPotMat(const Geometry& geo,const Matrix& dipoles,const Matrix& points,const std::string& domain_name="");
53 
54  OPENMEEG_EXPORT Matrix CorticalMat(const Geometry& geo,const SparseMatrix& M,const std::string& domain_name="CORTEX",
55  const double alpha=-1.0,const double beta=-1.0,const std::string &filename="",
56  const Integrator& integrator=Integrator(3,0,0.005));
57 
58  OPENMEEG_EXPORT Matrix CorticalMat2(const Geometry& geo,const SparseMatrix& M,const std::string& domain_name="CORTEX",
59  const double gamma=1.0,const std::string &filename="",const Integrator& integrator=Integrator(3,0,0.005));
60 }
Geometry contains the electrophysiological model Vertices, meshes and domains are stored in this geom...
Definition: geometry.h:31
const Interface & interface(const std::string &name) const
returns the Interface called
Interface class An interface is a closed-shape composed of oriented meshes (vector of oriented meshes...
Definition: interface.h:49
Matrix class Matrix class.
Definition: matrix.h:28
Sensors class for EEG and MEG sensors.
Definition: sensors.h:61
SymMatrix HeadMat(const Geometry &geo, const Integrator &integrator=Integrator(3, 0, 0.005))
Matrix DipSource2MEGMat(const Matrix &dipoles, const Sensors &sensors)
Matrix CorticalMat(const Geometry &geo, const SparseMatrix &M, const std::string &domain_name="CORTEX", const double alpha=-1.0, const double beta=-1.0, const std::string &filename="", const Integrator &integrator=Integrator(3, 0, 0.005))
Matrix CorticalMat2(const Geometry &geo, const SparseMatrix &M, const std::string &domain_name="CORTEX", const double gamma=1.0, const std::string &filename="", const Integrator &integrator=Integrator(3, 0, 0.005))
Matrix DipSourceMat(const Geometry &geo, const Matrix &dipoles, const Integrator &integrator, const std::string &domain_name)
Matrix SurfSourceMat(const Geometry &geo, Mesh &sources, const Integrator &integrator=Integrator(3, 0, 0.005))
SparseMatrix Head2EEGMat(const Geometry &geo, const Sensors &electrodes)
Matrix DipSource2InternalPotMat(const Geometry &geo, const Matrix &dipoles, const Matrix &points, const std::string &domain_name="")
Matrix SurfSource2MEGMat(const Mesh &sources, const Sensors &sensors)
Matrix Surf2VolMat(const Geometry &geo, const Matrix &points)
Matrix EITSourceMat(const Geometry &geo, const Sensors &electrodes, const Integrator &integrator=Integrator(3, 0, 0.005))
Matrix Head2MEGMat(const Geometry &geo, const Sensors &sensors)
SparseMatrix Head2ECoGMat(const Geometry &geo, const Sensors &electrodes, const Interface &i)