OriginLab. Часть 3

Слайд 2

Обработка большого количества графиков в Origin. Labtalk.

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

Обработка большого количества графиков в Origin. Labtalk. При анализе экспериментальных результатов иногда
обработать такое количество данных, что без автоматизации действий не обойтись. В качестве примера результатов возьмем энергетические спектры рассеянных протонов от кремниевой подложки в процессе напыления на неё золота на установке «Крокодил». В этом может помочь встроенный в Ориджин язык программирования Labtalk.

Слайд 3

Что имеем и что нужно сделать?

Имеем набор .txt файлов состоящих из

Что имеем и что нужно сделать? Имеем набор .txt файлов состоящих из
одной строки «шапки» и двух колонок: энергии и тока. В самом названии файла записано дата и время снятия спектра, вид налетающего ионы, положительные или отрицательные ионы измерял энергоанализатор, энергия первичного пучка, средний ток первичного пучка и возможно прочие комментарии.

Хотим построить обработанные спектры, как показано на первом слайде. Под обработкой понимается:
вычитание фона, уборка паразитного отрицательного хвоста в начале спектра
сглаживание спектра путем усреднения (adj-average) по 50 точкам
деление интенсивности спектра на энергию в данной точке (восстановление истинного энергетического распределения)
деление интенсивности спектра на ток первичного пучка
Все вышеперечисленные действия требуют автоматизированной обработки. Однако, после неё может потребоваться индивидуальная обработка по устранению случайных выбросов.

Слайд 4

Некоторые советы

Labtalk обладает огромным количеством команд и хотя бы их поверхностное изучение

Некоторые советы Labtalk обладает огромным количеством команд и хотя бы их поверхностное
требует изрядного количества времени и сил. Поэтому в первую очередь информацию о команде следует изучать по мере необходимости её применения в выполняемой задаче. www.originlab.com/doc/LabTalk
Поиском по ссылке можно получить описания работы команд. Здесь же будут приведены команды, которые я использовал для выполнения задачи.

Импорт файла
Уделите должное внимание импорту данных с помощью Import Wizard. Добавлять можно сразу несколько файлов, выделив их в проводнике.
Достаточно удобно собрать все спектры в одной книге (workbook) на разных страницах. Тогда команды можно будет применять сразу для всех страниц текущей книги. Чтобы это сделать в Import mode (на первом шаге Import Wizard) следует выбрать Start new sheets.
На втором шаге Import Wizard следует проверить, что «шапка» распознана верно.
На третьем шаге предлагается извлечь данные из названия файла. Воспользуемся этим и извлечем время снятия спектра, которое потом для каждого спектра надо будет вставать в график (см. слайд 1). За время в имени файла отвечают символы находящиеся на одном месте для всех файлов и их легко выудить по позиции символов (ставим галку). На следующем шаге wizard выуживаем время (например 17-52) и даём этому параметру какое-то имя.
На четвертом шаге ставим галку, чтобы имя файла перенеслось в название страницы (остальные галки убираем).
На пятом шаге убеждаемся в верности numeric separator (энергия начинается с долей кэВа, интенсивность имеет порядок 10^-13).
Доходим все шаги до последнего, настройку импорта можно сохранить.
По окончанию импорта выборочно просматриваем (строим) данные, дабы понять то ли это, с чем придется работать.

Слайд 5

Некоторые советы

Командное окно открывается Window -> Command Window (Alt+3).
Набор команд рекомендуется писать

Некоторые советы Командное окно открывается Window -> Command Window (Alt+3). Набор команд
отдельно, затем копировать в Command Window и жать Enter.
//это пример коммента
Все команды рекомендуется писать внутри doc –ef LW {тут строки с командами через ;};
-ef применять команды для всех объектов в данной папке, LW применять для всех страниц открытой сейчас книги
range zero =col(2)[7:17]; присваиваем диапазону ячеек zero ячейки с 7 по 17 колонки 2
wks.addcol(); добавь колонку
col(3)=col(2)-mean(zero); вычитаем из колонки 2 среднее значение диапазона ячеек
wks.col1.filter = 1;
wks.col1.filterx$ = value; создает фильтр на колонку 1, оставляет значение, что выше 0
wks.col1.filter$ = "value > 0";
wks.runfilter();
col(3)=col(2)/col(1); математические действия с колонками

вычитаем фон

фильтруем отрицательный хвост

Имя файла: OriginLab.-Часть-3.pptx
Количество просмотров: 30
Количество скачиваний: 0