Microtomographie aux rayons X

Microtomographie aux rayons X

Cette partie est consacrée aux résultats obtenus à partir des analyses d’images de microtomographie aux rayons X réalisées par Mouazen lors de sa thèse [5]. Ces images constituent une précieuse source d’information pour connaître la distribution des bulles dans l’enrobé, ainsi que pour comprendre leur comportement. Cependant, il n’est pas aisé d’extraire toutes ces informations. Nous avons mené ces analyses d’images à l’aide du langage Python, et notamment avec le module Morph-M qui est développé par le Centre de Morphologie Mathématique de l’Ecole des Mines de Paris. C’est un outil parfaitement adapté à l’analyse des images 3D.

Principe

La tomographie est une méthode de caractérisation non destructive basée sur la détection de la densité du nuage électronique des atomes [10]. Un faisceau de rayons X est envoyé sur l’échantillon et des détecteurs reçoivent les rayons qui ont traversé la matière. Selon la densité électronique des atomes rencontrés, les rayons sont plus ou moins déviés, c’est ce qui permet de caractériser la nature chimique de la matière traversée. Il est très bien adapté à notre cas car le gaz que l’on veut détecter est du dihydrogène de densité électronique très faible en comparaison avec celle du bitume qui est une chaîne carbonée. On obtient ainsi de très bons contrastes entre le gaz et la matrice bitume.

Les images ont été obtenues par Mouazen [5] grâce à un tomographe Phoenix Nanotom M, de GE Inspection Technologies, avec un faisceau de rayons X de 150 kV. Pour cet appareil et la dimension des échantillons caractérisés (béchers de diamètre 8 cm et de hauteur 15 cm), la résolution des images obtenues est de 120 µm par pixel. La tomographie permet d’obtenir une succession de sections de l’objet d’étude : on a des vues en coupe régulièrement espacées de l’échantillon. Dans notre cas, si on les empile toutes les unes à la suite des autres, on recrée une image numérique virtuelle en 3D du bécher contenant l’enrobé bitumineux irradié. C’est à partir de cette image en volume que nous allons pouvoir obtenir des informations sur la population de bulles dans le matériau.

Au cours de sa thèse, Mouazen a fait une analyse de ces images dans l’objectif d’évaluer l’effet de la dose totale d’irradiation, d’une part sur le gonflement, et d’autre part sur la distribution et la quantité de bulles créées. Cependant, par manque de temps, il a dû simplifier son approche et s’est focalisé sur une seule image par échantillon : celle représentant la coupe verticale passant par l’axe du bécher. Cette image est celle qui représente le mieux l’échantillon entier. Il a ainsi obtenu des tendances concernant l’influence du débit de dose (2 cas ont été étudiés : 400 Gy/h et 5000 Gy/h) et la dose totale reçue pour un débit de dose de 5000 Gy/h (1 MGy et 4 MGy). Il a ainsi déterminé qu’à dose équivalente, un débit de dose plus fort conduit à un nombre de bulles plus faible mais de taille plus importante [5]. Il a visuellement constaté que, pour un fort débit de dose, les bulles sont de forme aléatoire tandis qu’à faible débit de dose, elles semblent être sphériques et de tailles relativement homogènes. Concernant la dose reçue et pour un débit de dose de 5000 Gy/h, il a constaté que les bulles étaient plus grosses et plus nombreuses dans l’échantillon irradié à 4 MGy que dans l’échantillon n’ayant reçu que 1 MGy. L’objet de cette partie est d’améliorer la précision de ces résultats en menant une analyse d’images en 3D. Ceci nous permettra d’éviter certains biais induits par une analyse 2D pour des grandeurs volumiques (volumes des bulles). En effet, à partir d’une seule coupe de l’échantillon, les bulles peuvent en réalité être plus grosses que ce que l’on observe si le plan de la coupe ne passe pas par leur centre. Nous allons donc reconstituer l’échantillon en volume en empilant les différentes coupes obtenues par tomographie, puis mener une analyse volumique. Pour cela, plusieurs étapes de traitement d’images sont nécessaires.

Nous allons dans un premier temps exposer les différentes étapes du traitement, puis nous présenterons ensuite les résultats obtenus. Contrairement à l’étude qu’avait menée Mouazen, nous ne nous intéresserons ici qu’à l’influence du débit de dose (comparaison entre 400 Gy/h et 5000 Gy/h) sur la population de bulles. Cette tendance nous permettra d’émettre des hypothèses sur la population de bulles dans le cas d’une irradiation réelle (inférieure ou égale à 1 Gy/h). Les échantillons qu’il a analysés pour étudier l’influence de la dose totale reçue ont été obtenus pour un débit de dose de 5000 Gy/h. En observant les images obtenues en terme de forme et de répartition géométrique de bulles, on constate à 5000 Gy/h un régime chaotique très différent du cas à 400 Gy/h . Pour cette raison, nous avons jugé que l’influence de la dose totale reçue pour un tel débit ne nous permettrait pas de tirer de conclusions pertinentes sur l’influence de la dose totale reçue dans le cas réel à 1 Gy/h.

