===== Найти ступеньки ===== На поверхности кристаллов можно обнаружить ступеньки. Это связанно с ростом кристалла слоями. Каждый новой слой образует с предыдущим ступеньку. Постепенно слой растет, увеличивая площадь, ступенька передвигается. С помощью команды **Найти ступеньки** из [[меню_операции|меню Операции]] можно описывать рост ступенек во времени. Для использования этой функции нужно взять изображение, полученное в специальном режиме работы микроскопа, когда одна и та же строка сканируется с разверткой по времени. По команде **Найти ступеньки** открывается диалоговое окно {{:processing:steps_1.jpg|}}. В нем мы выбираем направление исследования: слева на право - если самая верхняя ступень слева, а нижняя справа, иначе справа налево. Ступеньки определяются по скачкам производной. Для ее вычисления происходит свертка с ядром (//1//,//0//,//-1//) или (//-1//,//0//,//1//), т.е. строка значений умножается на вектор (//1//,//0//,//-1//) для направления слева на право, или (//-1//,//0//,//1//) - справа налево. Операция осуществляется в направлении снизу вверх начиная с той строки, которая указывается в пункте **Начало ряда**, до строки **Конец ряда**. После этого для получившейся производной вычисляется среднеквадратичное отклонение - //RMS// (дисперсия высоты объекта) и производится пороговая фильтрация по формуле {{:processing:steps_2.jpg|}}, где величина //x// задается в поле **Порог**. То, что ниже порога мы не учитываем, а среди значений, превышающих пороговое, ищем локальные максимумы, присваивая им значение 1 если есть максимум и 0 если его нет. Ширина окна для определения локальных максимумов задается в строке **Наклон**. Такая операция выполняется с несколькими первыми строками, количество которых задается в строке **Начальные строки**. Результат суммируется. Для полученного ряда опять ищем локальные максимумы. В окрестности этих максимумов в первоначальных данных определяется максимум и эта точка считается началом ступеньки. На следующей строке поиск максимума осуществляется только в окрестности каждого максимума прошлой строки. Если максимума нет, то строка пропускается. Количество пропущенных строк для каждой ступени не должно превышать число, задаваемое в строке **Максимальный интервал**, иначе эта ступень обрывается. Если максимум для данной ступени в течении максимального интервала появился, то он соединяется прямой линией с предыдущим. Когда все настройки готовы, нажимаем кнопку **OK**. {{:processing:steps_4.jpg|}} {{:processing:steps_5.jpg|}} Ступеньки выделяются на изображении, и для каждой строится координатная функция - зависимость координаты ступеньки по //X// от времени по //Y//. Когда мы начинаем передвигать вертикальную прямую на одном из графиков, появляется новое окно с графиком горизонтального сечения поверхности вдоль ступени. С помощью команды **Выравнивание** в [[меню_кривая|меню Кривая]] можно выровнять изображение текущего горизонтального сечения (удалить общий наклон). Для координатной функции можно сделать авто-корреляцию командой **Авто-корреляция** в [[меню_кривая|меню Кривая]]. А с помощью команды **Структурная функция** в [[меню_кривая|меню Кривая]] получим структурную функцию по следующей формуле: {{:processing:steps_3.jpg|}} Легко увидеть, что корреляционная и структурная функции симметричны. Горизонтальное сечение поверхности вдоль ступени № 5: {{:processing:steps_6.jpg|}}. Корреляционная функция: {{:processing:steps_7.jpg|}}. Структурная функция: {{:processing:steps_8.jpg|}}.