Ressources

Plusieurs éléments de données, par exemple les échelles de fausses couleurs ou les pré-réglages d'import de données brutes, sont enregistrées dans divers fichiers apellés fichiers de ressources. Gwyddion recherche ces fichiers dans deux dossiers différents : un système et un utilisateur.

Les ressources système sont installées en même temps que le programme lui-même et ne sont pas modifiables. Ces fichiers sont typiquement placés dans un dossier nommé /usr/share/gwyddion (Unix), Program Files\Gwyddion (MS Windows) ou un autre répertoire déterminé par la variable GWYDDION_DATADIR.

Les ressources utilisateur sont placées dans un répertoire utilisateur, en général ~/.gwyddion (Unix) ou Documents and Settings\gwyddion (MS Windows).

Tous les fichiers de ressources sont de simples fichiers texte pouvant être facilement examinés et modifiés par des éditeurs de texte, ou être aussi envoyés à d'autres utilisateurs (si ceux-ci sont copiés ou créés manuellement, Gwyddion devra être relancé pour les charger). Dans la plupart des cas, seuls les caractères ASCII peuvent apparaître dans ces fichiers. Si des caractères internationaux peuvent y apparaître, ceux-ci doivent être encodés au format UTF-8. Les valeurs numériques sont données au format POSIX, c'est-à-dire avec un point pour la décimale, indépendamment du caractère utilisé pour la décimale dans la langue de l'utilisateur.

Les ressources sont organisées en sous-dossiers en fonction de leur type, par exemple les gradients de couleurs seront présents dans le dossier gradients. Le nom du fichier détermine le nom de la ressource – le gradient Gray sera dans le fichier gradients/Gray. Les modules peuvent définir leur propres types de ressources ; les types décrits plus bas font partie des plus importants, mais la liste n'est pas exhaustive.

Chaque fichier de ressource possède la même structure. Il commence par une ligne identifiant le type de ressource :

Gwyddion resource GwyGradient

GwyGradient est le nom du type dans le système de type (ceci est un détail de bas niveau), suivi par les paramètres nommés sous la forme

nom valeur

et les données de ressource. Certains types de ressources peuvent ne contenir que des paramètres, et d'autres uniquement des données.

Gradients

Les gradients, c'est-à-dire les échelles de fausses couleurs, se trouvent dans le répertoire gradients, ils sont identifiés par GwyGradient et ne contiennent que des données. Ils peuvent être édités dans l'application en utilisant l'éditeur de gradients.

Les données du gradient consistent en des lignes correspondant à des points du gradients :

position rouge vert bleu alpha

La position détermine où la couleur définie par les composantes rouge, vert, bleu et alpha est placée dans l'intervale [0, 1] où 0 correspond au début du gradient, et 1 à la fin . La couleur est interpolée linéairement entre les points spécifiés.

Les positions doivent former une séquence allant de 0 à 1 (i.e le nombre minimum de points est de deux). La plage des composantes de couleur est aussi [0, 1]. Notez que la valeur alpha, correspondant à la transparence, n'est pas utilisée et qu'elle doit être réglée à 1 (totalement opaque).

Par exemple, le gradient standard Red (rouge) allant du noir (0 0 0) au rouge (1 0 0) puis au blanc (1 1 1) est défini de la manière suivante :

Gwyddion resource GwyGradient
0.0 0 0 0 1
0.5 1 0 0 1
1.0 1 1 1 1

Matériaux OpenGL

Les matériaux OpenGL se trouvent dans le répertoire glmaterials, ils sont identifiés par GwyGLMaterial et ne contiennent que des données. Ils peuvent être édités dans l'application à l'aide de l'éditeur de matériaux OpenGL.

Les données du matériau consistent en quatre lignes RGBA, similaires aux gradients et correspondant aux quatre composantes du matériau OpenGL, dans l'ordre suivant :

  1. ambiante,
  2. diffuse,
  3. spéculaire,
  4. émission.

Voir la section Editeur de matériaux OpenGL pour plus d'explications sur les composantes. Celles-ci sont suivies par une ligne contenant la brillance, là encore un nombre dans l'intervalle [0, 1].

Notez que la composante émission, bien que lue et écrite par Gwyddion, n'est en fait pas utilisée pour les vues 3D. Il est recommandé de la régler à 0 0 0 1, c'est-à-dire noire.

Par exemple, le matériau standard Red-Rubber (gomme rouge) ayant une couleur ambiante rouge sombre, une réflection diffuse grise, une réflection spéculaire rouge et une faible brillance, sera définie de la manière suivante :

Gwyddion resource GwyGLMaterial
0.05 0.0  0.0  1.0
0.5  0.4  0.4  1.0
0.7  0.04 0.04 1.0
0.0  0.0  0.0  1.0
.078125

Valeurs de grains

Les valeurs des grains se trouvent dans le répertoire grainvalues, elles sont identifiées par GwyGrainValue et ne contiennent que des paramètres. Elles peuvent être utilisées pour définir des données de grain supplémentaires, qui apparaîtront dans le groupe Utilisateur des fonctions d'analyse de grains. A l'heure actuelle il n'existe pas d'éditeur dans l'application, et les nouvelles quantités doivent être créées manuellement.

Les paramètres sont résumés dans la table suivante :

