Полные искажения

Этот раздел представляет расширенные функции по коррекции (или созданию) полных погрешностей, таких как модуляция данных низкой частотой или дрейф медленной оси сканирования. Большинство описанных ниже функций имеют дело с искажениями только в плоскости xy– например, Компенсация дрейфа или Выпрямить путь. некоторые модифицируют распределение данных (Вынудить) или производят сложные операции, затрагивающие как координаты, так и значения в точках.

Компенсировать дрейф

Обработка данныхИскажениеКомпенсировать дрейф

Функция «компенсировать дрейф» рассчитывает и/или корректирует дрейф в быстрой оси сканирования (горизонтальной). Этот неблагоприятный эффект может быть вызван тепловым воздействием или недостаточной механической жесткостью устройства измерения.

График дрейфа, который является одним из возможных результатов вывода, представляет горизонтальный сдвиг отдельных строк по отношению к строке-эталону (который может быть, в принципе, выбран произвольно, на практике выбирают нулевой сдвиг чтобы минимизировать количество данных, которые теряются за краем изображения после компенсации), с координатой y строки в качестве абсциссы.

Сдвиг определяется в два этапа:

  1. Взаимное горизонтальное смещение оценивается для каждого набора строк расположенных не дальше Диапазон поиска друг от друга. Оно оценивается как значение сдвига, дающего максимальную взаимную корреляцию двух строк. Следовательно, в результате получается множество локальных оценок смещения строки (вместе с максимальным весом корреляции, который даёт оценку их взаимной похожести).
  2. Глобальные сдвиги рассчитываются из локальных. В настоящее время используется очень простой метод поскольку он хорошо работает в большинстве случаев: локальные производные сдвига аппроксимируются для каждой строки в оценку локального сдвига и общий сдвиг затем получается путём интегрирования (т.е. сложения локальных дрейфов).

Опция Исключить линейный уклон вычитает линейный член из рассчитанного дрейфа. это может быть полезно, когда изображение является анизотропным и его выраженные детали считаются ориентированными непараллельно сторонам изображения.

Пример коррекции дрейфа: (a) исходные данные с сильным дрейфом в оси быстрого сканирования, (b) исправленные данные, (c) рассчитанный график дрейфа.

Аффинное искажение

Обработка данныхИскажениеАффинное искажение

Аффинное искажение в горизонтальной плоскости вызванное термическим дрейфом является обычным явлением, например, в СТМ. Если изображение содержит регулярную структуру, например, атомную решетку с известными параметрами, искажение может быть легко исправлено с использованием этой функции.

Коррекция аффинных искажений требует прежде всего выбрать искаженную решетку на изображении. Это делается перемещением сетки на изображении предпросмотра с помощью мыши пока она не станет соответствовать периодическим особенностям изображения. Для изображений периодических структур обычно проще выбирать решетку на графике двумерной функции автокорреляции (2D ACF). Также обычно для этого нужно найти вручную достаточно грубое соответствие. Кнопка уточнить поможет рассчитать точные значения выбранных векторов решетки для ближайших максимумов в функции автокорреляции с субпиксельной точностью.

Если линии сканирования содержат много высокочастотного шума, горизонтальная автокорреляционная функция (средняя строка на изображении АКФ) также может оказаться достаточно шумной. В этом случае лучше интерполировать её по окружающим строкам используя опцию Интерполировать горизонтальную АКФ.

Правильные длины векторов решетки a1 и a2 и угла φ между ними, введённые в диалоговом окне, определяют производимое аффинное преобразование. Некоторые распространённые типы решеток (такие, как поверхность высокоориентированного пирографита HOPG) уже есть в предустановках, но можно вводить произвольные длины и угол.

Пример аффинной коррекции: (a) оригинальное изображение, демонстрирующее аффинные искажения, (b) диалог коррекции, демонстрирующий выбранную решетку на двумерной функции автокорреляции, (c) исправленное изображение.

Следует отметить, что описанный выше метод коррекции вызывает полную потерю латеральных размеров изображения поскольку новый латеральный размер будет определяться исключительно правильными векторами решетки. Это обычно является лучшим вариантом для изображений СТМ известных атомных решеток, однако, в общем случае коррекций наклона и аффинных искажений он может оказаться непрактичным. Следовательно, диалоговое окно предлагает три различных варианта масштабирования:

Точно как задано

Вектора решетки в исправленном изображении будут иметь заданную длину и угол между ними. Информация о масштабе исходного изображения полностью игнорируется.

Сохранять площадь

Вектора решетки в исправленном изображении будут иметь заданное соотношение длин и угол между ними. Однако, общий масштаб будет скорректирован таким образом, чтобы аффинное преобразование пространства сохраняло площади областей.

Сохранять масштаб X

Вектора решетки в исправленном изображении будут иметь заданное соотношение длин и угол между ними. Однако, общий масштаб будет вычисляться таким образом, чтобы аффинное преобразование сохраняло оригинальный масштаб оси x. Этот режим в чём-то похож на работу с масштабами в модуле компенсации дрейфа.

