Analyser et mesurer

L’analyse d’images vise à exploiter les données numériques contenues dans les images pour en extraire des informations sur les structures, les objets qu’elles contiennent. Ce processus peut se faire de manière “manuelle” bien qu’assistée par des logiciels tels que Fiji, mais l’objectif sera le plus souvent d’automatiser l’analyse afin de la rendre plus processive (traitement d’images en masse) et plus robuste, par l’application des même paramètres de traitement à chaque image.

Fiji permet de réaliser toutes ces approches, quelles soient manuelles via les outils interactifs de sélection et de mesure ou (semi-)automatiques via des algorithmes de segmentation, de seuillage, etc… mais aussi par la possibilité de créer des macros qui permettent d’enregistrer une succession d’étapes de traitement et d’analyse qui peuvent être appliquées à toute nouvelle image.

Case study: décompter et mesurer des particules

Nous allons aborder ces différents outils pour l’analyse d’une des images proposées comme échantillon par Fiji (Blobs.gif). Cette image illustre des particules plus ou moins circulaires qui se distinguent en noir sur un fond blanc. La qualité de l’image n’est pas très bonne, mais le contraste est suffisant pour distinguer nettement les objets de l’arrière plan.

En baladant la souris sur l’image, on constate que les valeurs des pixels de l’arrière plan ont des valeurs faibles (~40) alors que les blobs ont des pixels de valeurs élevées (~240). C’est apparemment le contraire de ce qui définit normalement l’échelle de gris des images 8-bits: le noir valant 0 et le blanc 255. Cela s’explique par l’utilisation par défaut sur cette image d’un LUT inversé. En inversant une nouvelle fois ce LUT (Invert LUT), on obtient la version “normale” de l’image. Rappelez-vous qu’en effectuant cette opération, nous ne modifions en rien la valeur des pixels de l’image mais juste la façon dont ils sont représentés.

L’image Blobs.gif avec le LUT inversé (à gauche) ou normal (à
droite). L’image Blobs.gif avec le LUT inversé (à gauche) ou normal (à
droite).

L’image Blobs.gif avec le LUT inversé (à gauche) ou normal (à droite).

Les outils pour une analyse “manuelle”

Maîtriser les outils d’analyse “manuelle” d’ImageJ est essentiel. En effet, pour construire un pipe-line d’analyse robuste, voire automatisé, il est nécessaire de bien comprendre la nature des images et des données sous-jacentes qui les composent. C’est ce que permettent les différents outils de sélection et de mesure offerts par ImageJ.

Donnons-nous comme objectif de quantifier ces particules et de mesurer leur surface.

Il est bien sûr possible d’utiliser les différents outils pour tracer des formes manuellement (rectangle, cercle, polygone, forme libre, ligne ou poly-ligne) ou de manière assistée (baguette “magique” ou Wand tool) afin de détourer les particules, de créer des ROI (“Region Of Interest”, via le ROI Manager), puis de les mesurer (Measure) (Figure 2). La sélection des différents paramètres à mesurer s’effectue via le menu Set Measurements....

Mesure manuelle de 2 objets à l&rsquo;aide de l&rsquo;outil <code>Segmented Line</code> en
mode <em>spline fit</em>. Le ROI manager est utilisé pour sauvegarder les
tracés et en mesurer différents
paramètres. Mesure manuelle de 2 objets à l&rsquo;aide de l&rsquo;outil <code>Segmented Line</code> en
mode <em>spline fit</em>. Le ROI manager est utilisé pour sauvegarder les
tracés et en mesurer différents
paramètres.

Mesure manuelle de 2 objets à l’aide de l’outil Segmented Line en mode spline fit. Le ROI manager est utilisé pour sauvegarder les tracés et en mesurer différents paramètres.

Cette approche implique que chaque forme tracée ne respecte pas forcément les mêmes critères ou contraintes, notamment en ce qui concerne le choix de la limite entre l’objet et l’arrière plan. Même l’outil Wand qui permet de fixer une même tolérance pour chaque objet pourra conduire à des sélections très différentes selon le point de référence de la sélection (le pixel sur lequel on clique). Ainsi, l’erreur sur la mesure n’est pas nulle et varie d’objet en objet. Cette façon de faire ne permet pas non plus de décrire précisément la méthode utilisée et de la rendre reproductible.

Segmentation par seuillage (thresholding)

