OpenMEEG
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
OpenMEEG Namespace Reference

Namespaces

 command_line
 
 maths
 

Classes

class  analyticS
 
class  analyticD3
 
class  analyticDipPot
 
class  analyticDipPotDer
 
class  HeadMat
 
class  SurfSourceMat
 
class  DipSourceMat
 
class  EITSourceMat
 
class  Surf2VolMat
 
class  Head2EEGMat
 
class  Head2ECoGMat
 
class  Head2MEGMat
 
class  SurfSource2MEGMat
 
class  DipSource2MEGMat
 
class  DipSource2InternalPotMat
 
class  CorticalMat
 
class  CorticalMat2
 
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  Domain
 a Domain is a vector of HalfSpace A Domain is the intersection of simple domains (of type HalfSpace). More...
 
class  Forward
 
class  GainMEG
 
class  GainEEG
 
class  GainEEGadjoint
 
class  GainMEGadjoint
 
class  GainEEGMEGadjoint
 
class  GainInternalPot
 
class  GainEITInternalPot
 
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  Jacobi
 
class  Vect3array
 
class  Integrator
 
class  AdaptiveIntegrator
 
class  OrientedMesh
 An Oriented Mesh is a mesh associated with a boolean stating if it is well oriented. More...
 
class  Interface
 Interface class An interface is a closed-shape composed of oriented meshes (here pointer to meshes) More...
 
class  Mesh
 Mesh class. More...
 
class  Conductivity
 
class  Sensors
 
class  Triangle
 Triangle. More...
 
class  Vect3
 Vect3. More...
 
class  Vertex
 Vertex. More...
 
class  FastSparseMatrix
 
class  LinOpInfo
 
class  LinOp
 
struct  LinOpValue
 
class  Matrix
 Matrix class. More...
 
class  SparseMatrix
 
class  SymMatrix
 
class  Vector
 

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)
 
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)
 
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)
 
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

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

A vector of Domain is called Domains.

Definition at line 129 of file domain.h.

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

A vector of Interface is called Interfaces.

Definition at line 127 of file interface.h.

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

A vector of Mesh is called Meshes.

Definition at line 309 of file mesh.h.

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

Definition at line 52 of file om_common.h.

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

Definition at line 176 of file triangle.h.

Definition at line 161 of file vect3.h.

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

Definition at line 162 of file vect3.h.

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

Definition at line 73 of file vertex.h.

Enumeration Type Documentation

Enumerator
VTK 
TRI 
BND 
MESH 
OFF 
GIFTI 

Definition at line 78 of file mesh.h.

Enumerator
DEEP_COPY 

Definition at line 126 of file linop.h.

Function Documentation

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.

double OpenMEEG::dist_point_cell ( const Vect3 &  ,
const Triangle &  ,
Vect3 &  ,
bool &   
)
OPENMEEG_EXPORT double OpenMEEG::dist_point_interface ( const Vect3 &  ,
const Interface &  ,
Vect3 &  ,
Triangle &   
)
OPENMEEG_EXPORT std::string OpenMEEG::dist_point_geom ( const Vect3 &  ,
const Geometry &  ,
Vect3 &  ,
Triangle &  ,
double &   
)
void OpenMEEG::compute_forward ( Matrix &  SimulatedData,
const Matrix &  GainMatrix,
const Matrix &  RealSourcesData,
double  NoiseLevel 
)

Definition at line 54 of file forward.h.

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

Definition at line 75 of file gmres.h.

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

Definition at line 91 of file gmres.h.

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

Definition at line 99 of file gmres.h.

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.

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.

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

Definition at line 81 of file integrator.h.

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

Definition at line 86 of file integrator.h.

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

Definition at line 56 of file om_common.h.

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

Definition at line 72 of file om_utils.h.

void OpenMEEG::init_random ( int  seed)
inline

Definition at line 84 of file om_utils.h.

double OpenMEEG::drandom ( )
inline

Definition at line 94 of file om_utils.h.

double OpenMEEG::gaussian ( )
inline

Definition at line 100 of file om_utils.h.

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

Definition at line 109 of file om_utils.h.

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

Definition at line 158 of file om_utils.h.

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

Definition at line 165 of file om_utils.h.

void OpenMEEG::operatorSinternal ( const Mesh &  ,
Matrix &  ,
const Vertices &  ,
const double &   
)
void OpenMEEG::operatorDinternal ( const Mesh &  ,
Matrix &  ,
const Vertices &  ,
const double &   
)
void OpenMEEG::operatorFerguson ( const Vect3 &  ,
const Mesh &  ,
Matrix &  ,
const unsigned &  ,
const double &   
)
void OpenMEEG::operatorDipolePotDer ( const Vect3 &  ,
const Vect3 &  ,
const Mesh &  ,
Vector &  ,
const double &  ,
const unsigned  ,
const bool   
)
void OpenMEEG::operatorDipolePot ( const Vect3 &  ,
const Vect3 &  ,
const Mesh &  ,
Vector &  ,
const double &  ,
const unsigned  ,
const bool   
)
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.

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

Definition at line 86 of file operators.h.

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

Definition at line 95 of file operators.h.

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

Definition at line 114 of file operators.h.

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.

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

Definition at line 149 of file operators.h.

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.

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.

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.

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.

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

Definition at line 350 of file operators.h.

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

Definition at line 358 of file operators.h.

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

Definition at line 60 of file PropertiesSpecialized.h.

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

Definition at line 63 of file PropertiesSpecialized.h.

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.

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.

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.

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.

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

Definition at line 562 of file Triangle_triangle_intersection.h.

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.

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

Definition at line 151 of file vect3.h.

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

Definition at line 153 of file vect3.h.

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

Definition at line 157 of file vect3.h.

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

Definition at line 87 of file fast_sparse_matrix.h.

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

Definition at line 56 of file linop.h.

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

Definition at line 260 of file vector.h.

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

Variable Documentation

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

Definition at line 93 of file integrator.h.

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

Definition at line 178 of file integrator.h.