Данная функция также может исправить одно изображение, используя автокорреляционную функцию, рассчитанную из другого (подразумевается другой канал данных в одном измерении) или применить коррекцию ко всем изображениям в файле. Первое можно сделать выбрав другое изображение в качестве Изображения для АКФ в опциях. Аффинное преобразование всех изображений в файле включается опцией Применить ко всем совместимым изображениям. Обе опции требуют чтобы изображения были совместимы с текущим, т.е. имели одинаковое физическое разрешение и разрешение в пикселях.

Полиномиальное искривление

Обработка данныхИскажениеПолиномиальное искривление

Общее искривление в горизонтальной плоскости может быть компенсировано или, наоборот, внесено с помощью полиномиального искривления. Оно делает преобразования, которые могут быть выражены как

где Px и Py – полиномы степени до третьей с заданными пользователем коэффициентами. Следует отметить направление преобразования координат – обратное направление не будет гарантировать однозначного отображения.

Полиномиальные коэффициенты вводятся как безмасштабные, т.е. как если диапазоны координат были всегда [0, 1]. Если включено Обновлять сразу, нажатие Enter в поле ввода коэффициента (или просто перемещение фокуса клавиатуры в другое место) обновляет предпросмотр.

Выпрямить путь

Обработка данныхИскажениеВыпрямить путь

Извлечение данных вдоль дугообразных особых областей, искривлённых границ ступеней и других гладких путей произвольной формы могут оказаться удобным вариантом предобработки для дальнейшего анализа. Функция Выпрямить путь создаёт новое изображение путём «выпрямления» исходного вдоль пути, заданного сплайном, проходящим через набор точек, выбранных на изображении.

Точки, задающие путь, могут быть выбраны на изображении предпросмотра. Любую контрольную точку можно двигать мышью. Клик на пустое место добавляет новую точку, привязанную к ближайшему концу пути. Отдельные точки можно удалить если выбрать их в списке точек в правой части диалогового окна и нажать Delete.

Форма извлекаемой области управляется следующими параметрами:

Толщина

Ширина извлекаемого изображения, обозначаемая перпендикулярными отметками на линии пути. Здесь это полная ширина, т.е. расстояние до каждого края извлекаемого изображения будет половиной заданной толщины.

Неточность

Параметр, влияющий на форму пути между контрольными точками. Он может быть показан как слабина упругой пружины, соединяющей контрольные точки. Для нулевой слабины пружина будет туго натянута и путь будет формироваться прямыми сегментами. Увеличение слабины уменьшает натяжение в пружине вплоть до единичной, при которой пружина полностью свободна. Значения больше единицы означают, что длина пружины слишком велика и она будет сжиматься.

Замкнутая кривая

Если включена эта опция, путь будет замкнут, что позволяет извлекать кольцевые области (как пример). В противном случае у пути будет два свободных конца.

Для определённых комбинаций формы и толщины пути результирующее изображение может содержать области, которые лежат вне исходного изображения. Эти области будут помечены маской на выводимом изображении и заполнены нейтральными значениями.

Пример применения функции Выпрямить путь, показывающий извлечение данных вдоль замкнутого кругового пути. Левая часть диалогового окна содержит координаты точек, задающих путь и опций данной функции, средняя часть показывает выбранный круговой путь (с перпендикулярными маркерами, показывающими толщину) и правая часть это изображение предпросмотра для извлекаемых данных.

Извлечь выбранный путь

Обработка данныхИскажениеИзвлечь выбранный путь

Функция Выпрямить путь сохраняет выбранный путь вместе с данными, так что её можно вызвать заново позднее. Если вам нужны координаты и/или направления, соответствующие выпрямленному изображению, для дальнейшей обработки, то можно использовать опцию Извлечь выбранный путь.

Эта функция строит действительные координаты или касательные к пути, т.е. направляющие синусы и косинусы в виде графиков. Координаты выбраны как положение X и положение Y ; направления как касательная по X и касательная по Y. Количество точек в каждой кривой графика будет таким же, как число строк в выпрямленном изображении, созданном функцией Выпрямить путь, а строки изображения будут соответствовать одна к одной точкам кривой графика.

Исправить разворот

Обработка данныхИсправить данныеИсправить разворот

Инструмент исправить разворот может автоматически сделать главные оси изображения параллельными горизонтальным или вертикальным сторонам изображения. Чтобы это работало, у данных должны быть эти главные оси, следовательно, этот метод наиболее полезен при сканировании искусственных и, возможно, кристаллических структур.

Поворот, необходимый для выравнивания изображения – показанный как Поправка – рассчитывается из пиков на угловом распределении наклонов предполагая преобладающий тип структуры или симметрию. Симметрия также может быть оценена автоматически, но можно выбрать какой-то тип симметрии вручную и оставить модулю расчёт только соответствующего корректирующего поворота. Следует заметить, что если вы выбрали тип структуры, не соответствующий реальности, то рассчитанный поворот редко когда будет иметь смысл.

