MedicalStudio, un outil pour les spécialistes du cerveau

Et c’est là que moi j’arrive … tout gentil tout frêle …

Début avril je suis allé à l’hopital Saint-Luc à Bruxelles pour qu’il me montrent comment ils travaillent. Pour le moment c’est vraiment le boxon dans leur façon de travailler. Quasi pour chaque opération sur une image ils doivent utiliser un autre logiciel car il n’y a aucun logiciel qui contient toutes les fonctionnalités nécessaires. Bref, on m’a demandé d’intégrer les fonctions d’un des programmes dans MedicalStudio qui se veut devenir l’interface qui regroupera toutes les opérations sur les images médicales (de là son nom).

Ce qui est cool avec MedicalStudio c’est qu’il est cross-platteforme, qu’il tourne nickel sous Windows et sous Linux … normalement il devrait aussi tourner sur Mac mais j’ai pas essayé. Tout ça grâce à la magie de cmake car c’est évidement programmé en C++ tout ça. Et pour couronner tout ça il est LIBRE (sous GPL)

Mais qu’est-ce que j’ai donc fait là-dedans? Eh bien j’ai crée un composant pour MedicalStudio qui permettait de passer des images IRM issues d’un scanner comme on peut voir les 3 images en noir sur la figure suivante :

A un mesh segmentée en 3D comme on peut voir sur fond bleu sur la figure. Ca nous donne un résultat (en plus grand) comme ça :

Tout ça je l’ai fait en me basant sur les outils de traitement d’images médicales VTK qui sont vraiment performants et qui ont déjà une bonne partie des algorithmes de traitement d’image pure implémentés. Ca m’a aussi permis de ne pas devoir ré-inventer la roue chaude 🙂

Bref, après plus de 50 heures de travail sur ce p**** de programme j’ai enfin réussi à faire un truc qui tourne et qui est convivial à l’utilisation. Vivement dans 70 ans quand le toubib fera un scanner de mon cerveau et que je lui dirais : vous voyez votre logiciel, eh bien j’ai contribué à sa conception !!! mdr 😀

Et pour les médecins qui passent par ici … désolé si j’avais pas mis de screenshot avec un cerveau. Ici je vous montre même encore mieux, une image combinée avec le mesh d’un cerveau avec par dessus le mesh visage à moitié transparent. De cette manière on peut même travailler en parallèle sur les deux mesh. 😉

Un commentaire

  1. Bravo ! Que c’est beau le libre. En plus, ça a vraiment l’air simple comme interface.

    Sinon, IRM, c’est In Real Mind ? Bon, je sors…

    Reply
  2. Sympa comme projet… C’est ça qui est gai en imagerie, c’est que ça fait directement des trucs classes qu’on peut voir 🙂

    Cela dit, si on utilise encore ce programme dans 70 ans… ben faudra que ce soit sous Linux, les 2 autres auront sûrement périclité d’ici-là ^^

    (et IRM je crois que c’est Institut Royal Militaire…)

    Reply
  3. Ouais, mais là c’est parce que j’ai fait un screenshot avec un threshold un peu petit … mais si j’augmente le threshold c’est le cerveau que j’obtiens !! Je mettrais un petit screen avec un cerveau si tu veux … ^^

    tsss ces médecins quand même … toujours vouloir chipoter sur des détails, je vous jure … ^_^

    Reply
  4. juste une question comme à dit Béatrice, y a t-il aussi moyen de voir l’intérieur du cerveau? enfin juste pour savoir…

    Reply
  5. non mais à part ça il a l’air bien ce programme 😉
    rhalala, j’ai étudié toutes ces coupes du cerveau pour rien!

    Reply
  6. et quoi il y a moyen de retirer les épaisseurs au fur et à mesure? bon oki je fait encore la chieuse.. mais je dis quand même respecte greg, bravo. on pensera à toi la prochaine fois qu’on va faire un IRM

    Reply
  7. Mais LN, j’imagine qu’il y a autant d’épaisseurs que d’images intégrées, c’est aussi simple que ça ! Greg va pas créer les données non plus, il s’arrange «  »juste » » pour qu’elles s’affichent en même temps (enfin, au choix), et en 3D. C’est ça qui est bien aussi, c’est que ça a pas l’air du logiciel qui prend plus d’importance que les données qu’il traite : pour le médecin, il s’agit avant tout de mieux voir les données, sinon il sera tout perdu.

    Reply
  8. Je ne pense pas que l’image en 3D soit une simple juxtaposition d’images en 2D, c’est plutôt une interpolation à partir d’images prises sous différents angles (ce qui est quand même un peu plus balèze).

    Après, sachant que les différentes couches de la tête et du cerveau ont des compositions différentes (qui donnent des couleurs différentes sur l’irm) on peut demander de tracer le contour d’une certaine couche.

    Donc je dirais que oui LN, on peut générer des images en enlevant chaque fois une couche 😉

    Reply
  9. Désolé de ne pas avoir répondu plus tôt. Mais donc au fait, on ne voit pas bien sur le screenshots que j’ai fait, mais la segmentation des images se fait sur base d’un paramètre variable qu’on appelle le threshold.

    Ce paramètre permet justement de spécifier à quel point est-ce qu’il faut segmenter l’image. Cependant, ce threshold (petit ou grand) se base, comme l’a dit pierre, sur la couleur des images. Cette couleur qui en neurologie a une signification (pour moi ça veut rien dire). D’ailleurs, les images médicales ne sont pas basées sur un niveau de 256 gris comme un écran classique, mais bien sur 4096 niveaux de gris différent, donc ça permet vraiment d’avoir une connaissance des tissus et donc de gérer la profondeur de segmentation.

    Comme ça vous avez une petite idée plus « théorique » du fonctionnement de cette segmentation 🙂

    Reply
  10. Rien de personnel hein Vlad 😉
    D’ailleurs il me semble que c’est la seule fois où je t’ai vraiment « contredis » (euh, zut, ça compte comme une contradiction cette phrase ? ^^).
    Si tu parles du post « absurde » c’était juste pour partir de quelque chose, pas du tout pour critiquer ta réponse (qui m’a d’ailleurs bien fait rire)

    Reply
  11. T’inquiète, je le prends pas mal. ^^
    Et je parlais bien de l’autre contradiction par/de/pour l’absurde qui, bien que superbe, n’en était pas moins une contradiction. Et puis arrête de me contredire, enfin. 😉

    Reply

Leave a Comment.