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

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

.pdf
Скачиваний:
143
Добавлен:
28.05.2015
Размер:
27 Мб
Скачать
☆

Глава 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