TileViz

 

Démonstration de la version 1.0 :

Démonstration de TileViz v1.0

Cliquez ici pour voir les visualisations réalisées à la Maison de la Simulation (avec TileViz master !).

 

Objectifs scientifiques et technologiques visés par cette plateforme

Avec l'augmentation exponentielle de la puissance des calculateurs HPC, il est à présent raisonnable de lancer de nombreux scénarios de simulation simultanément pour analyser des variations
paramétriques sur de gros modèles, comme les modèles climatiques globaux. L'analyse de ces modèles se fait la plupart du temps grâce à des réductions selon un certain nombres de dimensions, mais l'analyse 2D ou 3D ne peut se faire sans visualiser les résultats sur une trentaine (voir une centaine) de simulations, ce qui nécessite souvent de les imprimer.

Nous avons commencé à construire une application web qui permet de récupérer des ensembles de résultats de simulations sur un serveur de post-traitement et de les afficher suivant un ordre déterminé préalablement en analysant les métadonnées associées aux images. Cette application permet de trier les images pour les regrouper, de faire du tri sélectif en fonction des variables extraites lors de la phase de pré-traitement et d'annoter les vignettes. Des fonctions de zoom sélectif et de permutation de lignes ou de colonnes ajoutent de l'interactivité avec l'ensemble affiché. Enfin le tri final peut être sauvegardé et repris.

Nous souhaitons tirer parti de notre plateforme de visualisation à haute résolution Mandelbrot pour afficher un nombre beaucoup plus important de données et interagir de manière collaborative avec ces données. Pour cela, nous devons poursuivre le développement de cette application et l’intégrer au middleware WildOS développé par Michel Beaudouin-Lafon au LRI. L’application sera conçue en
partenariat avec trois équipes de trois disciplines différentes, mais intéresse potentiellement de nombreux champs disciplinaires.

BrainTwister sur le mur d'image Mandelbrot

L'application BrainTwister développée entre le LRI et Neurospin.

La morphologie des plissements du cortex cérébral est propre à chaque être humain, à l’instar des empreintes digitales. Ses motifs apparaissent in utero au moment où se met en place l’architecture du cortex. Une accumulation d’observations concernant des pathologies génétiques ou des épilepsies développementales ont montré des anomalies massives de ces motifs. Pour mettre en évidence des anomalies plus subtiles associées aux grands syndromes psychiatriques, il est nécessaire de modéliser la variabilité normale de ces motifs dans la population générale. Depuis 25 ans, c’est un des programmes de recherche du laboratoire d’analyse d’images de Neurospin. Ce programme est en passe de faire émerger un dictionnaire de tous les motifs observés fréquemment dans la population générale à partir de plusieurs dizaines de milliers de cerveaux. Une fois ce dictionnaire établi, il permettra une définition opérationnelle de l’anormalité des motifs pouvant être associée à une augmentation du risque des pathologies développementales et contribuant à leur diagnostic précoce.