Traitement de l’image

Les images de tomographie brutes sont des images 2D codées en couleur représentant une section du bécher. Pour arriver à extraire des données sur les bulles (leur nombre, leur taille et leur emplacement), il nous faut avoir une image 3D binaire filtrée. Voici les étapes successives du traitement :

Reconstruction de l’image 3D
Dans un souci de taille d’image, il faut tout d’abord convertir les images couleurs en images en niveaux de gris . Python gère très bien cela grâce au module PIL  . On reconstruit ensuite l’image 3D du bécher en empilant les images obtenues dans un fichier .vis. Il faut, dans un premier temps, déclarer l’image 3D à créer avec les dimensions voulues. Ensuite, on va la remplir section par section avec les images 2D en niveaux de gris, de la même manière qu’on rangerait des diapositives dans un projecteur.

Détermination de l’échelle
Pour obtenir des volumes de bulles en mm et non en voxels  , il nous faut déterminer l’échelle de notre image, c’est-à-dire le volume que représente un voxel. On connaît le diamètre extérieur du bécher par mesure. Pour retrouver l’échelle, on va créer une procédure pour détecter les bords extérieurs du bécher dans notre image 3D. On pourra ainsi calculer le diamètre extérieur de celui-ci en pixels et calculer la longueur réelle que représente un pixel. De plus, l’espacement entre deux sections acquises par tomographie est égal à la longueur représentée par un pixel d’une image 2D. Cela signifie que, dans notre image 3D, un voxel est un cube. Il nous est donc aisé de calculer le volume qu’il représente.

Nettoyage de l’image
Une fois le volume de l’échantillon recréé, il faut nettoyer l’image. On applique tout d’abord un filtre médian à l’image . Cela permet de gommer les petits défauts (parasites) qui pourraient par la suite être considérés à tort comme des bulles de gaz. On obtient une image lissée que l’on pourra par la suite binariser.

Pour pouvoir détecter les bulles de gaz, il va tout d’abord nous falloir déterminer le volume exact occupé par le matériau, c’est à dire enlever les parois du bécher ainsi que l’environnement autour de lui. On commence pour cela par déterminer la hauteur de bitume dans le pot en chaque endroit . Ensuite on détecte le contour intérieur du bécher. On a ainsi repéré le volume exact occupé par le matériau dans le bécher. On va mettre en blanc tout ce qui est en dehors de ce volume . L’image obtenue est donc blanche en tout endroit excepté dans le volume occupé par le matériau. Par la suite, nous allons binariser l’image (elle ne comportera que des pixels noirs et blancs), le gaz étant en noir tandis que le bitume sera en blanc. Ainsi, sur l’image finale, le gaz sera représenté en noir et tout le reste (bitume, bécher et extérieur du bécher) sera en blanc. Nous pourrons alors recenser les bulles de gaz.

Pour binariser (ou seuiller) l’image, on va parcourir chaque voxel et, selon si sa valeur est supérieure ou inférieure au seuil  choisi, il sera respectivement colorié en blanc ou en noir. Nous obtenons une image binaire en noir et blanc , le noir représentant le dihydrogène et le blanc tout ce qui n’est pas du dihydrogène .

Comptage des bulles
L’objectif de l’analyse des images de tomographie est d’obtenir la distribution de taille des bulles dans le matériau. Pour cela, j’ai repris un code développé par Hukic [11]  que j’ai adapté à mes images 3D et réécrit en langage Python.

Le principe général est de parcourir l’image entière voxel par voxel. On repère chaque voxel par ses 3 coordonnées x (axe horizontal de gauche à droite), y (axe vertical descendant) et z (axe suivant horizontal de l’avant vers l’arrière du bécher). On parcourt l’image selon x d’abord, puis selon y et enfin selon z (de la même manière que l’on lirait un livre, z étant le numéro de la page, y le numéro de la ligne et x la position d’une lettre sur la ligne). Après avoir été parcouru, chaque voxel est marqué de sorte qu’on ne s’en soucie plus.

Avant de parcourir l’image, on met en place des compteurs qui vont nous permettre de stocker le nombre de bulles détectées ainsi que leur taille (nombre de voxels qui la composent) et leur emplacement (coordonnées du premier voxel détecté appartenant à la bulle).

Lors du parcours de l’image, dès que l’on rencontre un voxel noir, on sait que l’on rentre dans une bulle. On incrémente alors le compteur du nombre de bulles. Puis on explore les 6 voxels voisins  pour voir s’ils appartiennent également à la bulle (donc si ils sont noirs). Pour chaque voxel voisin noir, nous incrémentons le compteur du nombre de voxels dans la bulle et nous répétons l’opération (exploration de ses voisins). Nous avons ainsi une ramification dans la détection des voxels appartenant à la bulle. Cette méthode permet de détecter la totalité du volume des bulles, mêmes lorsqu’elles ont des formes complexes (lorsqu’elles sont non « connexes » et non « simplement connexes », par exemple).

