 |
Anatomist: placage d'informations surfacique
|
 |
Objets texture
Fusion surface - texture
Textures 2D: jouer avec les tables
de couleurs 2D
Déformation et mise en
correspondance de surfaces
Interpolation de données
fonctionnelles d'une surface à une autre
Objets texture
Fichiers .tex: donnent une ou plusieurs valeurs pour chaque sommet d'un
maillage associé, éventuellement en fonction du temps (séquences
temporelles).
1 valeur par sommet: texture 1D
2 valeurs par sommet: texture 2D
Fichiers d'EEG: répertoires contenant des fichiers .erp et un
fichier de description "erp.hdr": informations (1D) associées à
un filet d'électrodes, pour un certain nombre de sujets, d'essais
et de conditions différents, en fonction du temps. Spécialement
pour ces fichiers, on peut ouvrir une petite fenêtre sur les
textures (dans le menu "Object manipulations", "File", "ERP loader" lorsqu'une
texture est sélectionnée dans la fenêtre de contrôle)
pour contrôler les dimensions supplémentaires qui ne sont
normalement pas dans Anatomiust: sujet, essai.

Les fichiers de texture ne contiennent pas le maillage lui-même.
Les objets texture ne sont pas affichables seuls: on
ne peut pas les mettre dans une fenêtre 2D ou 3D. Ils
sont uniquement destinés à être fusionnés avec
une surface.
Fusion surface - texture
Charger le maillage de la surface (fichier .tri ou .mesh)
Charger la texture
Sélectionner ces deux objets dans la fenêtre de contrôle
Effectuer une "fusion" des deux: dans le menu "Ojbects", choisir "Fusion
objects". Un nouvel object surface texturée ("Textured surf.") est
créé.
Ouvrir une fenêtre 3D
Mettre la nouvelle fusion dans la fenêtre 3D
Modifier la table de couleurs de la fusion (tout est en gris par défaut,
donc très peu visible)
 |
(c'est un maillage de filet d'électrodes EEG et un jeu de potentiels
enregistrés) |
Pour les maillages temporels, un slider de temps apparait dans la fenêtre
3D de manière à faire bouger les activations.
Textures 2D: jouer avec les tables
de couleurs 2D
Les textures 2D ont 2 inforations à afficher par sommet du maillage.
Cela veut dire, en gros, 2 couleurs à plaquer sur chaque sommet.
On utilise des tables de couleurs à 2 dimensions.
- soit directement avec une palette 2D (image prédéfinie):
Cerveau gonflé avec informations 2D: en couleur, l'activation;
en foncé: les sillons profonds
- soit en combinant 2 palettes 1D dans 2 dimensions:

Cerveau gonflé avec informations 2D: en rouge, l'activation;
en bleu: la profondeur des sillons |
Matière blanche, le maillage correspond à celui de l'image
du cerveau gonflé, les informations de texture sont identiques |
Déformation et mise en correspondance de
surfaces
Charger les deux maillages dans Anatomist
Effectuer une fusion des deux surfaces: un nouvel objet: un ojbet "surface
matcher" est créé.
Sélectionner cet objet, et ouvrir sa fenêtre de contrôle
dans le menu "Object manipulations", "Fusion", "Surface matching window"
Ouvrir l'objet SurfMatch: il contient 3 objets: les deux surfaces initiales,
plus une troisième, nouvelle: "matchsurf.mesh": c'est celle-ci qui
sera déformée
Ouvrir une fenêtre 3D
Mettre dans cette fenêtre la surface cible et la nouvelle surface
déformable matchsurf.mesh. Au départ la surface déformable
n'apparait pas (elle est vide)

Choisir le sens de la transformation dans la fenêtre de mise en correspondance
de surfaces, en changeant au besoin "from / to"
Cliquer sur "Reset": la surface déformable apparait, dans l'état
correspondant à la surface initiale
Pour y voir un peu clair, il peut être utile de mettre un peu de
transparence sur la surface finale, et une couleur différente (transparence:
dans les matériaux, baisser le coef alpha du paramètre "Diffuse")
Régler les paramètres de mise en correspondance dans la colonne
centrale, "Matching parameters"
Ajouter si besoin des "points de contrôle": points d'attraction directe
entre les deux surfaces
"Record over time", s'il est coché, permet de mémoriser toute
la séquence des transformations itératives dans la surface
matchsurf.mesh, dans une séquence temporelle qui peut ensuite être
sauvegardée sur disque. Attention: ca prend BEAUCOUP de mémoire,
surtout si la surface initiale comporte beaucoup de sommets et de triangles...
Quand tout est prêt, lancer la mise en correspondance avec le bouton
"Start"
Il est possible de changer tous les paramètres, et d'ajouter ou
enlever des points de contrôle en cours de déformation à
mesure que l'on voit comment ça se passe
Lorsqu'on est satisfait du résultat, on arrête en cliquant
"Stop" (ça ne s'arrête pas tout seul: il n'y a pas de critère
de convergence)
Une surface déformée possède le même nombre
de sommets que la surface d'origine, leur ordre est conservé, et
également les triangles: les sommets sont déplacés
sans que quoi que ce soit ne change la structure de la surface: ainsi on
peut utiliser les textures prévues pour la surface d'origine sur
une surface déformée:
Interpolation de données fonctionnelles
d'une surface à une autre
L'interpolation sert à plaquer des données de texture sur
un maillage plus fin que celui auquel il est normalement associé.
Pour fonctionner correctement l'interpolation doit utiliser deux surfaces
"recalées": la surface d'origine doit avoir été déformée
pour correspondre à la la géométrie de la surface
"cible", ce qui peut être fait en utilisant la mise en correspondance
de surface qui vient d'être décrite. Si ce recalage n'a pas
été fait, l'interpolation donnera un peu n'importe quoi et
le résultat n'aura aucune valeur.
Charger les deux surfaces
Charger la texture (données fonctionnelles)
Effectuer une fusion entre la texture et la surface qui lui correspond
(ex: données d'EEG et maillage des électrodes déformé
pour coller à la tete)
Effectuer une seconde fusion entre la surface texturée (1ère
fusion) et le second maillage (ex: celui de la tete)
Mettre cette dernière fusion (objet "Interpoler" ) dans une fenêtre
3D et changer sa palette

Pour le moment il ne s'agit que d'une interpolation linéaire.
L'interpolation prend tout de même un peu de temps de calcul:
ne vous attendez pas à des changements aussi fluides qu'avec la
surface originale quand vous bougez le slider de temps...