Voxelisation

La voxelisation est une technique de modélisation 3D basée sur un ensemble de couches 2D (des images) superposées afin de fournir un objet 3D.

C'est le procédé inverse qui est, par exemple, utilisé en impression 3D, où l'on part d'un objet 3D pour le découper en tranches, l'imprimante 3D déposant de la matière partout où cette tranche montre qu'il en faut et une fois cela fait, il passe à la couche suivante en remontant un peu la buse de la taille de couche voulue.

Cette technique est celle utilisée en médecine avec les scanners via un format d'image particulier réservé à ce domaine : les Dicom.

Nous retrouvons également cette technique dans un jeu devenu célèbre : Minecraft, le monde entier de ce jeu étant basé sur la voxelisation.

La première chose que nous allons donc voir sont les Dicom.

Il existe assez peu de logiciels permettant l'import d'images pour en ressortir un modèle 3D, nous allons donc nous concentrer sur deux en particulier, totalement différents l'un de l'autre, mais dont le module se chargeant de cette tâche est relativement facile d'utilisation.

  • FIJI (FIJI Is Just ImageJ) : Logiciel orienté imagerie médicale.
  • jWildfire : Logiciel orienté fractales.

Ce sont deux excellents logiciels fonctionnant avec Java. Il vous faudra donc avoir installé un environnement Java opérationnel.
Si ce n'était pas le cas, ce n'est pas ici que vous trouverez comment faire, il y a de quoi écrire un bouquin entier avec les problèmes que l'on peut rencontrer et les recherches sur forums spécialisés vous aideront autrement mieux que moi.

Sans doute avez-vous reçu un jour un CD sur lequel votre médecin ou un hopital aura mis vos radios, scanners, IRM, ou que sais-je encore. Si vous ouvrez ce CD et faites une recherche sur l'extension DCM et que vous en trouvez, vous avez de la chance vous allez pouvoir directement essayer avec vos propres organes.

Sinon, chargez un dicom-test sur Dicom Library. Pour ce test, nous prendrons le premier qui passe :

Modality:CT
Size:31.4 MB
Count:361

Mais qu'est-ce que ce format ?
Le Dicom est un format d'image normalisé, c'est à dire qu'il répond à des normes bien définies et que, théoriquement, il sera toujours codé de la même manière, ce qui permet à tous les médecins de pouvoir les ouvrir et les utiliser de la même manière.

Le Dicom est un format d'image basé sur le JPEG2000 car ce format permet d'écrire des images en n'importe quel nombre de bits.

Mais quel intérêt ?? En fonction du nombre de bits, il sera possible de mettre plus ou moins d'organes.

Une Dicom 8 bits, tout comme une image 8 bits permettra un dégradé de gris de 256 couleurs, soit un organe. Une Dicom 9 bits permettra un dégradé de gris de 512 couleurs, soit deux organes. Une Dicom 10 bits permettra un dégradé de gris de 1024 couleurs, soit quatre organes. Et ainsi de suite.

Un écran ne permet d'afficher qu'un dégradé de 256 niveau de gris et si nous ouvrons un Dicom contenant beaucoup d'organes comme une image classique, nous ne verrons qu'une grosse tache grise.

Mais un logiciel sachant que, dans un Dicom 10 bits, le dégradé allant de 0 à 255 est le premier organe, de 256 à 511 le deuxième, de 512 à 767 le troisième et enfin de 768 à 1023 le quatrième permet alors de séparer les organes pour les rendre visibles dans l'application utilisée par le praticien. Ainsi l'image suivante, retirée d'un ensemble de DICOM apparait tout gris :

Mais si on y fait appel via un logiciel dédié, nous pouvons aussi bien mettre chaque organe en couleur :

Ou encore isoler les organes :

A partir du moment où nous avons compris qu'il s'agissait d'images et que le logiciel médical ne faisait que jouer sur les seuils du dégradé pour afficher tel ou tel organe, il est normal des supposer que si l'on transforme ces Dicom en un format d'image courant, il devrait être possible, en jouant sur les seuils dans un logiciel de traitement photo, d'isoler les organes…

Et c'est donc exactement ce que nous allons faire :)

Attention! Plusieurs logiciels traitant les Dicom vous permettront un export 3D mais tous géreront les organes de la même façon, c'est à dire qu'il y a une “hiérarchie” dans les organes et que si, par exemple, on veut voir l'organe allant du dégradé 0 à 255 dans un dicom 10bits, nous verrons également les trois autres.

Il est donc très intéressant de passer par un logiciel “photo” car ceux-ci permettent un traitement des couleurs plus poussés et, donc, de mieux isoler un seul organe.

Le plus gros problème vient du fait que le passage, par exemple, d'un dicom 11 ou 12 bits à un PNG 16 bits

Conversion des dicom

La première chose qu'il nous faut faire est de transformer ces images Dicom en images utilisables par un logiciel de traitement d'image.

Pour cela, je vous conseille le logiciel Image Magick, logiciel qui s'utilise en ligne de commande mais qui permet de réaliser quasi toutes les opérations possibles sur des images, y compris sur des formats n'étant pas traités en général par des logiciels comme Gimp, Photoshop, Lightroom, Rawtherapee, etc…