SiGraph: sulcal graphs


sigraph::InertialDomainBox Class Reference

#include <si/fold/inertialDomainBox.h>

Inheritance diagram for sigraph::InertialDomainBox:
Collaboration diagram for sigraph::InertialDomainBox:

Public Member Functions

 InertialDomainBox ()
 
 InertialDomainBox (const InertialDomainBox &dom)
 
virtual ~InertialDomainBox ()
 
virtual Domainclone () const
 Duplication.
 
bool canBeFound (double x, double y, double z)
 Renvoie si le point peut se trouver aux coordonnées (x, y, z)
 
virtual bool canBeFound (const Vertex *v, const Graph *g=0)
 Renvoie si le noeud de graphe peut appartenir au modèle concerné (donc avoir le label considéré)
 
virtual void learn (const Vertex *v, const Graph *g=0)
 Apprends le domaine d'un morceau de sillon donné.
 
virtual void learnBucket (const Vertex *v, const Graph *g)
 apprends 2e phase, bornes des buckets dans le repère d'inertie
 
virtual void reset ()
 Réinitialise l'apprentissage (remet les stats à zéro)
 
virtual bool needsMorePasses () const
 Dit s'il faut encore un passage sur une base pour que l'apprentissage soit complet.
 
virtual void nextPass ()
 Effectue le changement de phase d'apprentissage.
 
virtual void firstPass ()
 Revient à la première passe d'apprentissage.
 
virtual void buildTree (Tree &tr) const
 Conversion en arbre (pour IO)
 
virtual void cubeTalairach (std::vector< std::vector< double > > &pts) const
 Donne les coordonnées des coins dans Talairach (pas forcément les minmax internes, cf InertialDomainBox), remplit le vecteur avec les 8 points.
 
virtual void diagonalize ()
 Diagonalise la matrice d'inertie.
 
virtual void changeRef (double &x, double &y, double &z)
 Change de repère vers celui de la matrice d'inertie.
 
float tolerenceMargin () const
 
void setTolerenceMargin (float tm)
 
- Public Member Functions inherited from sigraph::DomainBox
 DomainBox ()
 
 DomainBox (const DomainBox &dom)
 
virtual ~DomainBox ()
 