Notons que, lorsque nous arrivons sur un voxel blanc (donc n’appartenant pas à la bulle), nous n’explorons pas son voisinage (cette ramification meurt en quelque sorte), nous sommes sur la frontière de la bulle. Lorsque nous n’avons plus de ramification en vie (elles ont toutes fini par déboucher sur un pixel blanc), nous avons terminé d’explorer la bulle. On enregistre alors son numéro, le nombre de voxels qui la composent et les coordonnées du premier voxel lui appartenant que nous avons détecté. Après cela, nous continuons à parcourir l’image jusqu’à rencontrer une nouvelle bulle, et ce jusqu’à ce que toute l’image ait été parcourue. Notons que le marquage des voxels fait que, lorsque nous parcourons l’image et que nous arrivons sur un voxel noir appartenant à une bulle déjà détectée, on l’ignore.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction générale
1 Présentation du matériau et des phénomènes
1.1 Microtomographie aux rayons X
1.1.1 Principe
1.1.2 Traitement de l’image
1.1.3 Résultats
1.1.4 Conclusions
1.2 Observations par MEB
1.2.1 Dispositif
1.2.2 Enrobé contenant des monosels BaSO4 ou NaNO3
1.2.3 Enrobé contenant du bi-sel BaSO4-NaNO3
1.2.4 Enrobé industriel STE3
1.2.5 Relief de l’échantillon
1.2.6 Discussion
1.3 Paramètres matériaux et mécanismes mis en jeu
1.3.1 Piégeage de l’hydrogène par le sulfure de cobalt
1.3.2 Solubilité et coefficient de diffusion du dihydrogène dans l’enrobé
1.3.3 Radio-oxydation du bitume en surface
1.3.4 Recensement des phénomènes mis en jeu
2 Modélisation de la croissance des bulles
2.1 Hypothèses du modèle
2.2 Croissance d’une bulle isolée
2.2.1 Croissance hydrodynamique
2.2.2 Croissance diffusive
2.2.3 Adimensionnement du problème
2.2.4 Résolution de la croissance réelle d’une bulle isolée
2.2.5 Estimation du temps de vie d’une bulle dans le fût
2.3 Évolution d’une population de bulles
2.3.1 Mûrissement d’Ostwald
2.3.2 Modèle d’évolution d’une population
2.3.3 Problème adimensionné
2.4 Germination
2.4.1 Germination seuil
2.4.2 Germination continue
2.5 Étude analytique monodisperse
2.5.1 Grandeurs physiques considérées dans cette étude
2.5.2 Modèle analytique
2.5.3 Régime stationnaire
2.5.4 Cas particulier de la tranche inférieure du fût
2.6 Évacuation du gaz par diffusion
3 Implémentation du code de gonflement
3.1 Architecture du programme principal
3.2 Déclaration des variables – Adimensionnement
3.3 Intégration du terme source par Rabbi
3.4 Discrétisation du problème
3.5 Adaptation du maillage en R˜
3.6 Adaptation du maillage en z
3.7 Calcul du terme source et de la dose intégrée
3.8 Résolution des équations d’évolution
3.8.1 Croissance
3.8.2 Mise à jour de la sursaturation
3.8.3 Diffusion de gaz en hauteur
3.8.4 Germination
3.8.5 Migration
3.9 Adaptation du pas de temps
3.10 Évolution de la viscosité – Loi de vieillissement
3.11 Calcul du gonflement
3.12 Calcul de l’évacuation de gaz par migration des bulles
4 Prédictions du modèle
4.1 Évolution sans migration et sans germination
4.1.1 Influence de la taille initiale des bulles
4.1.2 Influence du débit de dose
4.1.3 Influence du coefficient de diffusion
4.2 Évolution d’une population avec migration
4.2.1 Introduction des résultats des simulations numériques
4.2.2 Analyse détaillée d’une simulation
4.2.3 Étude de sensibilité
4.2.4 Discussion sur la modélisation de la germination
4.2.5 Discussion sur le pic initial de gonflement et sur la physique
4.3 Comparaison avec les résultats expérimentaux
4.3.1 Échantillons irradiés industriellement à forts débits de dose
4.3.2 Simulation d’un fût réel
5 Cas particulier d’un fluide à seuil
5.1 Croissance d’une bulle isolée dans un fluide à seuil
5.1.1 Croissance hydrodynamique
5.1.2 Problème adimensionné
5.1.3 Croissance réelle d’une bulle dans un fluide à seuil
5.2 Évolution d’une population sans migration
5.2.1 Effet qualitatif du seuil sur une population
5.2.2 Quantification de l’impact du seuil sur une population
5.3 Évolution avec migration sans germination
5.3.1 Condition de migration
5.3.2 Comportement d’une population
5.3.3 Suivi du débit de gaz sortant et du gonflement
5.4 Conclusion du chapitre
Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *