Некоторые небольшие блоки данных, например, карты псевдоцвета или предустановки импорта необработанных данных, сохраняются в отдельных файлах, которые все вместе называются файлами ресурсов. Gwyddion ищет ресурсы в двух разных местах: системном и индивидуальном для данного пользователя.
Системные ресурсы устанавливаются вместе с программой и их нельзя менять. Обычно они расположены в каталоге вроде /usr/share/gwyddion
(Unix), Program Files\Gwyddion
(MS Windows) или другом, который определяется GWYDDION_DATADIR
.
Ресурсы пользователя расположены в его каталоге. Это обычно ~/.gwyddion
(Unix) или Documents and Settings\gwyddion
(MS Windows).
Все файлы ресурсов являются простыми текстовыми файлами которые могут легко быть прочитаны и изменены текстовым редактором или пересланы другим пользователям (если они скопированы или отредактированы вручную, необходимо перезапустить Gwyddion чтобы он их заметил). В большинстве случаев в файлах могут быть только символы ASCII. Если там допустим международный текст, то он должен быть в кодировке UTF-8. Численные значения представлены в стандартном формате POSIX, т.е. с десятичной точкой независимо от того, какой разделитель обычно используется в языке пользователя.
Ресурсы упорядочены в подкаталогах в соответствии с их типом, т.е. градиенты псевдоцвета находятся в подкаталоге gradients
. Имя файла определяет название ресурса – градиент Gray находится в файле gradients/Gray
. Модули могут определять свои собственные имена ресурсов; описанные здесь типы наиболее важны, но их список может быть неполон.
Каждый файл ресурсов имеет одну и ту же структуру. Он начинается со строки, определяющей тип ресурса :
Gwyddion resource GwyGradient
где GwyGradient – имя типа в системе типов (что является достаточно низкоуровневой подробностью, но так обстоит дело), за которой следуют именованные параметры в форме
имя
значение
и данные ресурса. Некоторые ресурсы могут содержать только именованные параметры, другие только данные.
Градиенты. т.е. карты псевдоцвета, находятся в каталоге gradients
, они определяются типом GwyGradient и содержат только данные. Они могут быть отредактированы в программе с использованием редактора градиентов.
Данные градиента состоят из строк, соответствующих отдельным точкам градиента:
положение
красный
зелёный
синий
альфа
Положение определяет, где цвет, заданный с помощью четырёх составляющих красный
, зелёный
, синий
и альфа
будет находиться на отрезке [0, 1], где 0 соответствует началу отрезка (и градиента), а 1 его концу. Цвет интерполируется линейно между заданными точками.
Положения должны образовывать растущую последовательность от 0 до 1 (т.е. минимальное число точек цвета – 2). Диапазон компонентов цвета также [0, 1]. Следует отметить, что значение альфа, соответствующее непрозрачности не используется и должно быть задано как 1 (полностью непрозрачному).
Например, стандартный градиент Red переходящий от чёрного (0 0 0) к красному (1 0 0) и затем к белому (1 1 1) определяется следующим образом:
Gwyddion resource GwyGradient 0.0 0 0 0 1 0.5 1 0 0 1 1.0 1 1 1 1
Материалы OpenGL находятся в каталоге glmaterials
, определяются по типу GwyGLMaterial и содержат только данные. Они могут редактироваться в программе с использованием редактора материалов OpenGL.
Данные материала состоят из четырёх строк RGBA, подобно градиентам, которые соответствуют четырём компонентам материала OpenGL в следующем порядке:
См. раздел Редактор материалов OpenGL, где описаны отдельные компоненты. За ними следует строка, содержащая значение блеска как число из интервала [0, 1].
Следует отметить, что компонент, отвечающий за излучение, хоть он и пишется и читается в Gwyddion, но на текущий момент не используется для трёхмерного просмотра. Рекомендуется установить его в 0 0 0 1, т.е. чёрный.
Например, стандартный материал Red-Rubber с очень тёмным красным цветом окружающего света, серым диффузным рассеянием, красным зеркальным отражением и низким значением блеска определяется следующим образом:
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
Значения зёрен находятся в каталоге grainvalues
, определяются типом GwyGrainValue и содержат только именованные параметры. Они могут использоваться для определения дополнительных величин зёрен, которые появляются в группе Пользовательские в функциях анализа зёрен. В то время, когда этот текст пишется, в программе нет редактора для этих величин и их нужно создавать вручную.
Именованные параметры сведены в следующую таблицу:
Параметр | Необходимо | Тип | Описание |
---|---|---|---|
symbol | необходимо | идентификатор | Идентификатор, чтобы использовать в других выражениях (но см. ниже). Он должен быть правильным идентификатором, состоящим из букв латинского алфавита ASCII, чисел и знаков подчёркивания, начинающихся с буквы. |
expression | необходимо | свободная форма | Формула для расчёта этой величины из других величин зёрен. Общий синтаксис выражений описан в разделе Выражения. |
symbol_markup | опционально | свободная форма | Специальные строки, которые могут включать в себя греческие буквы, надстрочные и подстрочные символы могут быть описаны языком разметки Pango. Это используется для представления в программе и, хотя это является опциональным, рекомендуется хотя бы объявлять его так же, как и symbol . |
power_xy | опционально | целое | Степень, в которой латеральный размер входит в величину. Например, эта величина равна 1 для размеров зёрен, 2 для площадей и объёмов. Значение по умолчанию 0. |
power_z | опционально | целое | Степень, в которой размерность «высоты» входит в величину. Например, равно 1 для значений и объёмов, 0 для размеров в плоскости и площадей. Значение по умолчанию 0. |
same_units | опционально | 0 или 1 | Устанавливается в 1, если величина имеет смысл только если пространственные размеры и «высоты» являются одинаковыми физическими величинами. Например, это требуется для площади поверхности. Значение по умолчанию 0. |
is_angle | опционально | 0 или 1 | Устанавливается в 1, если величина является углом. Выражение должно рассчитывать углы в радианах. Однако, если задана переменная is_angle , Gwyddion будет знать что значение можно перевести в градусы для представления его пользователю. Значение по умолчанию 0. |
В настоящее время заданные пользователем величины зёрен не могут использовать другие заданные пользователем величины зёрен чтобы избежать круговых зависимостей. Встроенные величины зёрен перечислены ниже:
Символ | Группа | Название |
---|---|---|
x_c | Положение | Положение центра по x |
y_c | Положение | Положение центра по y |
z_min | Value | Минимальное значение |
z_max | Value | Максимальное значение |
z_m | Value | Среднее значение |
z_med | Value | Срединное значение |
z_rms | Value | Среднеквадратичное значение |
b_min | Value | Минимальное значение на границе |
b_max | Value | Максимальное значение на границе |
A_px | Площадь | Площадь в пикселях |
A_0 | Площадь | Площадь проекции |
A_s | Площадь | Площадь поверхности |
a_eq | Площадь | Сторона эквивалентного квадрата |
r_eq | Площадь | Радиус эквивалентного диска |
A_h | Площадь | Площадь выше половинной высоты |
A_c | Площадь | Площадь выпуклой оболочки |
V_0 | Объём | Объём между нулевой плоскостью и поверхностью |
V_min | Объём | Объём между поверхностью и плоскостью, проходящей через минимум зерна |
V_L | Объём | Объём между поверхностью и фоном, вычисленным по Лапласу |
L_b0 | Граница | Длина границы проекции |
D_min | Граница | Минимальный ограничивающий размер |
phi_min | Граница | Направление минимального ограничивающего размера |
D_max | Граница | Максимальный ограничивающий размер |
phi_max | Граница | Направление максимального ограничивающего размера |
R_i | Граница | Максимальный радиус вписанного диска |
x_i | Граница | Положение центра по x максимального вписанного диска |
y_i | Граница | Положение центра по y максимального вписанного диска |
R_e | Граница | Минимальный радиус описанной окружности |
x_e | Граница | Положение центра по x минимальной описанной окружности |
y_e | Граница | Положение центра по y минимальной описанной окружности |
R_m | Граница | Средний радиус |
M_min | Граница | Минимальный диаметр Мартина |
omega_min | Граница | Направление минимального диаметра Мартина |
M_max | Граница | Максимальный диаметр Мартина |
omega_max | Граница | Направление максимального диаметра Мартина |
theta | Уклон | Наклон θ |
phi | Уклон | Наклон φ |
x_0 | Кривизна | Положение центра кривизны по x |
y_0 | Кривизна | Положение центра кривизны по y |
z_m | Кривизна | Значение z центра кривизны |
kappa_1 | Кривизна | Кривизна 1 |
kappa_2 | Кривизна | Кривизна 2 |
phi_1 | Кривизна | Угол кривизны 1 |
phi_2 | Кривизна | Угол кривизны 2 |
a_e1 | Момент | Большая полуось эквивалентного эллипса |
a_e2 | Момент | Малая полуось эквивалентного эллипса |
phi_e1 | Момент | Ориентация эквивалентного эллипса |
Например, новая величина зёрен Height, измеряющая высоту зерна как разность между его максимальным и минимальным значением, может быть задана следующим образом:
Gwyddion resource GwyGrainValue symbol dz symbol_markup Δz power_xy 0 power_z 1 expression z_max - z_min
Предустановки импорта необработанных файлов хранятся в каталоге rawfile
, они определяются типом GwyRawFilePreset и содержат только именованные параметры. Они обычно создаются и изменяются в редакторе предустановок в модуле импорта необработанных файлов.
Именованные параметры в файлах ресурсов близко соответствуют параметрам интерфейса пользователя, описанным в деталях в разделе Импорт необработанных файлов данных. Следовательно, здесь они будут описаны только кратко.
Параметр | Тип | Описание |
---|---|---|
xres , yres | целое | горизонтальный и вертикальный размер |
xreal , yreal | число | физические размеры в единицах, заданных xyexponent и xyunit |
xyexponent | кратное трём | степень 10, на которую нужно умножить xreal и yreal |
xyunit | строка | основные единицы измерения xreal и yreal , т.е. "m" |
zscale | число | шаг единиц в значениях |
zexponent | кратное трём | степень 10, на которую нужно умножить zscale |
zunit | строка | основные единицы zscale |
havemissing | 0 или 1 | 0 означает что обработка отсутствующих значений отключена, 1 что включена |
missingvalue | число | специальное замещающее значение, которое обозначает отсутствие данных |
формат | 0 или 1 | 0 означает двоичный, 1 - текстовый |
builtin (двоичный) | целое | встроенный идентификатор формата данных, см. ниже |
offset (двоичный) | целое | смещение данных в файле, в байтах |
size (двоичный) | целое | размер значения данных, в байтах |
skip (двоичный) | целое | число бит, которое нужно пропустить после каждого значения |
rowskip (двоичный) | целое | число дополнительных бит, которое нужно пропустить после каждой строки |
sign (двоичный) | 0 или 1 | 0 означает без знака, 1 - со знаком |
revsample (двоичный) | 0 или 1 | 1 означает инверсию битов в значениях |
revbyte (двоичный) | 0 или 1 | 1 означает обратный порядок бит в байтах |
byteswap (двоичный) | целое | шаблон замены байтов |
lineoffset (текстовый) | целое | число строк, которые нужно пропустить перед чтением данных |
skipfields (текстовый) | целое | число полей, которое нужно пропустить вначале каждой строки |
delimiter (текстовый) | строка | разделитель полей, пустая строка означает произвольный пробельный символ |
decomma (текстовый) | 0 или 1 | 1 если десятичный разделитель запятая, 0 для точки |
Следует отметить. что при выборе встроенного двоичного формата, т.е. ненулевой переменной builtin
, означает двоичный формат до некоторой степени. Это означает. что опции size
, revbyte
и sign
игнорируются, поскольку они используются только для подробного задания пользовательских форматов. Доступные форматы перечислены в нижеприведённой таблице:
Тип | Описание |
---|---|
0 | Определённый пользователем |
1 | 8-битное целое со знаком |
2 | 8-битное целое без знака |
3 | 16-битное целое со знаком |
4 | 16-битное целое без знака |
5 | 32-битное целое со знаком |
6 | 32-битное целое без знака |
7 | IEEE float (число с плавающей точкой, одинарной точности) |
8 | IEEE double (число с плавающей точкой с двойной точностью) |
9 | 64-битное целое со знаком |
10 | 64-битное целое без знака |