OpenMEEG
Loading...
Searching...
No Matches
OpenMEEG Namespace Reference

Namespaces

namespace  maths
 

Classes

class  analyticD3
 
class  analyticDipPotDer
 
class  analyticS
 
class  BlocksBase
 
class  BoundingBox
 An Oriented Mesh is a mesh associated with a boolean stating if it is well oriented. More...
 
class  CommandLine
 
class  Conductivity
 
class  DiagonalBlock
 
class  Dipole
 
class  Domain
 a Domain is a vector of SimpleDomain A Domain is the intersection of simple domains (of type SimpleDomain). More...
 
class  Edge
 Edge Edge class. More...
 
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 Vertices, meshes and domains are stored in this geometry. More...
 
class  GeometryIO
 
class  HeadMatrixBlocks
 
class  Integrator
 
class  Interface
 Interface class An interface is a closed-shape composed of oriented meshes (vector of oriented meshes). More...
 
class  Jacobi
 
class  LinOp
 
class  LinOpInfo
 
struct  LinOpValue
 
class  Logger
 
class  Matrix
 Matrix class Matrix class. More...
 
class  Mesh
 
class  MeshIO
 
class  NonDiagonalBlock
 
class  NullBuffer
 
class  NullStream
 
class  OrientedMesh
 An Oriented Mesh is a mesh associated with a boolean stating if it is well oriented. More...
 
class  PartialBlock
 
class  ProgressBar
 
class  Sensors
 Sensors class for EEG and MEG sensors. More...
 
class  SimpleDomain
 a SimpleDomain is a pair of an Interface and a boolean. More...
 
class  SparseMatrix
 
class  SymMatrix
 
class  Triangle
 Triangle Triangle class. More...
 
struct  TriangleIndices
 
class  Vect3
 Vect3. More...
 
class  Vector
 
class  Vertex
 Vertex. More...
 

Typedefs

typedef std::vector< DomainDomains
 A vector of Domain is called Domains.
 
typedef std::vector< EdgeEdges
 
typedef std::vector< InterfaceInterfaces
 A vector of Interface is called Interfaces.
 
typedef std::vector< MeshMeshes
 
using Strings = std::vector<std::string>
 
typedef std::vector< TriangleTriangles
 
typedef std::vector< Triangle * > TrianglesRefs
 
typedef std::map< unsigned, unsigned > IndexMap
 
typedef Vect3 Normal
 
typedef std::vector< NormalNormals
 
typedef std::vector< VertexVertices
 
typedef std::vector< Vertex * > VerticesRefs
 
typedef unsigned Dimension
 
typedef unsigned Index
 

Enumerations

enum  InfoLevel {
  DEBUG , PROGRESS , INFORMATION , WARNING ,
  ERROR
}
 
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)
 
SymMatrix HeadMat (const Geometry &geo, const Integrator &integrator=Integrator(3, 0, 0.005))
 
Matrix SurfSourceMat (const Geometry &geo, Mesh &sources, 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 DipSourceMat (const Geometry &geo, const Matrix &dipoles, const std::string &domain_name)
 
Matrix EITSourceMat (const Geometry &geo, const Sensors &electrodes, const Integrator &integrator=Integrator(3, 0, 0.005))
 
Matrix Surf2VolMat (const Geometry &geo, const Matrix &points)
 
SparseMatrix Head2EEGMat (const Geometry &geo, const Sensors &electrodes)
 
SparseMatrix Head2ECoGMat (const Geometry &geo, const Sensors &electrodes, const Interface &i)
 
SparseMatrix Head2ECoGMat (const Geometry &geo, const Sensors &electrodes, const std::string &id)
 
Matrix Head2MEGMat (const Geometry &geo, const Sensors &sensors)
 
Matrix SurfSource2MEGMat (const Mesh &sources, const Sensors &sensors)
 
Matrix DipSource2MEGMat (const Matrix &dipoles, const Sensors &sensors)
 
Matrix DipSource2InternalPotMat (const Geometry &geo, const Matrix &dipoles, const Matrix &points, const std::string &domain_name="")
 
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))
 
void print_version (const char *cmd)
 
void assert_non_conflicting_options (const char *command, const unsigned num_options)
 
double dist_point_cell (const Vect3 &, const Triangle &, Vect3 &, bool &)
 
std::tuple< double, const Triangle &, const Mesh & > dist_point_interface (const Vect3 &, const Interface &, Vect3 &)
 
std::tuple< double, const Triangle &, const Mesh &, const Interface & > dist_point_geom (const Vect3 &, const Geometry &, Vect3 &)
 
std::string getFilenameExtension (const std::string &name)
 
std::string tolower (const std::string &s)
 
template<typename SelectionMatrix >
Matrix linsolve (const SymMatrix &H, const SelectionMatrix &S)
 
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)
 
