Plusieurs algorithmes relatifs aux grains sont implémentés dans Gwyddion. On peut tout d'abord utiliser des algorithmes de seuillage (par hauteur, pente ou courbure). Ceux-ci sont très efficaces pour l'analyse de particules (pour marquer les particules présentes sur une surface plane).
→ → .
Le seuillage est la méthode la plus basique pour marquer des grains. Les seuillage par hauteur, pente et courbure sont implémentés dans ce module. Les résultats de chacune de ces méthodes de seuillage peuvent être fusionnés à l'aide de plusieurs opérateurs.
→ → . La méthode de seuillage automatique d'Otsu sépare les valeurs en deux classes, en minimisant l'écart de variance propre à chaque classe. Elle est particulièrement adaptée aux images contenant deux niveaux de valeurs relativement bien définis..
→ → ,
Cette autre fonction de marquage des grains est basée sur la détection de bord (courbure locale). L'image est traitée à l'aide d'un filtre de différence de gaussiennes d'une taille donnée, puis le seuillage est effectué sur l'image filtrée plutôt que sur l'originale.
→ → .
Les grains en contact avec les bords de l'image peuvent être éliminés à l'aide de cette fonction. Ceci peut s'avérer utile si de tels grains sont considérés comme incomplets et doivent être exclus de l'analyse. Plusieurs autres fonctions de l'outil d'édition de masque peuvent être utiles pour modifier la forme des grains après le marquage.
→ →
Dans le cas de structures plus complexes, les algorithmes de seuillage vus précédemment peuvent être inefficaces. Dans ce cas l'algorithme de segmentation par ligne des partage des eaux peut être utilisé de manière beaucoup plus efficace pour le marquage de grains ou de particules.
L'algorithme de segmentation est généralement utilisé pour la détection de minima locaux et pour la segmentation d'image en traitement d'image. Comme le problème de la détermination de la position des grains peut être considéré comme un problème de détection d'extrema locaux, cet algorithme peut être utilisé pour des besoins de segmentation ou de marquage de grains. Par souci de simplicité nous traiterons des données inversées selon la direction z pour la description de l'algorithme (c'est-à-dire que le sommet des grains sont des des minima locaux dans le texte qui suit). Deux niveaux de traitement sont appliqués pour l'analyse de grain (voir [1]) :
On peut ainsi identifier la position des grains et déterminer ensuite le volume occupé par chaque grain. On peut utiliser le paramètre Inverser les hauteurs dans le cas où les zones d'intérêt sont des vallées plutôt que des collines (grains)
→ →
Cette fonction est une approche différente basée sur l'algorithme de ligne de marquage des eaux, ici l'algorithme classique de Vincent de segmentation dans les espaces numériques [2], que l'on applique à une image pré-traitée. En général, le résultat est une image complètement segmentée en motifs, chaque pixel appartenant à un motif ou séparant deux d'entre eux. L'algorithme marque par défaut les vallées. Pour marquer les grains en reliefs, ce qui est le plus courant en microscopie, utilisez l'option inverser les hauteurs.
Le pré-traitement propose les paramètres suivants :
Dispersion du filtre gaussien appliqué aux données. Une valeur nulle indique qu'aucun filtrage n'est appliqué.
Poids relatif du gradient local ajouté aux données. Une valeur importante signifie que les zones ayant une pente locale importante auront tendance à devenir des bords de grains.
Poids relatif de la courbure locale ajoutée aux données. Une valeur importante signifie que les zones localement concaves auront tendance à devenir des bords de grains.
Hauteur relative au-dessus de laquelle les pixels ne peuvent être assignés à des grains. Si elle diffère de 100 %, cela crée une exception à une segmentation complète de l'image.
Hauteur relative jusqu'à laquelle la surface est pré-remplie, supprimant tous les détails au fond des vallées.
Hauteur relative jusqu'à laquelle la surface est pré-remplie à partir de chaque minimum local, supprimant tous les détails au fond des vallées.
→ →
On peut utiliser la régression logistique pour transférer une segmentation d'une image vers une autre ayant des motifs similaires, ou de petits morceaux d'image vers une image complète. Deux modes d'opération sont disponibles : l'apprentissage et l'application. La phase d'apprentissage nécessite la présence d'un masque des grains sur l'image. Lorsque la régression est calculée, elle peut être utilisée pour d'autres images. Dans les deux cas, elle génère un vecteur de motifs de l'image courante, et y applique différents filtres, parmi lesquels :
Filtre gaussien de largeur 2, 4, 8, etc. Le nombre de gaussiennes peut être sélectionné à l'aide du sélecteur nombre de gaussiennes
Filtre de dérivation de Sobel pour les directions X et Y.
Laplacien, somme des dérivées secondes.
Trois éléments de la matrice hessienne des dérivées secondes, un pour chaque direction X et Y, et le troisième pour les coordonnées combinées.
Tous les filtres de dérivation, lorsqu'ils sont sélectionnés, sont appliqués à l'image originale ainsi qu'à chaque version filtrée par gaussienne, lorsqu'elles sont générées. Chaque couche de motifs est calculée par convolution puis normalisée.
Le paramètre de régularisation permet de régulariser la régression logistique, un valeur élevée signifie que les paramètres seront plus fortement contraints pour éviter des valeurs élevées.
Notez qu'il faut la présence d'un masque sur l'image pour l'apprentissage, dans le cas contraire le résultat sera nul. La phase d'apprentissage peut être très lente, en particulier pour les images de grande taille et lorsque de nombreux motifs sont sélectionnés. Les résultats de l'apprentissage sont sauvegardés, ils peuvent donc être appliqués à d'autres images. Si l'ensemble des motifs est modifié, il faudra à nouveau lancer l'apprentissage de la régression logistique.
Les propriétés des grains peuvent être analysées à l'aide de plusieurs fonctions. La plus simple d'entre elles est la Statistique des Grains
→ →
Cette fonction calcule le nombre de grains marqués, leur aire projetée, à la fois en valeur absolue et en fraction de l'aire totale du champ de données, le total des volumes des grains, la longueur totale des périmètres des grains, l'aire moyenne ainsi que la taille du carré équivalent des grains. La taille moyenne est calculée en moyennant la taille des carrés équivalents, donc le carré de cette moyenne n'est en général pas égal à l'aire moyenne.
Les caractéristiques globales de la zone marquée sont disponibles dans l'outil Statistiques en utilisant l'option Inclure uniquement la région masquée. On obtient les mêmes informations pour les zones non marquées en inversant le masque.
→ →
L'outil de calcul des distributions des grains est le plus puissant et le plus complexe. Il comporte deux modes d'opération : l'affichage de graphiques et l'export de données. Dans le mode affichage de graphiques, les caractéristiques sélectionnées sont calculées et rassemblées dans des graphes donnant leurs distributions.
L'export de données est utile pour les experts ayant besoin par exemple de corréler les propriétés des grains. Dans ce mode les caractéristiques sélectionnées sont calculées et compilées dans un fichier texte sous la forme d'un tableau où chaque ligne correspond à un grain et chaque colonne à une caractéristique. L'ordre des colonnes est identique à celui des quantités présentées dans la fenêtre de dialogue ; toutes les valeurs sont données en unités SI, comme partout dans Gwyddion.
→ →
Affiche un graphe de corrélation d'une caractéristique en fonction d'une autre, permettant ainsi de visualiser les corrélations entre celles-ci.
L'outil de mesure des grains est une manière interactive de déterminer les mêmes caractéristiques que celles données par distribution des grains en mode texte. Il suffit de cliquer sur un grain dans la fenêtre de données pour que toutes les quantités soient affichées dans la fenêtre de l'outil.
Cet outil affiche aussi le numéro du grain. Le numéro du grain correspond au numéro de ligne (en partant de 1) des fichiers exportés par le calcul des distributions des grains.
Les distribution des grains et l'outil de mesure des grains peuvent alculer les caractéristiques suivantes :
Le périmètre des grains est estimé en sommant des contributions estimées de chacune des configurations à quatre pixels sur le bord du grain. Les contributions sont affichées sur la figure suivante pour chaque configuration, où hx et hy sont les dimensions du pixel selon les axes correspondants, et h est la longueur de la diagonale du pixel :
Les contributions correspondent une à une aux longueurs des segments du bord du polygone approximant la forme du grain. La construction du polygone équivalent est aussi visible sur la figure.
Le volume est, après soustraction de la base, estimée comme étant le volume de l'objet dont la surface supérieure est celle utilisée pour le calcul de surface. Notez que pour le volume entre les vertex, ceci est équivalent à la méthode classique des trapèzes pour l'intégration en deux dimensions. Cependant, nous calculons le volume sous un masque centré sur les vertex, leur contribution à l'intégrale est donc distribuée de manière différente, tel que montré dans la figure suivante.
Les caractéristiques liées à la courbure des grains sont calculées de manière identique à la courbure globale donnée par la fonction courbure. Référez-vous à sa description pour plus de détails.
Les disques inscrits et les cercles circonscrits aux grains peuvent être visualisés en utilisant gestionnaire de sélections.
→ → et → → . Ces fonctions créent des sélections circulaires représentant les disques et cercles correspondants pour chaque grain, celles-ci pouvant être affichées par la suite avec leLes grains marqués peuvent être filtrés par seuillage sur différentes quantités à l'aide de la fonction
→ → . Ce module peut être utilisé pour des opérations basiques, telle que la suppression de petits grains à l'aide d'un seuillage basé sur l'aire, ou des filtrages bien plus complexes à l'aide d'expressions logiques impliquant différentes quantités.
Le filtre conserve les grains satisfaisant les conditions définies dans
Conserver les grains satisfaisant et supprime tous
les autres. La condition est exprimée par l'association logique de une à
trois conditions, notées A
, B
et
C
. L'expression la plus simple est juste
A
, qui impose que la quantité A
soit entre les seuils définis.
Chaque condition consiste en deux seuils haut et bas pour une quantité donnée, par exemple l'aire ou la valeur minimale. Les valeurs doivent appartenir à l'intervalle [bas,haut] pour satisfaire la condition et conserver ainsi les grains. Notez qu'il est possible de choisir un seuil bas plus élevé que le seuil haut. Dans ce cas la condition est inversée, c'est-à-dire que le grain est conservé si la valeur est en dehors de l'intervalle [haut,bas].
Les quantités sont assignées à A
,
B
et C
en sélectionnant la quantité
dans la liste puis en cliquant sur le bouton correspondant dans
Assigner à. L'ensemble des quantités sélectionnées
est affiché dans les en-têtes
Condition A,
Condition B et
Condition C.
Les grains peuvent être alignés verticalement en utilisant
→ → . Cette fonction décale verticalement chaque grain de façon à ce qu'une caractéristique liée à la hauteur soit égale pour tous les grains. En général, on aligne la valeur minimale des grains, mais d'autres choix sont possibles.Les données entre les grains sont aussi décalées verticalement. Les décalages sont interpolés par rapport aus décalages des grains à l'aide de l'équation de Laplace, ce qui donne une transition douce des décalages entre les grains (toutefois on ne considère pas les autres éléments présents sur la surface).
[1] Petr Klapetek, Ivan Ohlídal, Daniel Franta, Alberto Montaigne-Ramil, Alberta Bonanni, David Stifter and Helmut Sitter: Acta Physica Slovaca, 3 (223-230) 2003
[2] Luc Vincent and Pierre Soille: IEEE Transactions on Pattern Analysis and Machine Intelligence, 13 (583–598) 1991