La segmentation d’image est un processus d’analyse d’images qui consiste à diviser une image en régions ou en objets distincts, de manière à isoler et à identifier des éléments spécifiques du reste de l’image ou de l’arrière-plan. Il existe de nombreuses méthodes de segmentation d’image, l’une des plus simple d’utilisation est la segmentation par seuillage. Elle consiste à diviser les pixels de l’image en deux groupes ou plus en fonction de leur intensité de couleur ou de leur niveau de gris. Un seuil est défini pour différencier les pixels de premier plan des pixels d’arrière-plan. C’est une méthode simple et rapide, mais elle montre vite ses limites lorsque les images sont complexes.

Pour vérifier s’il est possible de réaliser une segmentation par seuillage, il est utile d’analyser en détail le contenu de l’image. Les 2 outils qui permettent de faire cela sont l’histogramme (Histogram) et le graphique du profile d’intensité d’un tracé (Plot Profile) (Figure 3).

Analyse de l&rsquo;image avec les outils <code>Plot Profile</code> et
<code>Histogram</code> Analyse de l&rsquo;image avec les outils <code>Plot Profile</code> et
<code>Histogram</code>

Analyse de l’image avec les outils Plot Profile et Histogram

L’histogramme permet de distinguer 2 groupes de pixels: un premier dont les valeurs se regroupent aux alentours de ~50 et forment un pic assez important (l’arrière plan sombre) et un second plus diffus qui regroupent des pixels dont les valeurs s’échelonnent entre 190 et 230, principalement (les particules).

En traçant une ligne droite à travers plusieurs objets et en affichant le profil d’intensité de pixels sous ce tracé, on constate de manière très claire les 2 catégories de pixels qui définissent les particules et l’arrière plan. Ce graphique permet d’imaginer qu’une valeur seuil d’intensité de 100 devrait séparer de manière efficace ces 2 éléments. On peut le vérifier en utilisant l’outil Threshold et en fixant le seuil minimal à 100 et le seuil maximal à 255. Comme l’illustre la figure 4, les particules se colorent en rouge de manière uniforme.

Seuillage de l&rsquo;image. Le profile est utilisé pour déterminer la valeur
seuil qui permet de séparer les objets de l&rsquo;arrière
plan. Seuillage de l&rsquo;image. Le profile est utilisé pour déterminer la valeur
seuil qui permet de séparer les objets de l&rsquo;arrière
plan.

Seuillage de l’image. Le profile est utilisé pour déterminer la valeur seuil qui permet de séparer les objets de l’arrière plan.

En appliquant le seuillage (Apply dans la fenêtre Threshold), il se crée une image binaire, segmentée, qui ne contient plus que des pixels de valeur 0 pour l’arrière plan et de valeur 255 pour les objets (Figure 5).

Image binaire segmentée obtenue après seuillage. Le profile et
l&rsquo;histogramme montrent clairement qu&rsquo;il n&rsquo;existent plus que des pixels
de 2 valeurs: 0 et 255. Image binaire segmentée obtenue après seuillage. Le profile et
l&rsquo;histogramme montrent clairement qu&rsquo;il n&rsquo;existent plus que des pixels
de 2 valeurs: 0 et 255.

Image binaire segmentée obtenue après seuillage. Le profile et l’histogramme montrent clairement qu’il n’existent plus que des pixels de 2 valeurs: 0 et 255.

Une fois cette segmentation réalisée, il est possible de tracer automatiquement tous les objets en utilisant l’outil Analyse Particles. En plus de la détection automatique des objets segmentés (valeur 255), cet outil dispose de plusieurs autres filtres qui permettent de contraindre la sélection des objets à leur taille et/ou leur circularité et d’éviter de sélectionner les objets sur les bords de l’image (objets partiels) (Figure 6).

L&rsquo;outil <code>Analyse particles</code> appliqué à une image binaire segmentée. Un
ROI est créé pour chaque objet défini par un groupe de pixels contigus
de valeur 255 et respectant une certaine taille et circularité. Les ROI
sont ajoutés au ROI Manager et, si on le souhaite, les mesures ainsi
qu&rsquo;une synthèse des mesures peuvent être
réalisées. L&rsquo;outil <code>Analyse particles</code> appliqué à une image binaire segmentée. Un
ROI est créé pour chaque objet défini par un groupe de pixels contigus
de valeur 255 et respectant une certaine taille et circularité. Les ROI
sont ajoutés au ROI Manager et, si on le souhaite, les mesures ainsi
qu&rsquo;une synthèse des mesures peuvent être
réalisées.

L’outil Analyse particles appliqué à une image binaire segmentée. Un ROI est créé pour chaque objet défini par un groupe de pixels contigus de valeur 255 et respectant une certaine taille et circularité. Les ROI sont ajoutés au ROI Manager et, si on le souhaite, les mesures ainsi qu’une synthèse des mesures peuvent être réalisées.