#1 Analyse de particules

Comment analyser les images ?

Dans le domaine de l’analyse d’images, un problème récurrent est celui de la détermination des caractéristiques morphologiques individuelles de particules dans un ensemble plus vaste.

Les domaines d’application sont très variés. On citera par exemple en biologie les fréquences de particules d’ADN anormales dans une série d’images obtenues par microscopie optique. Autre exemple, les calculs de diamètres de particules en suspension dans les huiles dans l’extraction du pétrole, ou encore les répartitions de tailles de grains de composés étudiés dans la métallurgie.

Le but est souvent de permettre l’automatisation des calculs sur des séries d’images, particulièrement quand les particules à étudier sont nombreuses.

Quel contexte pour l'analyse de particules ?

L’idée centrale de l’analyse individuelle de particules est de calculer de façon simultanée, ou en tout cas d’effectuer en un nombre minimal et maitrisé de balayages sur chaque image, une batterie de mesures individualisées par particule.

Après détermination, des caractéristiques telles que la taille, la morphologie et la composition des particules sont analysées afin de les classer, les filtrer et finalement en extraire l’information recherchée.

Quel sont les grands principes ?

  • Individualisation des particules

La première étape est de traiter l’image afin d’obtenir une image binaire (souvent de façon automatisée) puis d’individualiser les objets obtenus après binarisation, ce qui revient à les compter.

 

  • Calcul des mesures individuelles

Une première phase de calcul des mesures des particules s’effectue en un minimum de balayages sur chaque image. Il s’agit de mesures primaires (par exemple, l’aire et le périmètre bruts de chaque particule).

Dans une deuxième phase, les mesures composées, c’est-à-dire combinant plusieurs mesures primaires, sont déduites particule par particule.

Ces deux phases sont naturellement essentielles dans l’analyse de particules.

 

  • Filtrage des particules

A partir des mesures calculées, il est possible alors de filtrer les particules en suivant des règles déterminées par les utilisateurs. Les règles les plus simples sont de respecter des seuils de variation pour une ou plusieurs mesures choisies. Elles servent ainsi à éliminer les particules anomales dans la population étudiée.

Comment présenter les fonctionnalités et les principes de conception ?

La fréquence et les similitudes dans la résolution de ce type de problème nous ont amenés à fourbir une boîte à outils de transformations d’images relativement classiques, dont la première qui est la numérotation de la population de particules que l’on veut étudier.  La partie centrale de la boîte à outils est l’implémentation du calcul des mesures prises, ainsi que la façon de les archiver dans une base de données. Il s’agit de pouvoir retrouver aisément toutes les mesures qui ont été prises et calculées pour chaque particule, tout en autorisant inversement, pour chaque mesure calculée, d’en obtenir l’histogramme pour toutes les particules.

 

Un cas qui revient souvent est celui du classement de la taille des grains dans des matériaux. Le calcul d’une mesure particulière (typiquement la surface) est choisi sur ce qui est visible dans l’image. Le calcul est itéré sur toutes les particules individualisées, représentant par exemple des graviers, et est suivi d’un filtrage par taille. L’équivalent est une opération de tamisage numérique pour obtenir une répartition granulométrique.

Pour réaliser ce genre d’opérations, nous avons mis au point une bibliothèque de traitement dans laquelle on calcule toutes les mesures qui sont sélectionnées. Ce module, nommé Escalus, opère les calculs et gère les résultats de mesure en permettant de les ranger soit pour une particule donnée, soit pour une mesure donnée et cela de façon simultanée.

 

Pour implémenter la manipulation des images nous utilisons une deuxième bibliothèque maison, soit Noema, qui permet de gérer les données images (pour y accéder et y écrire) et dans laquelle on a également la notion de transformation qui permet de traiter un ensemble d’images en parallèle. Nous pouvons ainsi obtenir l’image binaire avec une mécanique de parallélisation des traitements en pipeline. Ce module favorise de façon générale la parallélisation du traitement dès qu’on affine une image à l’entrée du pipeline (ou plusieurs images en fonction du nombre de tuyaux), la capacité du système dépendant bien sûr du nombre de machines disponibles. De fait, les traitements sont effectués en cadence comme sur une chaîne de production. Ce système permet d’exploiter les capacités parallèles des processeurs.