void setDims (double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
 
double xmin () const
 
double ymin () const
 
double zmin () const
 
double xmax () const
 
double ymax () const
 
double zmax () const
 
const std::string & gravityCenterAttribute () const
 
void setGravityCenterAttribute (const std::string &att)
 
virtual void talairach (float &v1, float &v2, float &v3, const Graph *g) const
 Transforme le vecteur {\tt (v1, v2, v3)} dans les coordonnées de Talairach (transformation dans le graphe {\tt g})
 
- Public Member Functions inherited from sigraph::AdapDomain
virtual ~AdapDomain ()
 
unsigned nData () const
 
void setNData (unsigned ndata)
 
- Public Member Functions inherited from sigraph::Domain
virtual ~Domain ()
 

Static Public Member Functions

static void buildInertialDomBox (Tree *parent, Tree *tr)
 
static void buildDomBox (Tree *parent, Tree *tr)
 

Protected Member Functions

void learnVoxel (const std::vector< float > &rot, const std::vector< float > &scale, const std::vector< float > &transl, const std::vector< float > &vsz, const AimsVector< short, 3 > &pt)
 Apprends un voxel (2e passe)
 
void learnTalVoxel (double x, double y, double z)
 Apprends un voxel (2e passe) pour un point dans Talairach.
 
 AdapDomain ()
 
 AdapDomain (const AdapDomain &dom)
 
- Protected Member Functions inherited from sigraph::Domain
 Domain ()
 
 Domain (const Domain &dom)
 

Protected Attributes

carto::VolumeRef< float > _inertia
 Matrice d'inertie.
 
Point3df _gravity
 Centre de gravité.
 
carto::VolumeRef< float > _rotation
 Matrice de rotation.
 
Point3df _eigenValues
 Valeurs propres de la matrice d'inertie.
 
unsigned _npoints
 
bool _transfUpToDate
 Flag.
 
float _tolMargin
 Marge de tolérence supplémentaire.
 
double _xmin
 
double _ymin
 
double _zmin
 
double _xmax
 
double _ymax
 
double _zmax
 
std::string _gcattrib
 
unsigned _ndata
 

Detailed Description

Definition at line 13 of file inertialDomainBox.h.

Constructor & Destructor Documentation

◆ InertialDomainBox() [1/2]

sigraph::InertialDomainBox::InertialDomainBox ( )

◆ InertialDomainBox() [2/2]

sigraph::InertialDomainBox::InertialDomainBox ( const InertialDomainBox & dom)
inline

◆ ~InertialDomainBox()

sigraph::InertialDomainBox::~InertialDomainBox ( )
inlinevirtual

Definition at line 91 of file inertialDomainBox.h.

Member Function Documentation

◆ buildInertialDomBox()

static void sigraph::InertialDomainBox::buildInertialDomBox ( Tree * parent,
Tree * tr )
static

◆ buildTree()

virtual void sigraph::InertialDomainBox::buildTree ( Tree & tr) const
virtual

Conversion en arbre (pour IO)

Reimplemented from sigraph::DomainBox.

◆ canBeFound() [1/2]

virtual bool sigraph::InertialDomainBox::canBeFound ( const Vertex * v,
const Graph * g = 0 )
virtual

Renvoie si le noeud de graphe peut appartenir au modèle concerné (donc avoir le label considéré)

Parameters
vnoeud à tester. Il doit posséder l'attribut {\tt "gravity_center"} pour être utilisable
ggraphe contenant le noeud

Reimplemented from sigraph::DomainBox.

◆ canBeFound() [2/2]

bool sigraph::InertialDomainBox::canBeFound ( double x,
double y,
double z )
virtual

Renvoie si le point peut se trouver aux coordonnées (x, y, z)

Reimplemented from sigraph::DomainBox.

◆ changeRef()

virtual void sigraph::InertialDomainBox::changeRef ( double & x,
double & y,
double & z )
virtual

Change de repère vers celui de la matrice d'inertie.

◆ clone()

Domain * sigraph::InertialDomainBox::clone ( ) const
inlinevirtual

Duplication.

Reimplemented from sigraph::DomainBox.

Definition at line 85 of file inertialDomainBox.h.

References InertialDomainBox().

◆ cubeTalairach()

virtual void sigraph::InertialDomainBox::cubeTalairach ( std::vector< std::vector< double > > & pts) const
virtual

Donne les coordonnées des coins dans Talairach (pas forcément les minmax internes, cf InertialDomainBox), remplit le vecteur avec les 8 points.

Reimplemented from sigraph::DomainBox.

◆ diagonalize()

virtual void sigraph::InertialDomainBox::diagonalize ( )
virtual

Diagonalise la matrice d'inertie.

Referenced by nextPass().

◆ firstPass()

virtual void sigraph::InertialDomainBox::firstPass ( )
virtual

Revient à la première passe d'apprentissage.

Reimplemented from sigraph::AdapDomain.

◆ learn()

virtual void sigraph::InertialDomainBox::learn ( const Vertex * v,
const Graph * g = 0 )
virtual

Apprends le domaine d'un morceau de sillon donné.

Parameters
vsillon ou morceau de sillon sous sa forme de noeud de graphe. Le noeud doit contenir un bucket (attribut "bucket" ) pour pouvoir être appris
ggraphe contenant le noeud v; des informations globales du graphe peuvent être utilisées par le noeud

Reimplemented from sigraph::DomainBox.

◆ learnBucket()

virtual void sigraph::InertialDomainBox::learnBucket ( const Vertex * v,
const Graph * g )
virtual

apprends 2e phase, bornes des buckets dans le repère d'inertie

◆ learnTalVoxel()

void sigraph::InertialDomainBox::learnTalVoxel ( double x,
double y,
double z )
protected

Apprends un voxel (2e passe) pour un point dans Talairach.

◆ learnVoxel()

void sigraph::InertialDomainBox::learnVoxel ( const std::vector< float > & rot,
const std::vector< float > & scale,
const std::vector< float > & transl,
const std::vector< float > & vsz,
const AimsVector< short, 3 > & pt )
protected

Apprends un voxel (2e passe)

◆ needsMorePasses()

virtual bool sigraph::InertialDomainBox::needsMorePasses ( ) const
inlinevirtual

Dit s'il faut encore un passage sur une base pour que l'apprentissage soit complet.

Certains modèles peuvent apprendre en plieurs phases: par exemple, réglages de rotations / centrages, puis apprentissage des bornes dans le nouveau repère (cf InertialDomainBox dans le package fold).

Reimplemented from sigraph::AdapDomain.

Definition at line 33 of file inertialDomainBox.h.

References _transfUpToDate.

◆ nextPass()

virtual void sigraph::InertialDomainBox::nextPass ( )
inlinevirtual

Effectue le changement de phase d'apprentissage.

Reimplemented from sigraph::AdapDomain.

Definition at line 34 of file inertialDomainBox.h.

References _transfUpToDate, and diagonalize().

◆ reset()

virtual void sigraph::InertialDomainBox::reset ( )
virtual

Réinitialise l'apprentissage (remet les stats à zéro)

Reimplemented from sigraph::DomainBox.

◆ setTolerenceMargin()

void sigraph::InertialDomainBox::setTolerenceMargin ( float tm)
inline

Definition at line 46 of file inertialDomainBox.h.

References _tolMargin.

◆ tolerenceMargin()

float sigraph::InertialDomainBox::tolerenceMargin ( ) const
inline

Definition at line 45 of file inertialDomainBox.h.

References _tolMargin.

Member Data Documentation

◆ _eigenValues

Point3df sigraph::InertialDomainBox::_eigenValues
protected

Valeurs propres de la matrice d'inertie.

Definition at line 65 of file inertialDomainBox.h.

Referenced by InertialDomainBox().

◆ _gravity

Point3df sigraph::InertialDomainBox::_gravity
protected

Centre de gravité.

Definition at line 61 of file inertialDomainBox.h.

Referenced by InertialDomainBox().

◆ _inertia

carto::VolumeRef<float> sigraph::InertialDomainBox::_inertia
protected

Matrice d'inertie.

Definition at line 59 of file inertialDomainBox.h.

Referenced by InertialDomainBox().

◆ _npoints

unsigned sigraph::InertialDomainBox::_npoints
protected

Definition at line 66 of file inertialDomainBox.h.

Referenced by InertialDomainBox().

◆ _rotation

carto::VolumeRef<float> sigraph::InertialDomainBox::_rotation
protected

Matrice de rotation.

Definition at line 63 of file inertialDomainBox.h.

Referenced by InertialDomainBox().

◆ _tolMargin

float sigraph::InertialDomainBox::_tolMargin
protected

Marge de tolérence supplémentaire.

Definition at line 70 of file inertialDomainBox.h.

Referenced by InertialDomainBox(), setTolerenceMargin(), and tolerenceMargin().

◆ _transfUpToDate

bool sigraph::InertialDomainBox::_transfUpToDate
protected

Flag.

Definition at line 68 of file inertialDomainBox.h.

Referenced by InertialDomainBox(), needsMorePasses(), and nextPass().


The documentation for this class was generated from the following file: