OpenMEEG
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
OpenMEEG Namespace Reference

Namespaces

 command_line
 
 maths
 

Classes

class  AdaptiveIntegrator
 
class  analyticD3
 
class  analyticDipPot
 
class  analyticDipPotDer
 
class  analyticS
 
class  Conductivity
 
class  CorticalMat
 
class  CorticalMat2
 
class  cpuChrono
 
class  DipSource2InternalPotMat
 
class  DipSource2MEGMat
 
class  DipSourceMat
 
class  Domain
 a Domain is a vector of HalfSpace A Domain is the intersection of simple domains (of type HalfSpace). More...
 
class  EITSourceMat
 
class  FastSparseMatrix
 
class  Forward
 
class  GainEEG
 
class  GainEEGadjoint
 
class  GainEEGMEGadjoint
 
class  GainEITInternalPot
 
class  GainInternalPot
 
class  GainMEG
 
class  GainMEGadjoint
 
class  Geometry
 Geometry contains the electrophysiological model Here are stored the vertices, meshes and domains. More...
 
class  GeometryReader
 A class to read geometry and cond file. More...
 
class  HalfSpace
 a HalfSpace is a pair of Interface and boolean A simple domain (HalfSpace) is given by an interface (of type Interface) identifying a closed surface and a side information. More...
 
class  Head2ECoGMat
 
class  Head2EEGMat
 
class  Head2MEGMat
 
class  HeadMat
 
class  Integrator
 
class  Interface
 Interface class An interface is a closed-shape composed of oriented meshes (here pointer to meshes) More...
 
class  Jacobi
 
class  LinOp
 
class  LinOpInfo
 
struct  LinOpValue
 
class  Matrix
 Matrix class. More...
 
class  Mesh
 Mesh class. More...
 
class  OrientedMesh
 An Oriented Mesh is a mesh associated with a boolean stating if it is well oriented. More...
 
class  Sensors
 
class  SparseMatrix
 
class  Surf2VolMat
 
class  SurfSource2MEGMat
 
class  SurfSourceMat
 
class  SymMatrix
 
class  Triangle
 Triangle. More...
 
class  Vect3
 Vect3. More...
 
class  Vect3array
 
class  Vector
 
class  Vertex
 Vertex. More...
 

Typedefs

typedef std::vector< DomainDomains
 A vector of Domain is called Domains. More...
 
typedef std::vector< InterfaceInterfaces
 A vector of Interface is called Interfaces. More...
 
typedef std::vector< MeshMeshes
 A vector of Mesh is called Meshes. More...
 
using Strings = std::vector< std::string >
 
typedef std::vector< TriangleTriangles
 
typedef Vect3 Normal
 
typedef std::vector< NormalNormals
 
typedef std::vector< VertexVertices
 

Enumerations

enum  Filetype {
  VTK, TRI, BND, MESH,
  OFF, GIFTI
}
 
enum  DeepCopy { DEEP_COPY }
 

Functions

double integral_simplified_green (const Vect3 &p0x, const double norm2p0x, const Vect3 &p1x, const double norm2p1x, const Vect3 &p1p0, const double norm2p1p0)
 
double dist_point_cell (const Vect3 &, const Triangle &, Vect3 &, bool &)
 
OPENMEEG_EXPORT double dist_point_interface (const Vect3 &, const Interface &, Vect3 &, Triangle &)
 
OPENMEEG_EXPORT std::string dist_point_geom (const Vect3 &, const Geometry &, Vect3 &, Triangle &, double &)
 
void compute_forward (Matrix &SimulatedData, const Matrix &GainMatrix, const Matrix &RealSourcesData, double NoiseLevel)
 
void GeneratePlaneRotation (double &dx, double &dy, double &cs, double &sn)
 
void ApplyPlaneRotation (double &dx, double &dy, double &cs, double &sn)
 
template<class T >
void Update (Vector &x, int k, T &h, Vector &s, Vector v[])
 
template<class T , class P >
unsigned GMRes (const T &A, const P &M, Vector &x, const Vector &b, int max_iter, double tol, unsigned m)
 
template<int d>
void multadd (Vect3array< d > &target, const double scale, const Vect3array< d > &incr)
 
void multadd (double &target, const double scale, const double incr)
 