std::ostream & log_stream (const InfoLevel level)
 
template<typename T >
bool almost_equal (const T x, const T y, const double eps=1e3)
 
void dispEllapsed (const std::chrono::duration< double > elapsed_seconds)
 
void operatorFerguson (const Vect3 &, const Mesh &, Matrix &, const unsigned &, const double)
 
void operatorDipolePotDer (const Dipole &, const Mesh &, Vector &, const double, const Integrator &)
 
void operatorDipolePot (const Dipole &, const Mesh &, Vector &, const double, const Integrator &)
 
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)
 
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])
 
double sqr (const double x)
 
Vect3 operator* (const double d, const Vect3 &V)
 
double dotprod (const Vect3 &V1, const Vect3 &V2)
 
Vect3 crossprod (const Vect3 &V1, const Vect3 &V2)
 
double det (const Vect3 &V1, const Vect3 &V2, const Vect3 &V3)
 
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)
 
BLAS_INT sizet_to_int (const unsigned &num)
 
Matrix nullspace_projector (const Matrix &M)
 
std::ostream & operator<< (std::ostream &os, const Matrix &M)
 
Vector operator* (const double d, const Vector &v)
 
std::ostream & operator<< (std::ostream &f, const Vector &M)
 
std::istream & operator>> (std::istream &f, Vector &M)
 

Typedef Documentation

◆ Domains

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

A vector of Domain is called Domains.

Definition at line 112 of file domain.h.

◆ Edges

typedef std::vector<Edge> OpenMEEG::Edges

Definition at line 41 of file edge.h.

◆ Interfaces

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

A vector of Interface is called Interfaces.

Definition at line 116 of file interface.h.

◆ Meshes

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

Definition at line 276 of file mesh.h.

◆ Strings

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

Definition at line 20 of file om_common.h.

◆ Triangles

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

Definition at line 145 of file triangle.h.

◆ TrianglesRefs

typedef std::vector<Triangle*> OpenMEEG::TrianglesRefs

Definition at line 146 of file triangle.h.

◆ IndexMap

typedef std::map<unsigned,unsigned> OpenMEEG::IndexMap

Definition at line 148 of file triangle.h.

◆ Normal

Definition at line 131 of file vect3.h.

◆ Normals

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

Definition at line 132 of file vect3.h.

◆ Vertices

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

Definition at line 37 of file vertex.h.

◆ VerticesRefs

typedef std::vector<Vertex*> OpenMEEG::VerticesRefs

Definition at line 38 of file vertex.h.

◆ Dimension

typedef unsigned OpenMEEG::Dimension

Definition at line 32 of file linop.h.

◆ Index

typedef unsigned OpenMEEG::Index

Definition at line 33 of file linop.h.

Enumeration Type Documentation

◆ InfoLevel

Enumerator
DEBUG 
PROGRESS 
INFORMATION 
WARNING 
ERROR 

Definition at line 15 of file logger.h.

◆ DeepCopy

Enumerator
DEEP_COPY 

Definition at line 84 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 16 of file analytics.h.

◆ HeadMat()

SymMatrix OpenMEEG::HeadMat ( const Geometry & geo,
const Integrator & integrator = Integrator(3, 0, 0.005) )

◆ SurfSourceMat()

Matrix OpenMEEG::SurfSourceMat ( const Geometry & geo,
Mesh & sources,
const Integrator & integrator = Integrator(3, 0, 0.005) )

◆ DipSourceMat() [1/2]

Matrix OpenMEEG::DipSourceMat ( const Geometry & geo,
const Matrix & dipoles,
const Integrator & integrator,
const std::string & domain_name )

◆ DipSourceMat() [2/2]

Matrix OpenMEEG::DipSourceMat ( const Geometry & geo,
const Matrix & dipoles,
const std::string & domain_name )

◆ EITSourceMat()

Matrix OpenMEEG::EITSourceMat ( const Geometry & geo,
const Sensors & electrodes,
const Integrator & integrator = Integrator(3, 0, 0.005) )

◆ Surf2VolMat()

Matrix OpenMEEG::Surf2VolMat ( const Geometry & geo,
const Matrix & points )

◆ Head2EEGMat()

SparseMatrix OpenMEEG::Head2EEGMat ( const Geometry & geo,
const Sensors & electrodes )

◆ Head2ECoGMat() [1/2]

SparseMatrix OpenMEEG::Head2ECoGMat ( const Geometry & geo,
const Sensors & electrodes,
const Interface & i )

◆ Head2ECoGMat() [2/2]

SparseMatrix OpenMEEG::Head2ECoGMat ( const Geometry & geo,
const Sensors & electrodes,
const std::string & id )
inline

Definition at line 45 of file assemble.h.

◆ Head2MEGMat()

Matrix OpenMEEG::Head2MEGMat ( const Geometry & geo,
const Sensors & sensors )

