Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Инструкция по программе Nova

.pdf
Скачиваний:
138
Добавлен:
28.05.2015
Размер:
27.02 Mб
Скачать

Глава 2. Анализ и обработка СЗМ-данных

Однородные сглаживающие фильтры (Uniform 3x3, Uniform 5x5)

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

Uniform 3x3, Uniform 5x5 – однородные сглаживающие фильтры, у которых матрицы ядра K имеет размер, соответственно, 3х3 и 5х5 (Рис. 2-135, Рис. 2-136).

 

 

 

1

1

1

1

1

 

 

 

 

1

1

1

 

1

1

1

1

1

 

1

1

1

 

 

 

 

1

1

1 1

1

1 1 1 1 1

 

1

 

 

 

1

 

 

1

1

1 1

1 1

Рис. 2-135. Uniform 3x3

Рис. 2-136. Uniform 5x5

В случае Uniform 3х3 для каждой точки функции производится усреднение по локальной области, содержащей 3х3 точки.

Соответственно, в случае Uniform 5х5 усреднение производится по области, содержащей 5х5 точек.

Гауссовы фильтры

Гауссовы фильтры является сглаживающими фильтрами, у которых значения в ядре, в отличие от однородного фильтра, выбираются согласно форме функции Гаусса:

K (i, j) = exp((i2 + j2 ) / 2σ)

Gaussian 3x3 0.85, Gaussian 3x3 0.391 – гауссовы сглаживающие фильтры, у

которых матрицы ядра K(i,j), имеют размер 3х3, а параметр σ имеет, соответственно, величину 0.85 и 0.391 (Рис. 2-137, Рис. 2-138)

1

2

1

1

4

 

1

 

4

 

 

 

 

 

2

2

4 12

4

 

2

 

 

4

 

 

1

1

1

1

Рис. 2-137. Gaussian 3x3 (σ = 0.85)

Рис. 2-138. Gaussian 3x3 (σ = 0.391)

2-113

ЧАСТЬ 2. Модуль обработки изображений

Gaussian 5x5 0.625, Gaussian 5x5 1.0 – гауссовы сглаживающие фильтры, у

которых матрицы ядра K(i,j), имеют

размер 5х5, а параметр σ

имеет ,

соответственно, величину 0.625 и 1.0 (Рис. 2-139, Рис. 2-140)

 

1 2 3 2 1

2

7 12 7 2

 

 

 

 

7

31 52 31 7

 

2 7 11 7 2

 

 

3 11 17 11

3

 

 

 

 

12 52 127 52 12

 

 

 

 

7

31 52 31 7

2 7 11 7 2

 

 

 

 

 

2

7 12 7 2

 

1 2 3 2 1

 

 

Рис. 2-139. Gaussian 5x5 (σ = 0.625)

Рис. 2-140. Gaussian 5x5 (σ = 1.0)

2.6.1.4Градиентные (дифференцирующие) фильтры

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

Градиентные (дифференцирующие) фильтры включают следующие:

Prewitt vertical, Prewitt horizontal;

Sobel vertical, Sobel horizontal.

Фильтр Prewitt vertical производит дифференцирование в горизонтальном направлении (по оси X) и усреднение в вертикальном (по оси Y). Фильтр Prewitt horizontal производит дифференцирование в вертикальном направлении (по оси Y) и усреднение в горизонтальном (по оси X). Матрицы указанных фильтров приведены, соответственно, на Рис. 2-141, Рис. 2-142

1 0 1

1

1

1

 

 

 

0

 

1 0

1

0

0

 

 

1 1 1

1 0

1

 

 

 

 

 

Рис. 2-141. Prewitt vertica

Рис. 2-142. Prewitt horizontal

Фильтр Prewitt vertical выделяет границы объектов, расположенные в вертикальном направлении, соответственно фильтр Prewitt horizontal выделяет границы объектов, расположенные в горизонтальном направлении.

2-114

Глава 2. Анализ и обработка СЗМ-данных

Пример 2.6-1. Применение фильтра Prewitt vertical для выделения вертикальных границ

Рис. 2-143. Слева исходное СЗМ изображение решетки, справа - после применения фильтра Prewitt vertical

Пример 2.6-2. Применение фильтра Prewitt horizontal для выделения горизонтальных границ

Рис. 2-144. Слева исходное СЗМ изображение нанотрубки, расположенной в горизонтальном направлении, справа - изображение после применения фильтра

Prewitt horizontal

2-115

ЧАСТЬ 2. Модуль обработки изображений

Фильтры Sobel vertical, Sobel horizontal являются модификацией аналогичных фильтров Prewitt, они действуют, подобным образом, но в меньшей степени сглаживают изображение. Матрицы указанных фильтров приведены, соответственно, на Рис. 2-145, Рис. 2-146.

1

0

1

1

2

1

 

 

 

 

0

 

2 0

2

0

0

1

0

1

1 2 1

 

 

 

 

 

 

Рис. 2-145. Sobel vertical

Рис. 2-146. Sobel horizontal

2.6.1.5Фильтры, повышающие визуальную четкость изображения