void multadd (Vect3 &target, const double scale, const Vect3 &incr)
 
template<class T >
bool almost_equal (T x, T y, double eps=1e3)
 
void operatorSinternal (const Mesh &, Matrix &, const Vertices &, const double &)
 
void operatorDinternal (const Mesh &, Matrix &, const Vertices &, const double &)
 
void operatorFerguson (const Vect3 &, const Mesh &, Matrix &, const unsigned &, const double &)
 
void operatorDipolePotDer (const Vect3 &, const Vect3 &, const Mesh &, Vector &, const double &, const unsigned, const bool)
 
void operatorDipolePot (const Vect3 &, const Vect3 &, const Mesh &, Vector &, const double &, const unsigned, const bool)
 
template<typename T >
void _operatorD (const Triangle &T1, const Triangle &T2, T &mat, const double &coeff, const unsigned gauss_order)
 
void _operatorDinternal (const Triangle &T2, const Vertex &P, Matrix &mat, const double &coeff)
 
double _operatorS (const Triangle &T1, const Triangle &T2, const unsigned gauss_order)
 
double _operatorSinternal (const Triangle &T, const Vertex &P)
 
template<typename T >
double _operatorN (const Vertex &V1, const Vertex &V2, const Mesh &m1, const Mesh &m2, const T &mat)
 
double _operatorP1P0 (const Triangle &T2, const Vertex &V1)
 
template<typename T >
void operatorN (const Mesh &m1, const Mesh &m2, T &mat, const double &coeff, const unsigned gauss_order)
 
template<typename T >
void operatorS (const Mesh &m1, const Mesh &m2, T &mat, const double &coeff, const unsigned gauss_order)
 
template<typename T >
void operatorD (const Mesh &m1, const Mesh &m2, T &mat, const double &coeff, const unsigned gauss_order)
 
template<typename T >
void operatorD (const Mesh &m1, const Mesh &m2, T &mat, const double &coeff, const unsigned gauss_order, const bool star)
 
template<typename T >
void operatorP1P0 (const Mesh &m, T &mat, const double &coeff)
 
Vect3 _operatorFerguson (const Vect3 &x, const Vertex &V1, const Mesh &m)
 
template<typename REP >
std::istream & operator>> (std::istream &is, Conductivity< REP > &m)
 
template<typename REP >
std::ostream & operator<< (std::ostream &os, const Conductivity< REP > &m)
 
OPENMEEG_EXPORT bool tri_tri_overlap_test_3d (double p1[3], double q1[3], double r1[3], double p2[3], double q2[3], double r2[3])
 
bool coplanar_tri_tri3d (double p1[3], double q1[3], double r1[3], double p2[3], double q2[3], double r2[3], double N1[3], double N2[3])
 
bool tri_tri_overlap_test_2d (double p1[2], double q1[2], double r1[2], double p2[2], double q2[2], double r2[2])
 
bool tri_tri_intersection_test_3d (double p1[3], double q1[3], double r1[3], double p2[3], double q2[3], double r2[3], int *coplanar, double source[3], double target[3])
 
double triangle_area (double p[3], double q[3], double r[3])
 
bool ccw_tri_tri_intersection_2d (double p1[2], double q1[2], double r1[2], double p2[2], double q2[2], double r2[2])
 
Vect3 operator* (const double &d, const Vect3 &v)
 
std::istream & operator>> (std::istream &is, Vect3 &v)
 
std::ostream & operator<< (std::ostream &os, const Vect3 &v)
 
std::ostream & operator<< (std::ostream &f, const FastSparseMatrix &M)
 
OPENMEEGMATHS_EXPORT BLAS_INT sizet_to_int (const size_t &num)
 
std::string getNameExtension (const std::string &name)
 
void init_random (int seed)
 
double drandom ()
 
double gaussian ()
 
void disp_argv (int argc, char **argv)
 
void warning (std::string message)
 
void print_version (const char *cmd)
 
OPENMEEGMATHS_EXPORT Vector operator* (const double &d, const Vector &v)
 
OPENMEEGMATHS_EXPORT std::ostream & operator<< (std::ostream &f, const Vector &M)
 
OPENMEEGMATHS_EXPORT std::istream & operator>> (std::istream &f, Vector &M)
 

Variables

static const double cordBars [4][16][4]
 
