|
| virtual | ~MGraph () |
| |
| virtual ModelFinder & | modelFinder ()=0 |
| | Renvoie un sélecteur de modèle adapté au graphe modèle.
|
| |
| virtual void | clearAll () |
| |
| virtual std::string | domainFile (const std::string &graphname, const carto::AttributedObject *ao) |
| |
| virtual std::string | modelFile (const std::string &graphname, const carto::AttributedObject *ao, std::set< std::string > &otherFiles) |
| |
| virtual void | closeLearning () |
| | Ferme l'apprentissage de tous les modèles.
|
| |
| virtual void | initStats () |
| | Initialise les stats.
|
| |
| virtual void | initAdap () |
| | Initialise les partie adaptatives (réseaux de neurones et autres)
|
| |
| virtual void | initDomain () |
| | Initialise les domaines d'influence.
|
| |
| virtual void | removeUnusedModels (bool removeFiles=false, const std::string &prefix="") |
| | Elimine les noeuds et relations non-utilisés (de domaine vide)
|
| |
| virtual unsigned | removeRareEdges (float freqmin) |
| | Enlève les relations peu fréquentes (max.
|
| |
| virtual void | removeEdgesToVoid () |
| | Enlève les relations avec le label 'brain'.
|
| |
| virtual void | setWeights (double factor=1.) |
| | Fixe les poids des modèles des noeuds.
|
| |
| virtual void | removeWeights () |
| | Enlève les poids des modèles des noeuds.
|
| |
| virtual VersionCheck | checkCompatibility (const Graph &data) const |
| | Checks compatibility between this model graph and the given data graph.
|
| |
| | Graph (const std::string &s="") |
| |
| | Graph (const FactoryPtr factory, const std::string &s="") |
| |
| virtual | ~Graph () |
| |
| void | extract (Graph &graph, InputIterator iv1, InputIterator iv2) |
| |
| void | clear () |
| |
| Vertex * | addVertex (const std::string &s="") |
| |
| Vertex * | cloneVertex (const Vertex *vertex) |
| |
| bool | hasVertex (const Vertex *vertex) const |
| |
| void | removeVertex (Vertex *vertex) |
| |
| Vertex * | randomVertex () const |
| |
| const std::set< Vertex * > & | vertices () const |
| |
| std::set< Vertex * > | getVerticesWith (const std::string &s) const |
| |
| std::set< Vertex * > | getVerticesWith (const std::string &s, const T &t) const |
| |
| Edge * | addUndirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s) |
| |
| Edge * | addEdge (Vertex *vertex1, Vertex *vertex2, std::string s="") |
| |
| Edge * | addDirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s) |
| |
| bool | hasEdge (const Edge *edge) const |
| |
| void | removeEdge (Edge *edge) |
| |
| const std::set< Edge * > & | edges () const |
| |
| std::set< Edge * > | edges (const Vertex *vertex1, const Vertex *vertex2) const |
| |
| std::set< Edge * > | getEdgesWith (const std::string &s) const |
| |
| std::set< Edge * > | getEdgesWith (const std::string &s, const T &t) const |
| |
| iterator | begin () |
| |
| iterator | end () |
| |
| const_iterator | begin () const |
| |
| const_iterator | end () const |
| |
| reverse_iterator | rbegin () |
| |
| reverse_iterator | rend () |
| |
| const_reverse_iterator | rbegin () const |
| |
| const_reverse_iterator | rend () const |
| |
| size_t | order () const |
| |
| size_t | size () const __attribute__((__deprecated__("use edgeSize() for " "the number of edges. In a future release |
| |
| size_t | size () will return the " "number properties as it does in GenericObject"))) |
| |
| size_t | edgesSize () const |
| |
| virtual bool | isUndirected () const |
| |
| virtual bool | isDirected () const |
| |
| virtual bool | check (const carto::SyntaxSet &syntax, std::set< std::string > &missing) const |
| |
| void | clear () |
| |
| Vertex * | addVertex (const std::string &s="") |
| |
| Vertex * | cloneVertex (const Vertex *vertex) |
| |
| bool | hasVertex (const Vertex *vertex) const |
| |
| void | removeVertex (Vertex *vertex) |
| |
| Vertex * | randomVertex () const |
| |
| const std::set< Vertex * > & | vertices () const |
| |
| std::set< Vertex * > | getVerticesWith (const std::string &s) const |
| |
| std::set< Vertex * > | getVerticesWith (const std::string &s, const T &t) const |
| |
| Edge * | addUndirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s) |
| |
| Edge * | addEdge (Vertex *vertex1, Vertex *vertex2, std::string s="") |
| |
| Edge * | addDirectedEdge (Vertex *vertex1, Vertex *vertex2, std::string s) |
| |
| bool | hasEdge (const Edge *edge) const |
| |
| void | removeEdge (Edge *edge) |
| |
| const std::set< Edge * > & | edges () const |
| |
| std::set< Edge * > | edges (const Vertex *vertex1, const Vertex *vertex2) const |
| |
| std::set< Edge * > | getEdgesWith (const std::string &s) const |
| |
| std::set< Edge * > | getEdgesWith (const std::string &s, const T &t) const |
| |
| iterator | begin () |
| |
| iterator | end () |
| |
| const_iterator | begin () const |
| |
| const_iterator | end () const |
| |
| reverse_iterator | rbegin () |
| |
| reverse_iterator | rend () |
| |
| const_reverse_iterator | rbegin () const |
| |
| const_reverse_iterator | rend () const |
| |
| size_t | order () const |
| |
| size_t | size () const __attribute__((__deprecated__("use edgeSize() for " "the number of edges. In a future release |
| |
| size_t | size () will return the " "number properties as it does in GenericObject"))) |
| |
| size_t | edgesSize () const |
| |
| virtual bool | isUndirected () const |
| |
| virtual bool | isDirected () const |
| |
| virtual bool | check (const carto::SyntaxSet &syntax, std::set< std::string > &missing) const |
| |
| virtual | ~GraphObject () |
| |
| | SyntaxedObject (const std::string &s) |
| |
| | SyntaxedObject (const SyntaxedObject &x) |
| |
| | SyntaxedObject (const SyntaxedObject< PropertySet > &x) |
| |
| | SyntaxedObject (const std::string &s) |
| |
| | SyntaxedObject (const SyntaxedObject &x) |
| |
| | SyntaxedObject (const SyntaxedObject< PropertySet > &x) |
| |
Graph modèle (classe abstraite).
Un graphe modèle est un graphe dont les noeuds contiennent des modèles (Model). Pour être utilisable, une classe dérivant de
MGraph doit comprendre les éléments et fonctions suivants:
- Sélecteur de modèle: la fonction MGraph::modelFinder renvoie une référence sur un sélecteur (dérivé de ModelFinder). Le moyen le plus simple est de le garder dans l'attribut du graphe
"model_finder", soit en le créant dans le constructeur, soit en chargeant le fichier graphe (auquel cas le Reader associé doit effectuer cette opération). Une fois stocké dans l'attribut "model_finder", il est automatiquement détruit par le destructeur de MGraph.
- Les noeuds ont l'attribut
"model" qui pointe sur un modèle d'évaluation de clique. Les modèles sont détruits automatiquement.
- Les noeuds du graphe modèle ont généralement un attribut
"domain"} (pointeur sur un Domain) qui donne le domaine de validité du modèle. Le domaine est souvent utilisé pour initialiser les étiquettes possibles pour les noeuds des graphes à étiqueter (CGraph). Les domaines sont optinnels, et sont automatiquement détruits par le destructeur de MGraph.
Definition at line 47 of file mgraph.h.
Checks compatibility between this model graph and the given data graph.
Basically, versions and compatibility versions of both graphs are compared, but this function can be overriden to check more precise things.
4 properties govern the version checking:
- in data graphs:
- datagraph_VERSION is the current version of a data graph (folds, ROI, clusters etc). By default it can be the current carto library number
- datagraph_compatibility_model_VERSION is the minimum model graph version number that can deal with it
- in model graphs:
- model_VERSION: verison of the model graph
- model_compatibility_data_VERSION: minimum data graph version number that is accepted by this model
Using these 4 attributes, I think we can determine a correct behaviour even for models/data that are not known yet
References Graph::Graph().