◆ SurfSource2MEGMat()

Matrix OpenMEEG::SurfSource2MEGMat ( const Mesh & sources,
const Sensors & sensors )

◆ DipSource2MEGMat()

Matrix OpenMEEG::DipSource2MEGMat ( const Matrix & dipoles,
const Sensors & sensors )

◆ DipSource2InternalPotMat()

Matrix OpenMEEG::DipSource2InternalPotMat ( const Geometry & geo,
const Matrix & dipoles,
const Matrix & points,
const std::string & domain_name = "" )

◆ CorticalMat()

Matrix OpenMEEG::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) )

◆ CorticalMat2()

Matrix OpenMEEG::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) )

◆ print_version()

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

Definition at line 194 of file commandline.h.

◆ assert_non_conflicting_options()

void OpenMEEG::assert_non_conflicting_options ( const char * command,
const unsigned num_options )
inline

Definition at line 213 of file commandline.h.

◆ dist_point_cell()

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

◆ dist_point_interface()

std::tuple< double, const Triangle &, const Mesh & > OpenMEEG::dist_point_interface ( const Vect3 & ,
const Interface & ,
Vect3 &  )

◆ dist_point_geom()

std::tuple< double, const Triangle &, const Mesh &, const Interface & > OpenMEEG::dist_point_geom ( const Vect3 & ,
const Geometry & ,
Vect3 &  )

◆ getFilenameExtension()

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

Definition at line 18 of file filenames.h.

◆ tolower()

std::string OpenMEEG::tolower ( const std::string & s)
inline

Definition at line 26 of file filenames.h.

◆ linsolve()

template<typename SelectionMatrix >
Matrix OpenMEEG::linsolve ( const SymMatrix & H,
const SelectionMatrix & S )

Definition at line 52 of file gain.h.

◆ GeneratePlaneRotation()

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

Definition at line 43 of file gmres.h.

◆ ApplyPlaneRotation()

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

Definition at line 59 of file gmres.h.

◆ Update()

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

Definition at line 67 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 83 of file gmres.h.

◆ log_stream()

std::ostream & OpenMEEG::log_stream ( const InfoLevel level)
inline

Definition at line 39 of file logger.h.

◆ almost_equal()

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

Definition at line 24 of file om_common.h.

◆ dispEllapsed()

void OpenMEEG::dispEllapsed ( const std::chrono::duration< double > elapsed_seconds)
inline

Definition at line 23 of file om_utils.h.

◆ operatorFerguson()

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

◆ operatorDipolePotDer()

void OpenMEEG::operatorDipolePotDer ( const Dipole & ,
const Mesh & ,
Vector & ,
const double ,
const Integrator &  )

◆ operatorDipolePot()

void OpenMEEG::operatorDipolePot ( const Dipole & ,
const Mesh & ,
Vector & ,
const double ,
const Integrator &  )

◆ operator>>() [1/3]

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

Definition at line 28 of file PropertiesSpecialized.h.

◆ operator<<() [1/5]

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

Definition at line 31 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 216 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 536 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 387 of file Triangle_triangle_intersection.h.

◆ triangle_area()

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

Definition at line 551 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 520 of file Triangle_triangle_intersection.h.

◆ sqr()

double OpenMEEG::sqr ( const double x)
inline

Definition at line 24 of file vect3.h.

◆ operator*() [1/2]

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

Definition at line 105 of file vect3.h.

◆ dotprod()

double OpenMEEG::dotprod ( const Vect3 & V1,
const Vect3 & V2 )
inline

Definition at line 106 of file vect3.h.

◆ crossprod()

Vect3 OpenMEEG::crossprod ( const Vect3 & V1,
const Vect3 & V2 )
inline

Definition at line 107 of file vect3.h.

◆ det()

double OpenMEEG::det ( const Vect3 & V1,
const Vect3 & V2,
const Vect3 & V3 )
inline

Definition at line 108 of file vect3.h.

◆ operator>>() [2/3]

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

Definition at line 123 of file vect3.h.

◆ operator<<() [2/5]

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

Definition at line 127 of file vect3.h.

◆ operator<<() [3/5]

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

Definition at line 55 of file fast_sparse_matrix.h.

◆ sizet_to_int()

BLAS_INT OpenMEEG::sizet_to_int ( const unsigned & num)
inline

Definition at line 26 of file linop.h.

◆ nullspace_projector()

Matrix OpenMEEG::nullspace_projector ( const Matrix & M)
inline

Definition at line 16 of file matop.h.

◆ operator<<() [4/5]

std::ostream & OpenMEEG::operator<< ( std::ostream & os,
const Matrix & M )
inline

Definition at line 164 of file matrix.h.

◆ operator*() [2/2]

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

Definition at line 236 of file vector.h.

◆ operator<<() [5/5]

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

◆ operator>>() [3/3]

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