static const unsigned nbPts [4] = {3, 6, 7, 16}
 

Typedef Documentation

◆ Domains

typedef std::vector<Domain> OpenMEEG::Domains

A vector of Domain is called Domains.

Definition at line 129 of file domain.h.

◆ Interfaces

typedef std::vector<Interface> OpenMEEG::Interfaces

A vector of Interface is called Interfaces.

Definition at line 127 of file interface.h.

◆ Meshes

typedef std::vector<Mesh> OpenMEEG::Meshes

A vector of Mesh is called Meshes.

Definition at line 309 of file mesh.h.

◆ Strings

using OpenMEEG::Strings = typedef std::vector<std::string>

Definition at line 52 of file om_common.h.

◆ Triangles

typedef std::vector<Triangle> OpenMEEG::Triangles

Definition at line 176 of file triangle.h.

◆ Normal

Definition at line 161 of file vect3.h.

◆ Normals

typedef std::vector<Normal> OpenMEEG::Normals

Definition at line 162 of file vect3.h.

◆ Vertices

typedef std::vector<Vertex> OpenMEEG::Vertices

Definition at line 73 of file vertex.h.

Enumeration Type Documentation

◆ Filetype

Enumerator
VTK 
TRI 
BND 
MESH 
OFF 
GIFTI 

Definition at line 78 of file mesh.h.

◆ DeepCopy

Enumerator
DEEP_COPY 

Definition at line 126 of file linop.h.

Function Documentation

◆ integral_simplified_green()

double OpenMEEG::integral_simplified_green ( const Vect3 p0x,
const double  norm2p0x,
const Vect3 p1x,
const double  norm2p1x,
const Vect3 p1p0,
const double  norm2p1p0 
)
inline

Definition at line 47 of file analytics.h.

◆ dist_point_cell()

double OpenMEEG::dist_point_cell ( const Vect3 ,
const Triangle ,
Vect3 ,
bool &   
)

◆ dist_point_interface()

OPENMEEG_EXPORT double OpenMEEG::dist_point_interface ( const Vect3 ,
const Interface ,
Vect3 ,
Triangle  
)

◆ dist_point_geom()

OPENMEEG_EXPORT std::string OpenMEEG::dist_point_geom ( const Vect3 ,
const Geometry ,
Vect3 ,
Triangle ,
double &   
)

◆ compute_forward()

void OpenMEEG::compute_forward ( Matrix SimulatedData,
const Matrix GainMatrix,
const Matrix RealSourcesData,
double  NoiseLevel 
)

Definition at line 54 of file forward.h.

◆ GeneratePlaneRotation()

void OpenMEEG::GeneratePlaneRotation ( double &  dx,
double &  dy,
double &  cs,
double &  sn 
)

Definition at line 75 of file gmres.h.

◆ ApplyPlaneRotation()

void OpenMEEG::ApplyPlaneRotation ( double &  dx,
double &  dy,
double &  cs,
double &  sn 
)

Definition at line 91 of file gmres.h.

◆ Update()

template<class T >
void OpenMEEG::Update ( Vector x,
int  k,
T &  h,
Vector s,
Vector  v[] 
)

Definition at line 99 of file gmres.h.

◆ GMRes()

template<class T , class P >
unsigned OpenMEEG::GMRes ( const T &  A,
const P &  M,
Vector x,
const Vector b,
int  max_iter,
double  tol,
unsigned  m 
)

Definition at line 115 of file gmres.h.

◆ multadd() [1/3]

template<int d>
void OpenMEEG::multadd ( Vect3array< d > &  target,
const double  scale,
const Vect3array< d > &  incr 
)
inline

Definition at line 74 of file integrator.h.

◆ multadd() [2/3]

void OpenMEEG::multadd ( double &  target,
const double  scale,
const double  incr 
)
inline

Definition at line 81 of file integrator.h.

◆ multadd() [3/3]

void OpenMEEG::multadd ( Vect3 target,
const double  scale,
const Vect3 incr 
)
inline

Definition at line 86 of file integrator.h.

◆ almost_equal()

template<class T >
bool OpenMEEG::almost_equal ( x,
y,
double  eps = 1e3 
)

Definition at line 56 of file om_common.h.

◆ operatorSinternal()