(Sharpening, High Pass)

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

К Sharpening фильтрам относятся:

Laplacian 3x3, Laplacian 5x5;

HighPass 3x3, HighPass 5x5;

Sharpen 3x3;

HighPass var 2 5x5.

Laplacian 3x3, HighPass 3x3, Sharpen 3x3 фильтры имеют матрицы ядра размером 3х3, приведенные, соответственно, на Рис. 2-147, Рис. 2-148. HighPass 3x3

– тождественное название фильтра Laplacian 3x3.

1 1 1

1 1 1

 

8

 

 

16

 

1

1

1

1

 

1

 

 

1

 

1

1

1

1

Рис. 2-147. Laplacian 3x3

Рис. 2-148. Sharpen 3x3

Laplacian 5x5, HighPass 5x5, HighPass var 2 5x5 фильтры имеют матрицы ядра размером 5х5, приведенные, соответственно, на Рис. 2-149, Рис. 2-150, Рис. 2-151.

 

1 3 4 3 1

1 1 1 1 1

2 2 2 2 2

 

3

0

6

0

 

 

1

1

1

 

 

3

3

3

 

 

3

1

1

2

2

4

6

20 6

4

1 1

24 1

1

2 3

57

3

2

 

3

0

6

0

 

 

1

1

1

 

 

3

3

3

 

 

3

1

1

2

2

 

1

 

 

 

 

1 1

1

1

1

2 2

2

2

2

 

3 4 3 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2-149. Laplacian 5x5

Рис. 2-150. HighPass 5x5

Рис. 2-151. HighPass var 2 5x5

2-116

Глава 2. Анализ и обработка СЗМ-данных

Пример 2.6-3. Применение HighPass 5x5 фильтра для контрастирования СЗМ изображения

Рис. 2-152. Слева - исходное СЗМ изображение бактерии E-coli, справа – после применения фильтра HighPass 5x5.

2.6.1.6Нелинейные фильтры

Медианные фильтры

Median 3x3;

Median 5x5;

Median 7x;

Magic Median.

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

Эти фильтры работают следующим образом. Окно фильтра, состоящее из n x n

точек (соответственно 3х3 в Median 3x3, 5х5 в Median 5x5 и 7х7 в Median 7x7)

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

2-117

ЧАСТЬ 2. Модуль обработки изображений

имеет размеры 3х3 (Median 3x3), то число значений в полученном ряду будет 9, и выбирается центральная точка из этих девяти значений, соответственно, в случае фильтра размером 5х5 (Median 5x5), ряд имеет 25 членов, и выбирается центральная точка из этих 25 значений, и т.д.

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

Пример 2.6-4. Применение фильтра Median 5x5 для фильтрации импульсных помех

Рис. 2-153. Слева исходное СЗМ изображение, справа – после применения фильтра

Median 5x5

2-118

Оглавление

ЧАСТЬ 3. Макроязык “Nova PowerScript”

Оглавление

1. ВВЕДЕНИЕ...........................................................................................................................................

3-3

1.1. ОЧЕМ ЭТО ОПИСАНИЕ..................................................................................................................

3-3

1.2.

СОДЕРЖАНИЕ РАЗДЕЛОВ...............................................................................................................

3-3

1.3.

КАК РАБОТАТЬ С ОПИСАНИЕМ......................................................................................................

3-3

2.

ОБЩИЕ СВЕДЕНИЯ..........................................................................................................................

3-4

3.

УПРАВЛЕНИЕ ПРИБОРОМ ПРИ ПОМОЩИ МАКРОЯЗЫКА...............................................

3-5

4.

ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ СО СКРИПТАМИ..........................................................

3-6

 

4.1. ОПИСАНИЕ NOVA POWERSCRIPT EDITOR ....................................................................................

3-6

 

4.1.1.

Главное меню.................................................................................................................

3-7

 

4.1.2.

Панель управления........................................................................................................

3-9

 

4.1.3.

Прочие элементы интерфейса....................................................................................

3-9

 

4.1.4.

Использование справки...............................................................................................

3-10

 

4.1.5.

Управляющие клавиши...............................................................................................

3-10

 

4.2. ОПЕРАЦИИ СО СКРИПТАМИ ........................................................................................................

3-11

 

4.2.1. Создание и сохранение скрипта................................................................................

3-11

 

4.2.2.

Запуск скрипта...........................................................................................................

3-11

 

4.2.3.

Закрытие скрипта .....................................................................................................

3-11

 

4.2.4. Открытие скрипта и сохранение его под другим именем.....................................

3-12

5. ЭЛЕМЕНТЫ МАКРОЯЗЫКА........................................................................................................

3-13

5.1.

ЛИТЕРАЛЫ ..................................................................................................................................

3-13

 

5.1.1.

Числовые литералы....................................................................................................

3-13

 

5.1.2.

Строчные литералы ..................................................................................................

3-14

 

5.1.3.

Логические литералы.................................................................................................

3-14

5.2.

КОНСТАНТЫ................................................................................................................................

3-14

5.3.

