• Aucun résultat trouvé

en Python et programmées grâce à la librairie SMIL ( Simple Morphological Image Libraries ), développée par M. Faessel au Centre de Morphologie Mathématique (CMM, MINES-ParisTech).

III.4.1 Algorithme de traitement

Une introduction au concepts de base de l'analyse d'image est donnée dans le chapitre 2. La procédure utilisée pour la segmentation de l'image va être détaillée maintenant pas à pas.

1. Division de l'image en 64 parties : il faut considérer que plusieurs images dérivées (par exemple l'image gradient et celles contenant les résultats) sont nécessaires en mémoire en même temps, pour le traitement. Pour cette raison, la demande en mémoire peut devenir très vite exorbitante. Ce problème a été résolu en traitant l'image par morceaux. D'abord elle est découpée en 8 parties, en utilisant les 3 plans médians. Chaque partie subit à son tour la même division. L'image initiale a été ainsi divisée en 64 sous-images Ij. Ce procédé présente cependant un problème.

Pendant la division de l'image, un certain nombre de particules, celles intersectées par les plans médians, se trouvent, en eet, coupées en deux. Pour récupérer toutes les particules en entier, des sous-images - dites ¯Ij - légèrement plus grandes que

les Ij, ont été découpées de l'image initiale. Lors qu'une particule touche un bord

de Ij, elle est susceptible d'avoir été coupée en deux. Elle peut, en revanche, être

retrouvée en entier dans une des images élargies ¯Ij.

2. Seuillage et labellisation : le fait que le c÷ur des particules soit assez saturé a été utilisé, pour qu'un simple seuillage de l'image permette de l'isoler. Vu l'homogénéité de l'image, une valeur de seuil globale de 205 a été choisie empiriquement pour sélectionner une large majorité de particules. En appliquant le seuillage, une image binaire a été obtenue, qui contient les c÷urs des particules, c'est-à-dire leur partie la plus saturée. Cette image a été en suite labellisée, pour obtenir une image des marqueurs qui sera utilisée dans l'étape suivante.

3. Segmentation : l'algorithme, dit  partage des eaux guidé par marqueurs  et ex- pliqué dans le chapitre 2, a été utilisé pour la segmentation de l'image.

A ce point, une image segmentée est produite et la récupération et le stockage des par- ticules sont possibles. La fonction  watershed  (terme anglais pour  partage des eaux ) de SMIL produit deux images, une binaire pour la ligne de partage des eaux (surface en 3D) et une labellisée représentant les bassins, ayant les mêmes labels que les marqueurs. Cette dernière est utilisée pour l'extraction des particules. Enn, la partie de l'image cor- respondant à la boîte englobante de chaque particule a été copiée et sauvegardée. Leur ensemble constitue la bibliothèque 3D. De plus, les mêmes parties de l'image en niveaux de gris ont été copiées et sauvegardées an de pouvoir, dans un deuxième temps, traiter les agrégats qui sont le sujet de la section suivante.

Pour la visualisation des particules, la librairie VTK a été utilisée. Elle permet de géné- rer des triangulations de surface et leur lissage, ce qui permet d'éliminer l'eet d'escalier, caractéristique des images voxelisées. Des exemples des particules de la bibliothèque sont montrés en gure III.4.

III.4.2 Séparation des agrégats

On constate que certaines particules sont, par endroit, en contact, ou du moins assez proches pour que l'algorithme de binarisation les considère comme une particule unique.

Figure III.4  Exemples de particules de la bibliothèque 3D. La librairie VTK a été utilisée pour la visualisation en 3D. La surface a été lissée, pour éliminer l'eet à  escalier  des images voxelisées. L'échelle est donnée par les axes, dont les èches ont une norme de 15 µm.

C'est ce que l'on appelle un agrégat. Pour résoudre ce problème, un algorithme a été mis en place an de séparer les agrégats. Trente d'entre eux ont été préalablement sélectionnés et, sur cet ensemble réduit, l'algorithme a pu être mis au point et validé. Des exemples d'agrégats sont présentés en gure III.5.

Figure III.5  Exemples d'agrégats avant séparation. La méthode de visualisation 3D et l'échelle sont identiques à celles de Fig. III.4.

Là où des particules sont très proches les unes des autres, il peut exister une certaine continuité de l'intensité de l'image en passant d'une particule à la voisine. Si l'intensité est susamment élevée dans cette partie, les c÷urs des particules, individualisés par seuillage (deuxième étape de l'algorithme de traitement, voir la section précédente), ne sont pas discernables. Ils constituent une seule composante connexe et, pour cette raison, sont considérées par l'algorithme de partage des eaux comme un agrégat, au lieu de plusieurs particules individuelles.

Pour séparer les agrégats, il a fallu intervenir sur le seuillage qui permet d'isoler les c÷urs des particules. La valeur du seuil appliqué ne doit pas être la même pour toutes

l'algorithme sont détaillées :

1. Un premier seuil est xé à la valeur maximale S0, observée dans imG.

2. imG est seuillée à S0 et on mesure son volume V1.

3. Si V1/V0 < 0,24, la valeur du seuil est baissée de 1. Dans le cas contraire, on passe

à l'étape 5.

4. imG est seuillée à la nouvelle valeur et son volume V1 est mesuré. On retourne à

l'étape 3.

5. L'image seuillée produite à l'étape précédente est utilisée comme marqueur pour un nouveau partage des eaux sur l'image gradient de imG.

Cette procédure s'est démontrée ecace pour l'ensemble choisi de 30 agrégats. L'algo- rithme de séparation a été en suite appliqué à toutes les images qui constituent la biblio- thèque précédemment construite. Sur la totalité des particules, elle a permis de séparer la majorité des agrégats mais pas la totalité. En eet, l'examen visuel de la bibliothèque révèle la présence de quelques agrégat ayant échappé au processus.