void OpenMEEG::operatorSinternal ( const Mesh ,
Matrix ,
const Vertices ,
const double &   
)

◆ operatorDinternal()

void OpenMEEG::operatorDinternal ( const Mesh ,
Matrix ,
const Vertices ,
const double &   
)

◆ operatorFerguson()

void OpenMEEG::operatorFerguson ( const Vect3 ,
const Mesh ,
Matrix ,
const unsigned &  ,
const double &   
)

◆ operatorDipolePotDer()

void OpenMEEG::operatorDipolePotDer ( const Vect3 ,
const Vect3 ,
const Mesh ,
Vector ,
const double &  ,
const unsigned  ,
const bool   
)

◆ operatorDipolePot()

void OpenMEEG::operatorDipolePot ( const Vect3 ,
const Vect3 ,
const Mesh ,
Vector ,
const double &  ,
const unsigned  ,
const bool   
)

◆ _operatorD()

template<typename T >
void OpenMEEG::_operatorD ( const Triangle T1,
const Triangle T2,
T &  mat,
const double &  coeff,
const unsigned  gauss_order 
)
inline

Definition at line 67 of file operators.h.

◆ _operatorDinternal()

void OpenMEEG::_operatorDinternal ( const Triangle T2,
const Vertex P,
Matrix mat,
const double &  coeff 
)
inline

Definition at line 86 of file operators.h.

◆ _operatorS()

double OpenMEEG::_operatorS ( const Triangle T1,
const Triangle T2,
const unsigned  gauss_order 
)
inline

Definition at line 95 of file operators.h.

◆ _operatorSinternal()

double OpenMEEG::_operatorSinternal ( const Triangle T,
const Vertex P 
)
inline

Definition at line 114 of file operators.h.

◆ _operatorN()

template<typename T >
double OpenMEEG::_operatorN ( const Vertex V1,
const Vertex V2,
const Mesh m1,
const Mesh m2,
const T &  mat 
)
inline

Definition at line 121 of file operators.h.

◆ _operatorP1P0()

double OpenMEEG::_operatorP1P0 ( const Triangle T2,
const Vertex V1 
)
inline

Definition at line 149 of file operators.h.

◆ operatorN()

template<typename T >
void OpenMEEG::operatorN ( const Mesh m1,
const Mesh m2,
T &  mat,
const double &  coeff,
const unsigned  gauss_order 
)

Definition at line 157 of file operators.h.

◆ operatorS()

template<typename T >
void OpenMEEG::operatorS ( const Mesh m1,
const Mesh m2,
T &  mat,
const double &  coeff,
const unsigned  gauss_order 
)

Definition at line 259 of file operators.h.

◆ operatorD() [1/2]

template<typename T >
void OpenMEEG::operatorD ( const Mesh m1,
const Mesh m2,
T &  mat,
const double &  coeff,
const unsigned  gauss_order 
)

Definition at line 305 of file operators.h.

◆ operatorD() [2/2]

template<typename T >
void OpenMEEG::operatorD ( const Mesh m1,
const Mesh m2,
T &  mat,
const double &  coeff,
const unsigned  gauss_order,
const bool  star 
)

Definition at line 332 of file operators.h.

◆ operatorP1P0()

template<typename T >
void OpenMEEG::operatorP1P0 ( const Mesh m,
T &  mat,
const double &  coeff 
)

Definition at line 350 of file operators.h.

◆ _operatorFerguson()

Vect3 OpenMEEG::_operatorFerguson ( const Vect3 x,
const Vertex V1,
const Mesh m 
)
inline

Definition at line 358 of file operators.h.

◆ operator>>() [1/3]

template<typename REP >
std::istream& OpenMEEG::operator>> ( std::istream &  is,
Conductivity< REP > &  m 
)
inline

Definition at line 60 of file PropertiesSpecialized.h.

◆ operator<<() [1/4]

template<typename REP >
std::ostream& OpenMEEG::operator<< ( std::ostream &  os,
const Conductivity< REP > &  m 
)
inline

Definition at line 63 of file PropertiesSpecialized.h.

◆ tri_tri_overlap_test_3d()

bool OpenMEEG::tri_tri_overlap_test_3d ( double  p1[3],
double  q1[3],
double  r1[3],
double  p2[3],
double  q2[3],
double  r2[3] 
)