ПЕРЕМЕННЫЕ..............................................................................................................................

3-14

5.4.

ТИПЫ ДАННЫХ............................................................................................................................

3-15

5.5.

СРЕДСТВА ВВОДАВЫВОДА........................................................................................................

3-16

5.6.

СПОСОБЫ СТРУКТУРИРОВАНИЯ КОДА СКРИПТА ........................................................................

3-18

 

5.6.1.

Комментарии..............................................................................................................

3-18

 

5.6.2.

Перенос строки ..........................................................................................................

3-18

5.7.

ЭЛЕМЕНТАРНЫЕ ОПЕРАТОРЫ .....................................................................................................

3-19

 

5.7.1.

Условные операторы .................................................................................................

3-20

 

5.7.2.

Циклические операторы............................................................................................

3-21

5.8.

МАССИВЫ...................................................................................................................................

3-24

 

5.8.1.

Статические массивы...............................................................................................

3-24

 

5.8.2.

Динамические массивы...............................................................................................

3-24

 

5.8.3.

Заполнение массивов ..................................................................................................

3-25

 

5.8.4.

Размер массива...........................................................................................................

3-26

5.9.

ПРОЦЕДУРЫ И ФУНКЦИИ ............................................................................................................

3-26

 

5.9.1.

Синтаксис описания процедуры................................................................................

3-27

 

5.9.2.

Синтаксис описания функции...................................................................................

3-27

5.10.

ПОДКЛЮЧЕНИЕ БИБЛИОТЕК .......................................................................................................

3-29

5.11. ФУНКЦИИ “VBSCRIPT”...............................................................................................................

3-30

5.12. ФУНКЦИИ “NOVA POWERSCRIPT”..............................................................................................

3-31

 

5.12.1.

Функция GetParam......................................................................................................

3-31

 

5.12.2.

Функция SetParam.......................................................................................................

3-31

 

5.12.3.

Функция HardParamsBackOff.....................................................................................

3-32

5.13.

ПРИМЕР СКРИПТА .......................................................................................................................

3-32

 

 

 

3-1

ЧАСТЬ 3. Макроязык “Nova PowerScript”

6. КАТАЛОГ СКРИПТОВ...................................................................................................................

3-34

6.1.

СКРИПТ “DFL_TO_FORCE” ........................................................................................................

3-35

 

6.1.1.

Предварительные условия.........................................................................................

3-35

 

6.1.2.

Работа со скриптом..................................................................................................

3-36

6.2.

СКРИПТ “MATRIX SCAN”............................................................................................................

3-38

 

6.2.1.

Программная конфигурация......................................................................................

3-40

 

6.2.2.

Работа со скриптом..................................................................................................

3-40

6.3.

СКРИПТ “SADER_NORMAL”........................................................................................................

3-40

 

6.3.1.

Предварительные условия.........................................................................................

3-41

 

6.3.2.

Работа со скриптом..................................................................................................

3-42

 

6.3.3.

Литература................................................................................................................

3-42

6.4.

СКРИПТ “SADER_TORSIONAL” ...................................................................................................

3-42

 

6.4.1.

Предварительные условия.........................................................................................

3-43

 

6.4.2.

Работа со скриптом..................................................................................................

3-44

 

6.4.3.

Литература................................................................................................................

3-45

3-2

Глава 1. Введение

1. Введение

1.1.О чем это описание

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

1.2.Содержание разделов

В главе 2 «Общие сведения» на стр. 3-4 указаны назначение языка, его возможности, основные области применения;

В главе 3 «Управление прибором при помощи макроязыка» на стр. 3-5 описана функциональная модель управления прибором;

В главе 4 «Основные принципы работы со скриптами» на стр. 3-6 приведено описание встроенного редактора скриптов и рассмотрены основные операции со скриптами;

В главе 5 «Элементы макроязыка» на стр. 3-13 указано описание синтаксиса и семантики базовых и составных элементов макроязыка;

В главе 6 «Каталог скриптов» на стр. 3-34 приведены классы скриптов, сформированные по функциональному принципу.

Все тексты скриптов, приведенные в данном описании, могут быть скопированы в окно редактора и запущены.

1.3.Как работать с описанием

Рекомендуется последовательное прочтение описания. При изучении элементов макроязыка (раздел 5 на стр. 3-13) желательно практическое освоение примеров в редакторе скриптов (раздел 4 на стр. 3-6).

3-3

ЧАСТЬ 3. Макроязык “Nova PowerScript”

2. Общие сведения

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

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

Использование макроязыка целесообразно для решения следующих задач:

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

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

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

Управление прибором с нестандартной конфигурацией. Например, посылка синхроимпульсов на внешние устройства.

В программе управления Nova используется макроязык Nova PowerScript. Он разработан на базе макроязыка Visual Basic Script (далее – VBScript).

Visual Basic Script– это «упрощенная» версия языка Visual Basic, широко используемая для написания макроприложений в операционной системе Windows.

Преимущества использования Visual Basic Script в качестве синтаксической основы макроязыка очевидны:

простота использования;

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

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

3-4