Anatomist: Manipulation de données structurées:

Trucs & recettes


Pourquoi ?

Quand on met un graphe dans une fenêtre de visualisation, rien ne se passe et on ne voit rien
Quand on retire un graphe d'une fenêtre, les noeuds ne s'en vont pas, et encore une fois, rien ne semble se passer
La sélection par hiérarchie ne marche pas
La destruction d'un graphe (ou la fermeture d'Anatomist) prend un temps incroyable, faisant penser qu'Anatomist a planté
 

Comment ?

Voir un graphe
Voir tout le graphe
Enlever un graphe d'une (ou plusieurs) fenêtre(s)
Sélectionner tous les noeuds d'un graphe
Voir un graphe sans anatomie dans une fenêtre 3D


Pourquoi ?

  • Quand on met un graphe dans une fenêtre de visualisation, rien ne se passe et on ne voit rien

  • Parce que seuls les noeuds qui ont été sélectionnés au moins une fois apparaissent. Le graphe lui-même est un objet "invisible" et il n'affiche pas tous ses "enfants" par défaut car c'est gênant dans les utilisations courantes.
     

  • Quand on retire un graphe d'une fenêtre, les noeuds ne s'en vont pas, et encore une fois, rien ne semble se passer

  • Le graphe est retiré de la fenêtre, mais pas ses enfants (les noeuds). Les noeuds de graphe sont des objets anatomist à part entière et restent dans la fenêtre jusqu'à ce qu'ils en soient explicitement retirés ou qu'ils soient détruits (voir: comment retirer tout le graphe)
     

  • La sélection par hiérarchie ne marche pas

  • Plusieurs possibilités:
    - la hiérarchie ne correspond pas au graphe: son attribut "graph_syntax" ne correspond pas au type de graphe
    - la correspondance entre hiérarchie et graphe n'a pas été validée dans la fenêtre de paramètres des graphes (bien que je pense que ça n'affecte que les couleurs, pas la sélection, autant que je me souvienne)
    - Le graphe n'a pas été identifié
    - Le graphe a été identifié automatiquement (les attributs "label" sont remplis) mais pas manuellement (les attributs "name" sont absents), et la correspondance se fait (par défaut) par l'attribut "name". Vérifier dans les paramètres de graphe, l'option "use attribute" et "hierarchy/color bindings".
    - Aucun noeud du graphe ne correspond aux noms demandés
    - il y a un bug ? ...
     

  • La destruction d'un graphe (ou la fermeture d'Anatomist) prend un temps incroyable, faisant penser qu'Anatomist a planté

  • Après mûre réflexion, je pense que c'est un bug...
    Il me semble avoir corrigé ce comportement dans la plupart des cas, mais il m'a semblé que cela arrive encore de temps en temps, de façon moins grave tout de même (30 secondes de blocage au lieu d'un bon 1/4 d'heure avant), peut-être seulement lorsque le graphe est visible dans un browser.
    C'est un défaut de la structure interne d'Anatomist, pas facile à contourner dans l'état actuel des choses. Ca devrait être encore mieux géré dans une future version d'Anatomist (dans 1 an ou 2...)
    Remède: avant de détruire un graphe, fermer les fenêtres (surtout les browsers) qui le contiennent.
     

    Comment ?

  • Voir un graphe

  • Le mettre dans une fenêtre de visu
    Sélectionner des noeuds. Plusieurs méthodes le permettent: voir la page précédente
     

  • Voir tout le graphe

  • Mettre le graphe dans une fenêtre de visu
    Sélectionner tous les noeuds:
    Cf "comment sélectionner tous les noeuds".
     

  • Enlever un graphe d'une (ou plusieurs) fenêtre(s)

  • C'est pas très pratique, je l'avoue... Il y a plusieurs moyens plus ou moins tordus de s'en sortir:
    Fermer la fenêtre
    Détruire le graphe
    Sélectionner tous les noeuds et, dans le menu du bouton droit, choisir "Remove from windows of this group" ou "Remove from this window" selon ce qu'on veut faire. D'où la question suivante.
     

  • Sélectionner tous les noeuds d'un graphe

  • 2 principales façons aussi:
     

  • Avec une hiérarchie (graphe identifié):
  • Mettre la hiéarchie dans un browser
    Ouvrir la hiérarchie de manière à voir les noms de premier niveau
    Cliquer sur tous les noms de niveau le plus haut. Tous les noeuds du graphe sont normalement sélectionnés.

    Remarque: si des noeuds sont mal nommés ou non-identifiés, ils ne seront pas sélectionnés par cette méthode (et resteront donc invisibles): prudence...
     

  • Sans hiérarchie ou graphe non identifié:
  • Manuellement:
  • Mettre le graphe dans un browser, et l'ouvrir de manière à voir ses noeuds
    Sélectionner dans ce browser tous les noeuds: cliquer sur le premier noeud, puis sur le dernier en maintenant la touche "shift" enfoncée.
  • Par voisinage:
  • Sélectionner un noeud (en cliquant sur l'image en mode sélection, ou en choisissant un noeud au hasard dans un browser)
    Avec le menu du bouton droit, choisir "Select neighbours": les voisins directs s'affichent et sont sélectionnés.
    Recommencer "select neighbours" plusieurs fois: à chaque fois la sélection grossit, jusqu'à ce que tous les noeuds soient sélectionnés.

    Remarque: cette méthode de sélection par voisinage ne permet de sélectionner qu'une composante connexe: si le graphe est découpé en plusieurs morceaux non connectés, il faut avoir sélectionné au départ au moins un noeud dans chaque composante connexe.
     

  • Voir un graphe sans anatomie dans une fenêtre 3D

  • Ouvrir 2 fenêtres
    Mettre dans la premiere l'anatomie + le graphe
    Mettre dans la seconde le graphe seul
    Sélectionner en cliqaunt dans la fenêtre avec anatomie, les noeuds s'affichent aussi dans la fenêtre avec le graphe seul.