Definition at line 152 of file Triangle_triangle_intersection.h.

◆ coplanar_tri_tri3d()

bool OpenMEEG::coplanar_tri_tri3d ( double  p1[3],
double  q1[3],
double  r1[3],
double  p2[3],
double  q2[3],
double  r2[3],
double  N1[3],
double  N2[3] 
)

Definition at line 217 of file Triangle_triangle_intersection.h.

◆ tri_tri_overlap_test_2d()

bool OpenMEEG::tri_tri_overlap_test_2d ( double  p1[2],
double  q1[2],
double  r1[2],
double  p2[2],
double  q2[2],
double  r2[2] 
)

Definition at line 546 of file Triangle_triangle_intersection.h.

◆ tri_tri_intersection_test_3d()

bool OpenMEEG::tri_tri_intersection_test_3d ( double  p1[3],
double  q1[3],
double  r1[3],
double  p2[3],
double  q2[3],
double  r2[3],
int *  coplanar,
double  source[3],
double  target[3] 
)

Definition at line 390 of file Triangle_triangle_intersection.h.

◆ triangle_area()

double OpenMEEG::triangle_area ( double  p[3],
double  q[3],
double  r[3] 
)

Definition at line 562 of file Triangle_triangle_intersection.h.

◆ ccw_tri_tri_intersection_2d()

bool OpenMEEG::ccw_tri_tri_intersection_2d ( double  p1[2],
double  q1[2],
double  r1[2],
double  p2[2],
double  q2[2],
double  r2[2] 
)

Definition at line 529 of file Triangle_triangle_intersection.h.

◆ operator*() [1/2]

Vect3 OpenMEEG::operator* ( const double &  d,
const Vect3 v 
)
inline

Definition at line 151 of file vect3.h.

◆ operator>>() [2/3]

std::istream& OpenMEEG::operator>> ( std::istream &  is,
Vect3 v 
)
inline

Definition at line 153 of file vect3.h.

◆ operator<<() [2/4]

std::ostream& OpenMEEG::operator<< ( std::ostream &  os,
const Vect3 v 
)
inline

Definition at line 157 of file vect3.h.

◆ operator<<() [3/4]

std::ostream& OpenMEEG::operator<< ( std::ostream &  f,
const FastSparseMatrix M 
)
inline

Definition at line 87 of file fast_sparse_matrix.h.

◆ sizet_to_int()

OPENMEEGMATHS_EXPORT BLAS_INT OpenMEEG::sizet_to_int ( const size_t &  num)
inline

Definition at line 56 of file linop.h.

◆ getNameExtension()

std::string OpenMEEG::getNameExtension ( const std::string &  name)
inline

Definition at line 68 of file om_utils.h.

◆ init_random()

void OpenMEEG::init_random ( int  seed)
inline

Definition at line 80 of file om_utils.h.

◆ drandom()

double OpenMEEG::drandom ( )
inline

Definition at line 90 of file om_utils.h.

◆ gaussian()

double OpenMEEG::gaussian ( )
inline

Definition at line 96 of file om_utils.h.

◆ disp_argv()

void OpenMEEG::disp_argv ( int  argc,
char **  argv 
)
inline

Definition at line 105 of file om_utils.h.

◆ warning()

void OpenMEEG::warning ( std::string  message)
inline

Definition at line 154 of file om_utils.h.

◆ print_version()

void OpenMEEG::print_version ( const char *  cmd)
inline

Definition at line 161 of file om_utils.h.

◆ operator*() [2/2]

OPENMEEGMATHS_EXPORT Vector OpenMEEG::operator* ( const double &  d,
const Vector v 
)
inline

Definition at line 260 of file vector.h.

◆ operator<<() [4/4]

OPENMEEGMATHS_EXPORT std::ostream& OpenMEEG::operator<< ( std::ostream &  f,
const Vector M 
)

◆ operator>>() [3/3]

OPENMEEGMATHS_EXPORT std::istream& OpenMEEG::operator>> ( std::istream &  f,
Vector M 
)

Variable Documentation

◆ cordBars

const double OpenMEEG::cordBars[4][16][4]
static

Definition at line 93 of file integrator.h.

◆ nbPts

const unsigned OpenMEEG::nbPts[4] = {3, 6, 7, 16}
static

Definition at line 178 of file integrator.h.