Рекомендуется перед расчётом выровнять данные (или выровнять грани) поскольку общий наклон может исказить рассчитанный поворот.

Схема симметрий коррекции поворота

Ориентация главных осей в соответствии с типами симметрии, доступных при коррекции поворота.

Предполагаемый тип структуры может быть задан с помощью меню выбора Предполагаемая. Доступен выбор из следующих вариантов:

Найденная

Автоматически определённый тип симметрии, показанный выше как обнаруженный.

Параллельная

Параллельные линии, одно преимущественное направление.

Треугольная

Треугольная симметрия, три преимущественных направления (однонаправленных) под углами 120 градусов.

Квадрат

Прямоугольная симметрия, два преимущественных направления приблизительно вдоль сторон изображения.

Ромбическая

Ромбическая симметрия, два преимущественных направления приблизительно вдоль диагоналей. Единственным отличием от прямоугольной симметрии является предпочтение диагональной ориентации (в противоположность параллельной сторонам изображения).

Гексагональная

Гексагональная симметрия, три преимущественных направления (двунаправленных) под углами 120 градусов.

Поле смещения

Поле смещения это общий метод искажения изображения в плоскости xy. Каждой точке результирующего изображения присваивается вектор. Этот вектор определяет в каком направлении двигаться из этой точки. Значение, найденное по заданному смещению в исходном изображении становится значением пикселя в выходном изображении:

где v - вектор смещения.

Поле смещения может быть создано или получено несколькими способами:

Гауссово (линии скана)

Вектора содержат только компоненту x. Смещение будет одномерным, вдоль линий сканирования (строк изображения). Это случайное гауссово изображение, подобное гауссовым изображениям генерируемым с помощью Спектрального синтеза.

Гауссово (двумерное)

Вектора содержат обе компоненты x и y, следовательно смещение будет двумерным. В этом случае это снова случайное гауссово изображение.

Разрывать линии скана

Вектора содержат только компоненту x. Смещение будет одномерным, вдоль линий сканирования (строк изображения). Оно генерируется чтобы разорвать сегменты соседних строк смещением одной из них влево и другой вправо. В оставшейся части изображения смещение гладкое (и близкое к нулю), таким образом, непрерывность сохраняется вне разрыва.

Изображение (линии скана)

Вектора содержат только компоненту x. Смещение будет одномерным, вдоль линий сканирования (строк изображения), и задаётся другим изображением (выбранным в качестве Смещения по X). Значения изображения используются напрямую в качестве векторов смещения и должны иметь ту же размерность, что и пространственные координаты деформируемого изображения.

Изображение (двумерное)

Вектора содержат обе компоненты x и y, следовательно смещение будет двумерным. Они задаются другими изображениями (выбранными в качестве Смещения по X и Смещения по Y). Значения изображений используются напрямую в качестве векторов смещения и должны иметь ту же размерность, что и пространственные координаты деформируемого изображения.

Задать статистику

Обработка данныхИскажениеИсправить разворот

Этот модуль преобразует значения в поле данных таким образом, чтобы установить некоторые заданные статистические свойства. Распределение значений может быть преобразовано в гауссово, с сохранением среднего значения и среднеквадратичной шероховатости, или равномерное, с сохранением минимального и максимального значения. Также можно установить такое же распределение, как у другого поля данных, выбранного в качестве шаблона.

Преобразование сохраняет порядок значений, т.е. если некоторая точка была выше другой до преобразования, она также будет выше после него. Опция обработка данных управляет тем, будет ли преобразование применяться к изображению целиком (Всё изображение) или к каждой строке отдельно, с одинаковым распределением (По строкам (одинаково)). Следует отметить, что если в последнем случае выбран шаблон для распределения, то каждая строка преобразованного изображения будет иметь (примерно) такое же распределение значений как шаблон.

В дополнение можно проводить другой тип преобразования, дискретизацию значений на заданное количество уровней. Эта операция выбирается с помощью опции Дискретные уровни. Доступны два различных типа дискретизации, либо уровни высоты равноудалены от минимального и максимального значения (Равномерное), либо они рассчитываются таким образом, чтобы после преобразования каждый уровень состоял из примерно одинакового количества пикселей (Одинаковая площадь).

Радиальное сглаживание

Обработка данныхИскажениеРадиальное сглаживание

радиальное сглаживание обрабатывает изображение гауссовым сглаживающим фильтром, но в полярных координатах. Эта функция полезна для изображений которые должны быть относительно гладкими и демонстрировать радиальную симметрию.

Изображение может сглаживаться либо вдоль радиальных профилей - с шириной гауссова фильтра управляемой опцией Радиус - или в угловом направлении воль дуги постоянного радиуса вокруг центра - с шириной, управляемой параметром Угол. Преобразование изображения в полярные координаты и назад не идеально сохраняет его. При этом могут появляться небольшие (и иногда не столь небольшие) артефакты, в частности около центра, даже если сглаживание при этом не использовалось.