Артефакты линий сканирования

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

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

Выравнивание строк

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

Срединное

Основные методы коррекции основаны на расчёте некоторой высоты, представляющей данную линию скана, и её вычитании, тем самым перемещая линии на одинаковую высоту. Здесь в качестве такой высоты используется срединное значение линии скана.

Мода высоты

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

Полиномиальное

Метод Полиномиальное аппроксимирует строку полиномом заданной степени и вычитает его значения из данных строки. Для нулевой степени полинома из каждой строки вычитается среднее значение, для степени 1 вычитается наклон, для степени 2 дуга окружности, и т.д.

Срединное разностей

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

Соответствие

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

Наклон с выравниванием граней

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

Усечённое среднее

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

Усечённое среднее разностей

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

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

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

Подсказка

Можно использовать Ctrl-F (Повторить последний) чтобы применить коррекцию с теми же настройками к нескольким изображениям не заходя в диалоговое окно.

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

Инструмент выравнивания вдоль линии

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

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

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

Линейная коррекция ступеней

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

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

Блочная коррекция ступеней

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

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

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

Примеры артефактов в форме ступеней при сканировании сверху вниз в медленной оси. Слева: слева направо. Справа: справа налево.

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

Хороший средний профиль

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

Функция Хороший средний профиль упрощает этот подход в ряде типичных ситуаций:

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

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

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

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

Пометить царапины

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

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

  • Максимальная ширина – только те царапины, толщина которых равна или меньше заданного значения (в пикселях), будут помечены.
  • Минимальная длина – только царапины, которые равны или длиннее заданной величины (в пикселях) будут помечены.
  • Жёсткий порог – минимальная разница значений относительно соседних верхней и нижней линии, которая будет считаться дефектом. Единицы считаются относительно среднеквадратичного отклонения изображения.
  • Мягкий порог – значения, отличающиеся не меньше, чем на заданную величину не образуют дефектов сами, но присоединяются к дефектам полученным по жёсткому порогу если они граничат с ними.
  • Положительные, Отрицательные, Оба – типы дефектов, которые будут удалены. Положительные означают дефекты с выпадающими значениями выше нормальных (пики), отрицательные – дефекты с выпадающими значениями ниже нормальных (дыры).

После нажатия на кнопку Ok новая маска царапин будет наложена на изображение. Другие модули и инструменты могут затем применяться для редактирования этих данных.

Пример удаления царапин

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

Удалить царапины

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

Царапины (полосы, штрихи) – части изображения, повреждённые очень распространённой ошибкой сканирования: локальным сбоем петли обратной связи. Линейные дефекты обычно параллельны оси быстрого сканирования изображения. Эта функция автоматически находит и удаляет эти царапины. используя соседние линии чтобы «заполнить» пустоты. Метод запускается с настройками, установленными при последнем использовании функции «пометить царапины».

Удаление шума XY

Обработка данныхМножественные данныеУдалить шум XY

Функция убирает шум на изображении на основе двух измерений одной и той же области – одного при сканировании вдоль оси x и второго вдоль оси y (и повернутым таким образом, чтобы оказаться ориентированными таким же способом, как изображении при сканировании вдоль x). Она основана на работах E. Anguiano и M. Aguilar (см. [1]).

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

Изображения не используются симметрично в данной процедуре. Используя опцию Усреднить направления удаления шума можно применить опцию в обоих направлениях и усреднить результаты.

Модель процедуры удаления шума XY: A) исходные данные, B) модель измерения по оси x, C) модель измерения по оси Y, D) изображение без шума.

Источники

[1] E. Anguiano and M. Aguilar: A cross-measurement procedure (CMP) for near noise-free imaging in scanning microscopes. Ultramicroscopy, 76 (1999) 47 doi:10.1016/S0304-3991(98)00074-6