→ →
Le module d'arithmétique permet de réaliser des opérations arbitraires sur un seul champ de données ou sur les points correspondant à plusieurs champs (jusqu'à huit pour l'instant). Et bien que ce ne soit pas le but premier, il peut aussi être utilisé comme une calculatrice avec évaluation immédiate lors de l'entrée d'une expression numérique simple. La syntaxe est décrite dans la section Expressions.
L'expression peut contenir les variables suivantes, celles-ci représentant les valeurs des champs de données d'entrée :
Variable | Description |
---|---|
d1 , …, d8 |
Valeur du pixel. La valeur est en donnée en unités
physiques de base, par exemple pour une hauteur de 233
nm la valeur de d1 sera de 2.33e-7.
|
m1 , …, m8 | Valeur de masque du pixel. La valeur de masque est soit 0 (pour les pixels non masqués) soit 1 (pour les pixels masqués). Les variables de masque peuvent aussi être utilisées si aucun masque n'est présent ; la valeur est alors 0 pour tous les pixels. |
bx1 , …, bx8 | Dérivée horizontale du pixel. Là encore la valeur est donnée en unités physiques. La dérivée est calculée symétriquement autour du pixel, excepté pour les pixels de bord d'images pour lesquels la dérivée n'est calculée que d'un côté du pixel. |
by1 , …, by8 | Dérivée verticale du pixel, définie de manière identique à la dérivée horizontale. |
x | Coordonnée horizontale du pixel (en unités réelles). Elle est la même pour tous les champs pour des raisons de compatibilité (voir plus bas). |
y | Coordonnée verticale du pixel (en unités réelles). Elle est la même pour tous les champs pour des raisons de compatibilité (voir plus bas). |
De plus, la constante π est
utilisable et peut être invoquée avec
π ou pi
.
Tous les champs de données apparaissant dans l'expression doivent être compatibles. Cela signifie que leurs dimensions (des pixels et physiques) doivent être identiques. Les autres champs de données, c'est-à-dire ceux n'entrant pas dans l'expression, sont sans effet. Le résultat est toujours donné dans un nouveau champ de données du fichier courant (qui peut être différent des fichiers de tous les opérandes).
Comme l'évaluation ne peut inférer automatiquement les unités physiques du résultat, les unités doivent être spécifiées explicitement. Ceci peut être fait de deux manières : soit en sélectionnant un champ de données ayant les mêmes unités que celles attendues pour le résultat, ou en choisissant l'option Spécifier les unités et en tapant les unités.
La table qui suit liste plusieurs exemples d'expressions simples :
Expression | Signification |
---|---|
-d1 | Inversion de valeur. Le résultat est très similaire à la fonction Inverser les Valeurs, à la différence que cette dernière inverse les valeurs autour de la moyenne, alors qu'ici on change simplement le signe des valeurs. |
(d1 - d2)^2 | Différence au carré de deux champs. |
d1 + m1*1e-8 | Modification des valeurs sous le masque. Ici la valeur 10-8 est ajoutée à tous les pixels masqués. |
d1*m3 + d2*(1-m3) | Combinaison de deux champs de données. Les pixels sont pris des champs 1 ou 2, en fonction du masque du champ 3. |
En mode calculatrice l'expression est immédiatement évaluée lors de la frappe et le résultat est affiché sous l'entrée de l'expression. Aucune action n'est néecssaire pour passer des expressions avec champs de données à la calculatrice : les expressions ne contenant que des quantités numériques sont immédiatement évaluées, les expressions faisant appel à des champs de données sont utilisées pour calculer un nouveau champ. La prévisualisation affichant le résultat d'une opération contenant des champs de données n'est pas immédiatement mise à jour pendant la frappe ; vous pouvez la mettre à jour en cliquant sur le bouton Entrée dans la ligne d'entrée de l'expression.
ou en pressant simplement la touche→ →
L'incrustation permet d'insérer l'image d'un détail en haute résolution dans une plus grande image. L'image sur laquelle est lancée cette fonction forme l'image de base, de grande taille.
Le détail peut être positionné manuellement par-dessus l'image de base en utilisant la souris. Le bouton
peut être utilisé pour trouver les coordonnées exactes dans le voisinage de la position actuelle donnant la corrélation maximale entre le détail et l'image de base. La meilleure position peut aussi être recherchée sur la totalité de l'image de base à l'aide du bouton .Notez que la recherche de corrélation est insensible aux échelles et aux décalages, ainsi l'ajustement automatique étant seulement basé sur les motifs des données, les hauteurs absolues ne jouent aucun rôle.
Le Résultat de l'échantillonnage contrôle la taille et la résolution de l'image finale :
La Mise à niveau du détail permet de modifier les valeurs z du détail :
→ →
Les images faisant partie d'une image plus grande peuvent être fusionnées à l'aide de cette fonction. L'image sur laquelle on la lance forme l'image de base, l'image sélectionnée par Fusionner avec représente le second opérande. Le côté de l'image de base sur lequel sera attaché la seconde image est contrôllé par la sélection Placer le second opérande.
Si les images sont parfaitement juxtaposables, celles-ci peuvent être directement placées côte à côte sans ajustement. Ce cas peut être géré en sélectionnant Aucun adns le contrôle de l'alignement Aligner le second opérande.
Toutefois, un ajustement est souvent nécessaire. Si les images sont de même taille et alignées perpendiculairement à la direction de fusion alors le seul degré de liberté consiste en une superposition. La méthode d'alignement Joindre peut être utilisée dans ce cas. Contrairement à la recherche de corrélation décrite plus bas, les valeurs absolues des données sont mises en correspondance. Ce qui fait que cette option est adaptée pour fusionner des images ayant de très faibles variations, à conditions que leurs hauteurs absolues soient correctement définies.
L'option Corrélation réalise un alignement automatique basée sur une recherche de la meilleure corrélation. La recherche est réalisée à la fois selon la direction parallèle au côté d'alignement et selon la direction perpendiculaire. Si un décalage est présent le long de la direction parallèle, l'image résultante est agrandie de manière à contenir totalement les deux images (les données non définies étant remplie par une valeur d'arrière-plan).
L'option Traitement des bords n'est utile que dans le cas d'images désalignées. Elle contrôle le traitement des zones de recouvrement des images sources :
→ →
Deux images légèrement différentes d'une même zone (par exemple avant et après traitement) peuvent être rognées pour ne garder que les zones d'intersection (ou dit autrement, les zones de non-intersection sont supprimées) à l'aide de ce module.
La zone d'intersection est déterminée par corrélation de l'image la plus grande par rapport au centre de la plus petite image. Les résolutions des deux images (nombre de pixels par unité de longueur) doivent être identiques.
Ici le seul paramètre est Sélectionner le second opérande - la corrélation entre celui-ci et l'image courante sera calculée et les deux champs de données seront rognés pour supprimer les parties proches des bords sans intersection.
→ →
Ce module détermine les corrélations locales des détails de deux images différentes. La sortie idéale renvoie le décalage de chaque pixel de la première image tel qu'il apparaît dans la seconde. Ceci peut être utilisé pour déterminer les variations locales de la surface après l'avoir acquise deux fois (les décalages peuvent par exemple provenir d'une déformation de l'échantillon ou d'un dysfonctionnement de l'appareil de mesure).
Pour chaque pixel du premier opérande (l'image courante), le module prend son voisinage et cherche la meilleure corrélation du seconde opérande dans la zone définie. La position du maximum de corrélation est utilisée pour déterminer la valeur du décalage des pixels du premier opérande.
→ →
Ce module recherche la corrélation d'un motif dans l'image courante. La position du motif est alors marquée par un masque dans la fenêtre de données.
Le traitement par réseau neuronal peut être utilisé pour calculer un type de données à partir d'un autre, même si la relation entre les deux n'est pas connue de manière explicite. La relation est construite implicitement dans le réseau au travers d'un processus appelé entraînement, qui utilise des données d'entrée et de sortie connues, généralement dénommées modèle et signal. Dans ce processus, le réseau est optimisé de manière à reproduire le plus fidèlement possible le signal à partir du modèle. Un réseau ainsi préparé peut ensuite être utilisé pour traiter les données modèle pour lesquelles le signal n'est pas disponible, et obtenir – de manière approximative – l'allure du signal. Une autre application possible est l'approximation de méthodes de traitement parfaitement définies mais gourmandes en temps de calcul. Dans ce cas le signal est la sortie de la méthode exacte et le réseau neuronal est préparé de manière à la reproduire.
L'apprentissage et l'application étant deux étapes séparées, celles-ci sont disponibles sous deux fonctions différentes dans Gwyddion.
→ →
Les fonctions principales permettant de contrôler le processus d'apprentissage sont présentes dans l'onglet Apprentissage :
Les paramètres du réseau de neurones peuvent être modifiés dans l'onglet Paramètres. Le fait de changer la taille de fenêtre ou le nombre de nœuds ré-initialise le réseau (de la même manièr que le bouton ).
Un réseau neuronal peut être sauvé après l'apprentissage, ou rechargé pour subir un nouvel apprentissage sur des données différentes, etc. La liste des réseaux est semblable aux pré-réglages d'import de fichiers bruts.
En plus des réseaux de la liste, un réseau supplémentaire sans nom est disponible ainsi que le réseau en cours d'apprentissage. Lors du chargement d'un réseau, celui en cours d'apprentissage devient une copie du réseau chargé. Un nouvel apprentissage ne modifie pas les réseaux nommés ; pour sauvegarder un réseau après apprentissage (sous un nom existant ou nouveau) vous devez utiliser le bouton
.→ →
L'application d'un réseau neuronal est simple : il suffit d'en choisir un dans la liste et presser « Apprentissage en cours ».
. Le réseau sans nom en cours d'apprentissage est aussi présent dans la liste sous le nomComme les réseaux de neurones traitent et produisent des données normalisées, ceux-ci ne préservent pas correctement les proportions, en particulier si l'échelle du modèle d'entraînement diffère sensiblement de celle des données réelles. Si la sortie est censée être à l'échelle par rapport à l'entrée, vous pouvez activer l'option Mettre à l'échelle proportionnellement à l'entrée qui met la sortie à l'échelle en considérant le rapport inverse entre la plage de donnée actuelle et celle de l'apprentissage.