Ce programme de recherche achoppe depuis de nombreuses années sur la difficulté de visualiser simultanément un grand nombre de cerveaux. Elle conduit à une sous-optimalité des bases d’apprentissage constituées par les experts humains en charge de nourrir les outils d’apprentissage par ordinateur au cœur de ce programme de recherche. C’est dans ce contexte qu’une étude de faisabilité a été réalisée ces dernières années en collaboration entre Neurospin et le LRI de DIGITEO Moulon, dans le cadre de l’equipex DIGISCOPE. Le prototype BrainTwister développé nous a convaincu que la technologie des murs d’écrans était le passage obligé de notre programme de recherche. Nous cherchons donc aujourd’hui à convertir ce prototype en une plateforme opérationnelle utilisée massivement pour la recherche de Neurospin et à terme par la plateforme nationale CATI (http://cati-neuroimaging.com) en charge de valoriser les outils de Neurospin sur les grandes cohortes dédiées à la recherche clinique. Ce besoin s’est naturellement tourné vers la Maison de la Simulation dont la vocation est de mettre en production ce type d’outil. Il est rapidement apparu une généricité évidente avec d’autres cas d’utilisation du mur d’écran dans le cadre des recherches sur le climat et l’astrophysique.

_DSC1151.jpg

La plateforme BrainVisa est développée au laboratoire UNATI . Elle contient tous les outils d'analyse issus de la recherche du laboratoire, et en particulier les outils d'analyse de la morphologie des plissements corticaux. Elle contient également Anatomist, un logiciel de visualisation dédié aux données d'imagerie cérébrale. Anatomist permet d'afficher en 3D interactive différentes représentations des données IRM, maillages cérébraux, et sillons corticaux. Il représente les sillons extraits par les outils d'analyse, et montre les identifications des motifs corticaux par différentes couleurs. Un module interactif permet de changer ou corriger ces identifications manuellement. C'est cet outil qui permet de mettre au point et d'enrichir les bases d'apprentissage utilisées pour entraîner les systèmes d'identification automatiques. Anatomist est un logiciel modulaire et comporte des librairies de programmation en langages C++ et Python, il permet donc de fabriquer des applications de visualisation dédiées pour des usages précis, ce qui facilite son intégration dans TilesViz ou précédemment BrainTwister.

 

L'application BrainTwister a été développée dans le cadre d'une collaboration entre le laboratoire UNATI de Neurospin et le LRI de DIGITEO Moulon avec une l'équipe ex-situ de INRIA.

Cette application permet de visualiser des paires d'hémisphères de cerveaux et leurs sillons avec anatomist sur le mur d'image DIGISCOPE wilder du LRI. L'interaction avec le mur d'image et les données utilisait le système infrarouge de la plateforme wilder. Cette interaction permettait la sélection d'un sous-ensemble des paires pour des rotations synchronisées, mais pas le tri des éléments affichés, caractéristique essentielle à l'équipe UNATI pour réaliser ses recherches. En effet la compréhension de l'anatomie des plissements corticaux et leur variabilité est limitée par l'impossibilité de visualiser l'ensemble des cerveaux à notre disposition et de les comparer visuellement. L'utilisation du mur d'images Mandelbrot de la MDLS permettra de présenter un assez grand nombre de cerveaux, de les comparer visuellement au cours de sessions de travail impliquant plusieurs chercheurs spécialistes qui peuvent en discuter devant la visualisation. Des regroupements de cerveaux ayant des conformations localement similaires pourront être faits et nous espérons que cela rendra possible l'identification de catégories fines de motifs chez des sous-populations. Ce travail d'abord manuel (ou visuel) sera à terme facilité par des outils de clustering automatique, qu'il faudra également valider visuellement. Pour ce travail, le tri des cerveaux et leur visualisation côte à côte, ainsi que la rotation synchronisée, sont essentiels.


Illustration 1: Jean-François Mangin lors d'une séance de travail avec BrainTwister devant Wilder.

rFmvjP_.png

_DSC1151.jpg

_DSC1152.jpg

_DSC1163.jpg

 

 

20160219_112709.jpg

20160219_114147.jpg

Dans sa conception BrainTwister est une application de la plateforme node-webkit appelée WildOS, qui est développée par l'équipe de Michel Beaudouin-Lafon du LRI. Cette application lance une instance de Anatomist sur chaque serveur du cluster permettant l'affichage à très haute résolution sur le mur d'image de l'Université Paris-Sud Wilder qui affiche un total de cent million de pixels. Pour chacune de ses instances, on affiche plusieurs paires d'hémisphères selon la résolution totale des écrans connectés à la machine.

Cette implémentation permet de réduire les connections client/serveur pour manipuler les visualisations 3D à l'intérieur des instances Anatomist. Mais elle ne permet pas de déplacer une paire pour la comparer avec une ou plusieurs autres situés à distance du mur d'images (qui fait 6 mètres de large pour Wilder et 4,3 m pour Mandelbrot et ses 33 million de pixels).

TileViz

 

Après avoir installé la plateforme WildOS et son application BrainTwister (qui n'est plus maintenue au LRI), sur la plateforme Mandelbrot de la Maison de la Simulation, située à DIGITEO Saclay, nous avons choisi de développer une application indépendante de WildOS qui serait générique pour différent ensemble de simulations ou d'expérimentations, permettrait les mêmes interactions que dans BrainTwister, mais qui lèverait ce verrou pour le tri des sorties sur notre mur d'image. Cette application TileViz en développement existe maintenant et un démonstrateur embarque Anatomist et affiche les résultats interactifs sur le mur d'image Mandelbrot.

Il faut noter que notre mur n'est pas doté de la technologie ART (caméras infrarouge permettant le positionnement d'un utilisateur équipé de réfléchisseurs), ni multi-touch, comme le mur Wilder, mais que nous allons le doter d'une table interactive, en plus de tablettes et du PC de contrôle déjà présents. La conception de la salle Mandelbrot (voir http://www.maisondelasimulation.fr/Visualisation.php) est orientée vers le travail collaboratif dans un espace de vingt mètre carré devant le mur d'image. De notre point de vue, le côté immersif de certaines plateformes de visualisation impose un apprentissage important aux utilisateurs et leur équipements pour interagir avec le mur.

Nous utilisons régulièrement les serveurs VNC à la Maison de la Simulation pour interagir avec le mur d'image sur le réseau interne du cluster Mandelbrot. Nous utilisons aussi cette technologie via le réseau wifi du CEA à l'aide de tunnel ssh pour avoir des retours cryptés basse résolution du mur d'image sur notre tablette via le serveur de clé forticlient.

Pour résoudre le problème sérieux qui se posait à l'adaptation de cette application à la visualisation de sorties graphiques de multiple instances d'un outil comme anatomist sur le mur d'image, avec le déplacement de ces sorties d'un nœud de rendu à l'autre, nous avons choisi la technologie des conteneurs Docker exportant des flux VNC au travers de tunnels sécurisés.

Les conteneurs sont des machines virtuelles Linux légères qui ont un système différent de la machine hôte, mais partagent le noyau et donc les périphériques de ce dernier. Cela donne des avantages immédiats : très peu de perte d'efficacité dans le cadre du rendu 3D de grosses données à afficher, la duplication des conteneurs sur une même machine est partagée en mémoire, les communications sont encapsulées et donc sécurisées à l'intérieur de chaque conteneur et les ports de communication externes sont contrôlés. Ensuite les entrées sorties sur des répertoires définis (emplacement des bases de données) sont contrôlées car elles peuvent être montées en lecture seule dans le conteneur. Enfin cette solution est suffisamment générique pour être adaptée à de nombreuses autres situations et déportées sur des machines de calcul distantes, si les ingénieurs système ont activé la virtualisation.

Nous avons réalisé à la Maison de la Simulation une première maquette de visualisation tuilée de résultat de sortie du climat, en collaboration avec une équipe du LSCE et CLIMAF entre l'IPSL et Météo France pour l'affichage d'image fixe, mais avec l'utilisation de métadata pour le tri interactif de ces images. Cette application web est dédiée à des navigateurs de bureau et orientée pour être rajoutée en option pour des services web de postraitement de base de données climatologiques.

Cette application développée avec un stagiaire de l'école des Mines Saint Etiennes est un succès et plusieurs séances de travail ont eu lieu devant le mur Mandelbrot en utilisant la plateforme WildOS comme un navigateur à très haute résolution sur le mur d'image.

Cette implémentation de TileViz avec des conteneurs nous permet de lancer une série de conteneurs (jusqu'à une centaine) sur un très gros serveur à mémoire partagée de notre cluster Mandelbrot et d'en visualiser les sorties via des flux VNC sur les clients de WildOS en pleine résolution de notre mur d'image. Voici une photo d'une première application de trie de série tuilée - appelée TileViz(ualisation) - de sorties d'une application Anatomist sur une base de données de cerveaux de Neurospin :

DSC_3650.jpg

 

Le lancement de l'application cliente n'est pas automatisé. De plus elle ne supporte pour l'instant pas le passage à l'échelle car les conteneurs sont tous placés sur un même nœud (ce qui est tout de même optimisé par la technologie Docker). Il faut donc les déporter sur des ressources dédiées. De plus les flux arrivent sur tous les clients. On doit donc mettre en place un mécanisme de clients-serveur facilement adaptable pour gérer les flux et déclencher le lancement de conteneurs distants selon les déplacements des éléments dans les clients.

20170511_161428.jpg

 

CLIMAF

 

CLIMAF outputs with png of IPSL climate

DSC_0212.JPG

 

DSC_0215.JPG

DSC_0219.JPG

PYMOL

TileViz with mageia 5 and nvidia drivers on Mandelbrot graphical nodes with pymol application.

_DSC3544_lzn.jpg

_DSC3549_lzn.jpg

_DSC3553_lzn.jpg

 

 

VMD

TileViz with mageia 5 and nvidia drivers on Mandelbrot graphical nodes with VMD application.

_DSC3560.JPG

_DSC3561.JPG