Маски

Функции, связанные с масками, можно разделить на три основные группы:

Создание

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

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

Применение

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

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

Редактирование

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

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

Основные операции

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

Основные операции в меню Обработка данныхМаска включают в себя Инвертировать, которая инвертирует маску, делая отмеченные пиксели неотмеченными и наоборот, и Удалить, которая удаляет маску с поля данных. Эти функции также доступны из инструмента Редактор маски, описанного ниже. Также маску можно удалить используя контекстное меню окна данных.

Извлечь маску

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

Сдвиг

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

Распространить

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

Инструмент редактирования маски

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

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

Кнопки в ряду Режим выбирают, как нарисованная в окне данных геометрическая фигура будет изменять маску:

Установить

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

Добавить

Маска расширяется нарисованной фигурой (если маски не было, она создаётся).

Вычесть

Нарисованная фигура вырезается из маски. Функция ничего не делает если маски нет.

Пересечь

Маска устанавливается в пересечение нарисованной фигуры и уже имеющейся маски. Функция ничего не делает если маски нет.

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

Инструменты свободного рисования выбираются кнопками в ряду инструмент:

Карандаш

Свободное рисование карандашом с радиусом, заданным параметром Радиус. Может быть медленным на небыстрых компьютерах и/или больших областях данных.

Стёрка

Свободное стирание ластиком с радиусом, заданным параметром Радиус. Может быть медленным на небыстрых компьютерах и/или больших областях данных.

Заполнить

Заливка непрерывной пустой области.

Заполнить не маской

Удаление заливки непрерывной области под маской.

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

Увеличить

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

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

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

Уменьшить

Уменьшает маску на количество пикселей с каждой стороны. Точнее, маска уменьшается на один пиксель с каждой стороны и это повторяется количество раз.

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

Заполнить пустоты

Делает все зёрна односвязными, т.е. без пустот, заполняя пустоты в зёрнах. Флажок Заполнять не односвязные управляет будут ли заполняться только простые пустоты, т.е. те пустоты, которые сами являются односвязными, или будут заполняться любые пустоты независимо от их топологии.

Объяснение связности пустот для функции Заполнить пустоты. Без включенной опции Заполнить неодносвязные будут заполняться только пустоты в средней маске. С этой опцией будут заполняться все пустоты.

Пометить с помощью

Обработка данныхМаскаПометить с помощью

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

Маска

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

Данные

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

Презентация

Режим презентации отличается от режима данных только тем, что используется презентация вместо данных.

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

Морфологическая операция

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

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

Доступные операции включают в себя:

Эрозия

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

Расширение

Расширение заполняет малые полости и увеличивает размер выделенных областей – на величину и в виде формы заданной структурирующим элементом. Точнее, если структурирующий элемент повёрнут на угол 180 градусов и помещён в каждый пиксель маски, то результат расширения будет объединением всех этих структурирующих элементов с данными смещениями.

Размыкание

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

Замыкание

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

Размыкание ASF

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

Замыкание ASF

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

Преобразование в расстояние

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

, а также классические простые определения расстояния, такие как городские кварталы (4-связное)

и шахматная доска (8-связное)

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

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

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

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

Утоньшение

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

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

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

Зашумление маски

Функция Обработка данныхМаскаЗашумление маски добавляет случайный шум вида соль и/или перец к маске, тип шума выбирается (симметричный, положительный, отрицательный). Этот модуль нужен в основном для тестирования и разработки методов обработки данных.

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