OpenMEEG
OpenMEEG
include
assemble.h
Go to the documentation of this file.
1
/*
2
Project Name: OpenMEEG
3
4
© INRIA and ENPC (contributors: Geoffray ADDE, Maureen CLERC, Alexandre
5
GRAMFORT, Renaud KERIVEN, Jan KYBIC, Perrine LANDREAU, Théodore PAPADOPOULO,
6
Emmanuel OLIVI
7
Maureen.Clerc.AT.inria.fr, keriven.AT.certis.enpc.fr,
8
kybic.AT.fel.cvut.cz, papadop.AT.inria.fr)
9
10
The OpenMEEG software is a C++ package for solving the forward/inverse
11
problems of electroencephalography and magnetoencephalography.
12
13
This software is governed by the CeCILL-B license under French law and
14
abiding by the rules of distribution of free software. You can use,
15
modify and/ or redistribute the software under the terms of the CeCILL-B
16
license as circulated by CEA, CNRS and INRIA at the following URL
17
"http://www.cecill.info".
18
19
As a counterpart to the access to the source code and rights to copy,
20
modify and redistribute granted by the license, users are provided only
21
with a limited warranty and the software's authors, the holders of the
22
economic rights, and the successive licensors have only limited
23
liability.
24
25
In this respect, the user's attention is drawn to the risks associated
26
with loading, using, modifying and/or developing or reproducing the
27
software by the user in light of its specific status of free software,
28
that may mean that it is complicated to manipulate, and that also
29
therefore means that it is reserved for developers and experienced
30
professionals having in-depth computer knowledge. Users are therefore
31
encouraged to load and test the software's suitability as regards their
32
requirements in conditions enabling the security of their systems and/or
33
data to be ensured and, more generally, to use and operate it in the
34
same conditions as regards security.
35
36
The fact that you are presently reading this means that you have had
37
knowledge of the CeCILL-B license and that you accept its terms.
38
*/
39
40
#pragma once
41
42
#include <vector>
43
44
#include <
vector.h
>
45
#include <
matrix.h
>
46
#include <
symmatrix.h
>
47
#include <
geometry.h
>
48
#include <
sensors.h
>
49
50
namespace
OpenMEEG
{
51
52
class
OPENMEEG_EXPORT
HeadMat
:
public
virtual
SymMatrix
{
53
public
:
54
HeadMat
(
const
Geometry
& geo,
const
unsigned
gauss_order=3);
55
virtual
~HeadMat
() {};
56
};
57
58
class
OPENMEEG_EXPORT
SurfSourceMat
:
public
virtual
Matrix
{
59
public
:
60
SurfSourceMat
(
const
Geometry
& geo,
Mesh
& sources,
const
unsigned
gauss_order=3);
61
virtual
~SurfSourceMat
() {};
62
};
63
64
class
OPENMEEG_EXPORT
DipSourceMat
:
public
virtual
Matrix
{
65
public
:
66
DipSourceMat
(
const
Geometry
& geo,
const
Matrix
& dipoles,
const
unsigned
gauss_order=3,
67
const
bool
adapt_rhs =
true
,
const
std::string& domain_name =
""
);
68
virtual
~DipSourceMat
() {};
69
};
70
71
class
OPENMEEG_EXPORT
EITSourceMat
:
public
virtual
Matrix
{
72
public
:
73
EITSourceMat
(
const
Geometry
& geo,
const
Sensors
& electrodes,
const
unsigned
gauss_order=3);
74
virtual
~EITSourceMat
() {};
75
};
76
77
class
OPENMEEG_EXPORT
Surf2VolMat
:
public
virtual
Matrix
{
78
public
:
79
using
Matrix::operator=;
80
Surf2VolMat
(
const
Geometry
& geo,
const
Matrix
& points);
81
virtual
~Surf2VolMat
() {};
82
};
83
84
class
OPENMEEG_EXPORT
Head2EEGMat
:
public
virtual
SparseMatrix
{
85
public
:
86
Head2EEGMat
(
const
Geometry
& geo,
const
Sensors
& electrodes);
87
virtual
~Head2EEGMat
() {};
88
};
89
90
class
OPENMEEG_EXPORT
Head2ECoGMat
:
public
virtual
SparseMatrix
{
91
public
:
92
Head2ECoGMat
(
const
Geometry
& geo,
const
Sensors
& electrodes,
const
Interface
& i);
93
Head2ECoGMat
(
const
Geometry
& geo,
const
Sensors
& electrodes,
const
std::string&
id
);
// mainly for SWIG
94
virtual
~Head2ECoGMat
() {};
95
};
96
97
class
OPENMEEG_EXPORT
Head2MEGMat
:
public
virtual
Matrix
{
98
public
:
99
Head2MEGMat
(
const
Geometry
& geo,
const
Sensors
& sensors);
100
virtual
~Head2MEGMat
() {};
101
};
102
103
class
OPENMEEG_EXPORT
SurfSource2MEGMat
:
public
virtual
Matrix
{
104
public
:
105
SurfSource2MEGMat
(
const
Mesh
& sources,
const
Sensors
& sensors);
106
virtual
~SurfSource2MEGMat
() {};
107
};
108
109
class
OPENMEEG_EXPORT
DipSource2MEGMat
:
public
virtual
Matrix
{
110
public
:
111
DipSource2MEGMat
(
const
Matrix
& dipoles,
const
Sensors
& sensors);
112
virtual
~DipSource2MEGMat
() {};
113
};
114
115
class
OPENMEEG_EXPORT
DipSource2InternalPotMat
:
public
virtual
Matrix
{
116
public
:
117
DipSource2InternalPotMat
(
const
Geometry
& geo,
const
Matrix
& dipoles,
118
const
Matrix
& points,
const
std::string& domain_name =
""
);
119
virtual
~DipSource2InternalPotMat
() {};
120
};
121
122
class
OPENMEEG_EXPORT
CorticalMat
:
public
virtual
Matrix
{
123
public
:
124
CorticalMat
(
const
Geometry
& geo,
const
Head2EEGMat
& M,
const
std::string& domain_name =
"CORTEX"
,
125
const
unsigned
gauss_order=3,
double
alpha=-1.,
double
beta=-1.,
const
std::string &filename=
""
);
126
virtual
~CorticalMat
() {};
127
};
128
129
class
OPENMEEG_EXPORT
CorticalMat2
:
public
virtual
Matrix
{
130
public
:
131
CorticalMat2
(
const
Geometry
& geo,
const
Head2EEGMat
& M,
const
std::string& domain_name =
"CORTEX"
,
132
const
unsigned
gauss_order=3,
double
gamma=1.,
const
std::string &filename=
""
);
133
virtual
~CorticalMat2
() {};
134
};
135
}
OpenMEEG::Interface
Interface class An interface is a closed-shape composed of oriented meshes (here pointer to meshes)
Definition:
interface.h:72
OpenMEEG::Head2MEGMat::~Head2MEGMat
virtual ~Head2MEGMat()
Definition:
assemble.h:100
sensors.h
OpenMEEG::Head2ECoGMat
Definition:
assemble.h:90
OpenMEEG::DipSourceMat::~DipSourceMat
virtual ~DipSourceMat()
Definition:
assemble.h:68
OpenMEEG::DipSource2MEGMat::~DipSource2MEGMat
virtual ~DipSource2MEGMat()
Definition:
assemble.h:112
OpenMEEG::DipSource2InternalPotMat::~DipSource2InternalPotMat
virtual ~DipSource2InternalPotMat()
Definition:
assemble.h:119
OpenMEEG::CorticalMat2
Definition:
assemble.h:129
geometry.h
OpenMEEG::DipSourceMat
Definition:
assemble.h:64
OpenMEEG::Surf2VolMat::~Surf2VolMat
virtual ~Surf2VolMat()
Definition:
assemble.h:81
OpenMEEG::EITSourceMat::~EITSourceMat
virtual ~EITSourceMat()
Definition:
assemble.h:74
OpenMEEG::Surf2VolMat
Definition:
assemble.h:77
OpenMEEG::CorticalMat::~CorticalMat
virtual ~CorticalMat()
Definition:
assemble.h:126
OpenMEEG::Mesh
Mesh class.
Definition:
mesh.h:85
OpenMEEG
Definition:
analytics.h:45
matrix.h
OpenMEEG::Head2EEGMat
Definition:
assemble.h:84
OpenMEEG::Head2EEGMat::~Head2EEGMat
virtual ~Head2EEGMat()
Definition:
assemble.h:87
OpenMEEG::SparseMatrix
Definition:
sparse_matrix.h:62
OpenMEEG::HeadMat
Definition:
assemble.h:52
OpenMEEG::SurfSource2MEGMat::~SurfSource2MEGMat
virtual ~SurfSource2MEGMat()
Definition:
assemble.h:106
symmatrix.h
OpenMEEG::Geometry
Geometry contains the electrophysiological model Here are stored the vertices, meshes and domains.
Definition:
geometry.h:61
OpenMEEG::SurfSourceMat
Definition:
assemble.h:58
OpenMEEG::DipSource2MEGMat
Definition:
assemble.h:109
OpenMEEG::EITSourceMat
Definition:
assemble.h:71
OpenMEEG::Sensors
Definition:
sensors.h:92
OpenMEEG::Head2MEGMat
Definition:
assemble.h:97
OpenMEEG::Matrix
Matrix class.
Definition:
matrix.h:61
OpenMEEG::HeadMat::~HeadMat
virtual ~HeadMat()
Definition:
assemble.h:55
vector.h
OpenMEEG::SurfSourceMat::~SurfSourceMat
virtual ~SurfSourceMat()
Definition:
assemble.h:61
OpenMEEG::Head2ECoGMat::~Head2ECoGMat
virtual ~Head2ECoGMat()
Definition:
assemble.h:94
OpenMEEG::CorticalMat2::~CorticalMat2
virtual ~CorticalMat2()
Definition:
assemble.h:133
OpenMEEG::DipSource2InternalPotMat
Definition:
assemble.h:115
OpenMEEG::SymMatrix
Definition:
symmatrix.h:53
OpenMEEG::CorticalMat
Definition:
assemble.h:122
OpenMEEG::SurfSource2MEGMat
Definition:
assemble.h:103
Generated by
1.8.17