ParamètreRequisTypeDescription
symbolrequisidentifiant Identifiant à utiliser dans d'autres expressions (voir plus bas). Il doit s'agir d'un identifiant valide constitué de lettres ASCII, de chiffres et d'underscores, en démarrant par une lettre.
expressionrequisformat libre Formule pour calculer la quantité à partir d'autres paramètres de grain. La syntaxe de l'expression est décrite dans la section Expressions.
symbol_markupoptionnelformat libre Symbole pouvant inclure des lettres grecques, des indices ou des exposants exprimés avec le langage de balisage Pango. Il est utilisé pour les présentations dans l'application donc bien qu'il soit optionnel il est recommandé de la définir au moins de manière identique à symbol.
power_xyoptionnelentier Puissance à laquelle apparaissent les dimensions latérales de la quantité. Par exemple, il s'agit de 1 pour les dimensions du grain, 2 pour les surfaces et les volumes. La valeur par défaut est de 0.
power_zoptionnelentier Puissance à laquelle la dimension de « hauteur » apparaît dans la quantité. Par exemple, il s'agit de 1 pour les valeurs et volumes, 2 pour les dimensions et les aires. La valeur par défaut est de 0.
same_unitsoptionnel0 ou 1 Utiliser 1 si la quantité n'a de sens que si les dimensions latérales et de « hauteur » correspondent à des quantités physiques identiques. Par exemple, cette valeur est requise pour les surfaces. La valeur par défaut est de 0.
is_angleoptionnel0 ou 1 Utiliser 1 si la quantité est un angle. L'expression doit calculer les angles en radians. Toutefois, si is_angle est utilisé, Gwyddion sait que la valeur peut être convertie en degrés pour la présentation. La valeur par défaut est de 0.

Pour l'instant, les paramètres de grain définies par l'utilisateur ne peuvent dépendre d'autres paramètres de grain utilisateurs, afin d'éviter les dépendances circulaires. Les paramètres de grain pré-définis sont présentés dans la liste suivante :

Par exemple, une nouvelle valeur de hauteur de grain, définie comme la différence entre la valeur maximale et la valeur minimale, peut être définie de la manière suivante :

Gwyddion resource GwyGrainValue
symbol dz
symbol_markup Δz
power_xy 0
power_z 1
expression z_max - z_min

Pré-réglages des données bruts

Les pré-réglages des données brutes sont présents dans le répertoire rawfile, ils sont identifiés par GwyRawFilePreset et ne contiennent que des paramètres. Ils sont normalement créés et édités par l'éditeur de réglages dans le module d'import des données bruts.

Les noms des paramètres dans le fichier de ressources correspondent pratiquement à ceux de l'interface utilisateur expliqués en détail dans la section import des fichiers bruts. Ils seront donc ici assez brièvement.

ParamètreTypeDescription
xres, yresentier tailles horizontale et verticale
xreal, yrealnombre dimensions physiques, en unités données par xyexponent et xyunit
xyexponentmultiple de 3 puissance de 10 multipliant xreal et yreal
xyunitchaîne de caractères unités de base de xreal et yreal, par exemple "m"
zscalenombre valeur d'unité d'échantillon
zexponentmultiple de 3 puissance de 10 multipliant zscale
zunitchaîne de caractères unités de base de zscale
havemissing0 ou 1 0 signifie que la gestion des pixels invalides est déasctivée, 1 signifie qu'elle est activée
missingvaluenombre valeur spécifique utilisée pour indiquer les pixels invalides
format0 ou 1 0 signifie binaire, 1 signifie texte
builtin (binaire)entier Identifiant du format prédéfini des données, voir plus bas
offset (binaire)entier offset des données dans le fichier, en octets
size (binaire)entier taille des valeurs de données, en bits
skip (binaire)entier nombre de bits à sauter après chaque valeur
rowskip (binaire)entier nombre de bits supplémentaire à sauter après chaque ligne
sign (binaire)0 ou 1 0 signifie non signé, 1 signifie signé
revsample (binaire)0 ou 1 1 signifie qu'il faut renverser les bits des valeurs
revbyte (binaire)0 ou 1 1 signifie qu'il faut renverser les bits des octets
byteswap (binaire)entier motif de l'ordre des octets
lineoffset (texte)entier nombre de lignes à sauter avant de démarrer la lecture des données
skipfields (texte)entier nombre de champs à sauter au début de chaque ligne
delimiter (texte)chaîne de caractères séparateur de champ, une chaîne de caractères vide signifie tout espace
decomma (texte)0 ou 1 1 si le séparateur de décimale est une virgule, 0 pour le point

Notez que le choix d'un format binaire prédéfini, c'est-à-dire une valeur pour builtin non nulle, implique un format binaire limité. Cela signifie que les options size, revbyte et sign sont ignorées car elles ne sont utilisées que pour la spécification détaillées des formats utilisateur. Les formats disponibles sont listés dans la table suivante :

TypeDescription
0spécifié par l'utilisateur
1entier 8 bits signé
2entier 8 bits non signé
3entier 16 bits signé
4entier 16 bits non signé
5entier 32 bits signé
6entier 32 bits non signé
7flottant IEEE
8double IEEE
9entier 64 bits signé
10entier 64 bits non signé