Программа просмотра и обработки экспериментальных данных представляет собой часть комплекса автоматизации физического эксперимента для проведения магнитотранспортных измерений на постоянном или переменном токе. Это основной рабочий инструмент экспериментатора после проведения экспериментов. Она обеспечивает быстрый и удобный поиск экспериментальных данных, позволяя легко ориентироваться в десятках тысяч экспериментах и мгновенно находить нужный. Это наглядное отображение данных и их быстрая обработка, включающая перевод единиц сигналов в удельные сопротивления, слияние однотипных экспериментов, выделение компонент тензора сопротивления по симметрии зависимости от мегнитного поля, получение итоговой сглаженной кривой на равномерной шкале и интеллектуальное заполнение разрывов в исходных точках. Наконец - это радикально новый подход к хранению, поиску и передаче данных. Теперь не нужны переносные устройства для хранения и передачи данных, все данные доступны всегда и везде, из любого компьютера, подключенного к интернету, причём найти нужные данные и обработать их - дело нескольких секунд. Гибкая система настроек позволяет каждому пользователю обустроить внешний вид и параметры работы программы по своему вкусу. Как и во всём комплексе, все параметры запоминаются между сеансами работы, так что запустив программу на следующий день, вы не заметите изменений.
Защита данных от
несанкционированного доступа
Ключевой особенностью нашего измерительного комплекса является простой доступ к
экспериментальным результатам из любой точки земного шара, что обеспечивается хранением
данным в реляционной базе данных, которая доступна по интернету всем заинтересованным
лицам. Поскольку к данным открывается самый широкий доступ, возникает вопрос об
их защите от несанкционированного доступа - доступ к данным по паролю. В начале
работы программа выводит диалог доступа к данным или соединяется с тематикой по
умолчанию. Этот же диалог вызывается кнопкой
или командой меню База | Соединение с локальной базой.
Первые параметры - сервер и тематика - определяют расположение, где находятся ваши данные. Имя сервера базы данных - это компьютер в интернете, где хранятся данные. Это может быть имя компьютера в локальной сети, интернет адрес (начинающийся с http://...) или IP адрес (например 194.85.232.96). Если сервер находится на локальном компьютере, для него можно применять специальное имя localhost.
На каждом экспериментальном сервере может находиться произвольное количество баз данных, которые мы называем тематиками. Одновременно можно работать и производить поиск в пределах одной тематики. В настоящее время одна тематика может содержать не более 65535 экспериментов, в каждом из которых может быть не более 65535 записей. Можно хранить вообще все данные установки в одной тематике. Если возникает необходимость создать на сервере независимую область хранения - тематику - обратитесь к амминистратору комплекса.
Программа позволяет запоминать готовые комбинации из четырёх параметров доступа в группы и запоминать их на локальном компьютере в зашифрованном виде. Вверху диалога располагается список таких групп. Выбрав одну из них, пользователь сразу определяет все параметры доступа, которые он затем может поменять или дополнить. В зависимости от политики безопасности лаборатории в группе сохраняются или только сервер и тематика, или сервер, тематика и имя пользователя, или все параметры с паролем. Список комбинаций предустановлен и меняется администратором. Программа запоминает последний вариант из предустановленного списка комбинаций параметров. При следующем вызове этого диалога будет показан именно этот вариант, но без последующих изменений, сделанных пользователем.
Если ввод паролей и режим безопасности вызывают стойкое отвращение, а данные всегда берутся из одной и той же тематики - попросите администратора комплекса создать конфигурацию вызова программы без начального диалога. Конечно, это ухудшает безопасность данных, но это безусловно лучше, чем хранить пароль на бумажке, прикрепленной к дисплею!
Даже при обращении к базе данных на локальном компьютере программа использует IP протокол, поэтому обязательно добавьте все программы комплекса в исключения вашего файервола.
Рекомендуемые группы доспупа на сервере БД
Каждый пользователь или группа пользователей имеют свои привилегии, которые определяют то, что пользователю разрешено делать. Эти привилегии зависят от сервера, к которому вы подключаетесь и могут зависеть от компьютера, с которого вы производите подключение. В таблице показано рекомендуемое распределение групп пользователей и их привелегий на центральном сервере базы данных эксперимента. Разумеется, администраторам предоставлен полный доступ для обеспечения правильного функционирования базы. Действия уборщиков ничем не ограничены, они могут выполнять все команды из пользовательских программ комплекса, в том числе удаление экспериментов. Экспериментаторы не могут себе позволить удалять эксперименты, зато они создают экспериментальные записи в неограниченном количестве. Наконец, для теоретиков предлагается гостевой доступ к данным, который позволяет просматривать, обрабатывать и сохранять данные на локальном компьютере пользователя и гарантирует неизменность базы данных.
Для получения имени пользователя и пароля обратитесь к администратору сервера.
Категории поиска данных эксперимента
В первое время после установки комплекса количество экспериментов невелико, но со временем данных становится всё больше и больше, и разбираться с ними всё неудобнее. К счастью, в комплексе предусмотрена работа с тысячами и десятками тысяч экспериментов в пределах одной тематики с тем же удобством, как и в самом начале, когда экспериментов было мало. Эта возможность реализуется с помощью поиска, или фильтрации данных, когда в списке экспериментов отображаются только те из них, которые удовлетворяют определённым критиериям.
Фильтрация экспериментов включена всегда, поэтому окно настройки фильтрации появляется при запуске редактора данных до появления основного окна программы. В дальнейшем список отображаемых экспериментов всегда можно поменять. Это можно сделать разными способами: нажатием на кнопку в разделе список тулбара, выбрав команду меню Список | Фильтры поиска, либо по быстрому сочетанию клавиш <Ctrl>+F.
Установив галочку слева от каждого критерия поиска пользователь включает условие справа и несколько сокращает список экспериментов. Включенные условия подсвечиваются синим цветом, а фон соответствующего поля ввода становится жёлтым. Как и во всех программах комплекса, можно получить всплывающую подсказку, наведя мышку на элемент передней панели программы.
Указание в поле имени одного из образцов запретит появление в списке экспериментов других образцов.
Список можно также ограничить только свежими экспериментами, которые были проведены не ранее чем заданное количество дней назад. Задайте 0 в этом поле только для сегодняшних экспериментов.
Можно ограничить список только экспериментами на постоянном токе DC либо только на переменном токе AC.
Выбор данного критерия гарантирует присутствие указанных контактов в одном из каналов проведённого эксперимента.
Комментарий к эксперименту - единственное редактируемое поле в данных эксперимента, его можно изменить быстрым сочетанием клавиш <Ctrl>+E из главного окна редактора данных.
Можно фильтровать эксперименты по тексту, записанному в комментариях к эксперименту с помощью регулярного выражения, записанного в поле комментарий в диалоге фильтрации. Язык регулярных выражений - мощное средство поиска текстовых данных и определения шаблонов - является фактическим стандартом поиска и обработки текста во многих приложениях.
Отдалённое представление о регулярных выражениях дают маски файлов в файловой системе DOS и Windows вроде *.dat. К сожалению, символы, используемые в масках файлов, на языке регурярных выражений имеют совершенно другое значение. Наиболее употребительные символы регулярных выражений:
Маша - Маша находится в любой позиции строки комментария
^Маша - Маша в самом начале комментария
Маша$ - Маша в самом конце комментария
[[:<:]]Маша - Маша в начале любого слова
Маша[[:>:]] - Маша в конце любого слова
. - один произвольный символ
[0-9abcdef] - цифра или символ от a до f
[^A-Z] - любой символ кроме заглавных латинских букв
Маша|Петя - Маша или Петя
(Маша)? - Маша или ничего
(Маша)+ - одна или несколько слов Маша
Рассмотрим несколько примеров использования регулярных выражений.
Аспирант Петя регулярно проводит измерения на комплексе и всегда оставляет комментарии трёх типов: Хорошие результаты! или Хорошие контакты!!, ну а если нет ни того, ни другого, то Хорошее пиво!!!. Поскольку он неисправимый оптимист, то каждый комментарий завершается одним или несколькими восклицательными знаками. Кроме этого текста, комментарий больше ничего не содержит. Регулярное выражение для поиска всех экспериментов, проведённых Петей, будет ^Хорош[ие]е (результаты|контакты|пиво)!+$.
Допустим, вы собрались на конференцию LT35 и вам надо собрать исходные данные для обзорного доклада из разных экспериментов. Раньше, когда данные хранились в файловой системе, приходилось создавать самую настоящую папку и копировать в неё все исходные данные, поскольку поиск занимал слишком много времени. Сейчас создавать копии нет никакой необходимости - достаточно добавить слово LT35 к комментарию всех выбранных экспериментов. После этого указание ключевого слова LT35 в поле комментарий диалога фильтрации выведет в список главного окна все ранее отмеченные эксперименты. Заметьте, что один и тот же эксперимент может находится во множестве виртуальных папок, и никакого копирования данных при этом не происходит.
Результаты экспериментов бывают хорошие, очень хорошие, неимоверно хорошие, слишком хорошие и т.д. в зависимости от темперамента экспериментатора. Бывает полезно отобрать только самое лучшее, а остального просто не видеть. Для оценки рейтинга можно было бы пользоваться системой обозначений, принятой для коньячных напитков, скажем *** или *****. К сожалению, значок * - это специальный символ в регулярных выражениях, поэтому для простоты лучше пользоваться символом @ и располагать значки рейтинга в начале каждого комментария. Тогда выражение ^@@@ можно использовать для выделения экспериментов указанного качества или выше, например эксперимент с комментарием @@@@@ тоже окажется в списке. Если требуется указать и ключевое слово и рейтинг, регулярное выражение будет следующим: ^@@@.*LT35
Все критерии поиска, заданные пользователем, в конце концов преобразуются программой в текстовый запрос на языке SQL и посылаются базе данных. С помощью этого поля продвинутый пользователь может составить своё собственное условие, которое также будет передано базе данных наравне с прочими. Это очень мощное средство: с помощью одного этого поля можно задать все условия, рассмотренные выше, и ещё очень, очень многое. Например, вы хотите видеть в списке два сорта экспериментов: либо эксперименты с малым током образца меньше 100мкА, либо обзорные по температуре, у которых нижний и верхний температурный предел отличаются более чем в 10 раз. Но в обоих случаях эксперимент должен быть проведён после обеда, ибо какая вера экспериментам на голодный желудок? Запрос для такого условия будет
(time(created)>'14:00') and (Isample<100 or Tmax/Tmin>10)
Как видите, синтаксис языка довольно прост и прозрачен. Для уточнения синтаксиса и списка полей, которые можно указывать в этом поле, обратитесь к администратору базы данных.
После нажатия на OK будут сохранены новые критерии фильтрации и список экспериментов в главном окне программы будет заполнен заново с их учетом. Есть возможность отказаться от всех сделанных изменений, нажав на Отмена. Критерии фильтрации сохраняются также при выходе из программы и востанавливаются при её запуске. Можно восстановить критерии, которые были предложены по умолчанию при последнем старте программы, нажав кнопку Восстановить.
Главное окно программы
Главное окно программы разбито на 4 части. Сверху слева располагается список экспериментов из текущей базы данных, отобранный в соответствии с текущими критериями поиска. Ниже на двух графиках слева и справа выводятся зависимости двух каналов измерения от канала развёртки в омах на сантиметр (или в омах для двумерных образцов), а также объединённые и сглаженные графики. Размер всех областей главного окна пользователь может произвольно менять, двигая границы мышкой. При изменении размеров областей и всего главного окна изображение подстроится под новый размер так, чтобы лучшим образом занять всё свободное пространство.
Сверху справа располагается область из пяти скриптов. Опытные пользователи могут мгновенно выполнить самую сложную обработку, выполнив один из скриптов с помощью одного нажатия. Подробнее о скриптовых вычислениях.
Положение тулбара с кнопками можно менять, если перетащить его мышкой на любую из четырёх сторон окна приложения, ухватив за полосу с точками в начале тулбара. Можно также сделать видимыми или невидимыми как тулбар, так и главное меню приложения командами меню Вид | Показывать меню и Вид | Показывать кнопки или быстрыми сочетаниями клавиш <Ctrl>+M и <Ctrl>+T.
После отключения меню включить его обратно можно будет только с помощью быстрого сочетания клавиш <Ctrl>+M. Запомните это сочетание!
Панель слотов данных
Правее тулбара с кнопками находится панель слотов данных, которая позволяет управлять видимостью исходных экспериментальных данных (в слоте exper) и слотов обработки s0 - s9 в двух соседних графических областях в нижней части экрана. Переключение видимости точек на графиках происходит при нажатии на соответсвующую кнопку панели слотов, при этом сама кнопка выделяется (см. рисунок окна выше). Цвет надписи на кнопке соответствует цвету соответствующего графика.
При перетаскивании мышкой между кнопками слотов происходит копирование данных между слотами. Это помогает сохранить на экране результат обработки например для дальнейшего сравнения с новой обработкой.
Перетаскивание мышкой на псевдослот с именем File из любого другого слота приводит к записи данных эксперимента или обработки в текстовый файл с расширением XYZ после диалога. При перетаскивании с нажатой клавишей <Ctrl> данные дописываются в конец существующего файла.
Перетаскивание из псевдослота File в слот exper импортирует данные эксперимента из внешнего файла XYZ, как если бы они были прочитаны из базы данных. Если при перетаскивании в слот exper из File или из любого другого слота удерживалась клавиша <Ctrl>, существующие экспериментальные точки сохраняются, а новые добавляются и рисуются другим цветом.
В нижней части окна программы находится строка статуса выполнения, в неё программа выводит отчёт о выполненных действиях или сообщения об ошибках, которые выделяются красным цветом.
Список экспериментов располагается в верхней части главного окна программы. Он содержит часть экспериментов из текущей локальной базы данных, которая определяется установленными в настоящий момент критериями фильтрации. По умолчанию эксперименты упорядочены в списке по времени проведения в обратном порядке, то есть более поздние находятся в начале списка. Пользователь может изменит порядок строк, нажав на заголовок соттветсвующего столбца таблицы. Повторное нажатие изменит порядок сортировки на обратный. В списке проведённых экспериментов показаны их основные характеристики:
Образец |   Имя образца, на котором был проведён эксперимент |
Создан |   Дата и время начала проведения эксперимента |
С |   AC для экспериментов на переменном токе и DC для экспериментов на постоянном токе |
S1 |   Номера контактов левого канала |
S2 |   Номера контактов правого канала |
Ток |   Значение среднего тока через образец в микроамперах |
Hmax |   Максимальное значение магнитного поля в килоэрстедах |
Tmin |   Минимальное значение температуры в градусах Кельвина |
Комментарий |   Текстовая строка комментариев к эксперименту |
Со списком экспериментов можно производить следующие действия:
Для изменения содержания списка нужно изменить критерии фильтрации данных в списке. Диалог вызывается нажатие на кнопку , командой меню Список | Фильтры поиска , либо быстрым сочетанием клавиш <Ctrl>+F.
Характеристики эксперимента из списка нельзя изменить, за единственным исключением: в любой момент можно исправить комментарий к любому эксперименту. Это можно сделать нажатием на , либо командой меню Список | Изменить комментарий , либо быстрым сочетанием клавиш <Ctrl>+E.
Чтобы отобразить выделенный эксперимент или группу экспериментов на графиках, нажмите кнопку или выберите пункт меню Список | Показать на графике , либо нажмите быстрое сочетание клавиш <Ctrl>+<Ins>. Четвёртый и самый простой способ - двойной щелчок на выбранном эксперименте из списка. Чтобы выделить сразу несколько экспериментов, зажмите <Ctrl> и выделяйте эксперименты (или снимайте выделение) левой клавишей мышки. В этом случае все выделенные эксперименты будут отображены на графике один за другим, результат будет таким же, как если бы вы добавляли эксперименту к графику поодиночке командой добавления к графику (см. ниже). На графиках отображаеся результат предварительной обработки данных - удельные сопротивления по обоим каналам в омах на сантиметр (или в омах для двумерных образцов), для преобразования масштаба используются параметры геометрии образца, на котором был проведён эксперимент. Можно управлять отображением точек исходых данных командой меню Вид | Показывать точки исходных данных или кнопкой с синим квадратиком к конце тулбара.
Преобразование в физические величины можно отключить постоянно в диалоге параметров обработки. Оно также отключается, если пользователь не задал размеров при определении параметров образца или при пользовательском значении по осям графиков (см. ниже).
Реальный эксперимент содержит больше данных, чем отображается на двух графиках. Обычно программа выбирает наиболее подходящие колонки для построения графиков по умолчанию, но пользователь может переопределить значения по осям графика с помощью раздела своя выборка диалога параметров обработки. Например, можно вместо осей Х использовать номер экспериментальной точки, а вместо сигнала образца на одном из графиков отображать температуру. Возможно также задавать для значений по осям математическую формулу из допустимых значений для данного эксперимента, например log(H+0.035) или pow(T,0.75). Эта обработка будет происходить на сервере базы данных для каждой экспериментальной точки до того, как значение посылается в программу обработки. При изменении пользователем значений по осям графиков соответсвующие заголовки осей становятся красного цвета.
На графиках может одновременно отображаться несколько кривых от разных экспериментов, которые в дальнейшем будут обрабатываться как одно целое. Добавляемые эксперименты должны удовлетворять определённым условиям: эксперименты должны быть проведены на одном образце, с одинаковыми парами контактов и с одним типом развёртки. А вот методика проведения эксперимента может различаться, например при развёртке от температуры можно высокотемпературную часть зависимости на постоянном токе объединить с низкотемпературной кривой на переменном токе. Чтобы добавить выделенный эксперимент или группу экспериментов к уже нарисованным графикам, нажмите кнопку или выберите пункт меню Список | Добавить к графику . Те же ограничения должны соблюдаться при отображении данных командой Список | Показать на графике.
В обычном режиме точки добавляемых графиков имеют тот же цвет и те же значки, что и первый график (зелёный для сопротивления и синий для Холла), но можно сделать графики разноцветными установив режим командой меню Вид | Разные цвета графиков. Установленный режим сохраняется между разными сеагсами работы с программой.
Иногда возникает необходимость создать копию измерянных экспериментальных точек как есть
в текстовом формате. В комплексе предусмотрены две возможности экспорта текстовых данных: в буфер обмена и в файл. Кнопка , команда меню Список | Копировать в буфер обмена или сочетание клавиш <Ctrl>+C копирует данные выделенного эксперимента в буфер обмена, а соответственно кнопка
, команда меню Список | Копировать в файл или сочетание клавиш <Ctrl>+S копируют данные в текстовый файл. Сочетания клавиш выполняют экпорт исходных данных, если не горят кнопки exper и s0 на панели слотов (подробнее о действиях при нажатии на <Ctrl>+C и <Ctrl>+S), в то время как команда меню и кнопка
экпортируют "сырые" точки из базы данных даже если на графиках показаны кривые предварительной обработки и сглаживания.
Формат вывода в буфер обмена адаптирован к быстрому переносу данных в программу Origin 8. Создайте в ней пустую таблицу, выделите первую ячейку (она жёлтого цвета) и нажмите <Ctrl>+V. Данные будут вставлены в таблицу вместе с заголовками столбцов и единицами измерения.
Формат текстового файла несколько отличается от формата вывода в буфер обмена. Поскольку вы бросаете свои данные из упорядоченного мира комплекса в хаос файловой системы, комплекс оказывает вам последнюю услугу - старается записать в текстовом файле как можно больше информации об эксперименте, которая появляется в заголовке файла. Origin игнорирует этот заголовок при импорте данных, но вы всегда можете их прочитать из любого текстового редактора.
После экспорта данных вы полностью лишаетесь всех предоставляемых комплексом возможностей по поиску и обработке данных. Даже предварительную обработку (преобразование в Ом см) придётся выполнять вручную, не говоря уже о слиянии данных и сглаживании. Кроме того, экспорт - труднообратимая операция, засунуть данные обратно в комплекс будет непросто. Так что хранить все эксперименты в виде текстовых файлов - не лучшая идея. Подумайте перед экспортом дважды, от чего вы отказываетесь (автор советует подумать не менее 5 раз).
Подтверждение удаления данных
Если у вас есть сответствующие привилегии, вы можете не только проводить новые эксперименты, но и удалять данные из базы (обратитесь к администратору базы данных). Комплекс поддерживает быстрое и эффективное групповое удаление экспериментов из базы данных. Просто выделите ненужные строчки в списке экспериментов и нажмите на или используйте быстрое сочетание клавиш <Ctrl>+<Del>. После подтверждения будет произведено фактическое удаление из локальной базы данных.
Удаление данных - опасная и необратимая операция. Проверяйте свои действия несколько раз во время удаления!
Может показаться, что удаление данных слишком опасно и следует его или запретить вовсе, или обставить тревожной сигнализацией на манер автомобильной. С другой стороны мы живём в опасном мире. Этот мир требует скорости и эффективности. Полезные и мощные программы не могут не быть опасными. К примеру, популярный файловый менеджер Total Commander способен растереть целое дерево вложенных папок за несколько нажатий клавиш, и это не останавливает его поклонников.
Для выделения всех экспериментов в списке перед удалением удобно пользоваться сочетанием клавиш <Ctrl>+A.
В наш комплекс встроено несколько степеней защиты от несанкционированного или неосторожного удаления экспериментальных данных. Это либо полный запрет на удаление, либо резервное копирование всей базы данных, либо сохранение данных на удалённых серверах.
На графиках отображаеся результат предварительной обработки данных - удельные сопротивления по обоим каналам в омах на сантиметр (или в омах для двумерных образцов). Для преобразования масштаба используются параметры геометрии образца, на котором был проведён эксперимент. В каждом окне графика может быть показано несколько кривых, которые в дальнейшем будут обрабатываться как одно целое. Цвет графиков различается для различных компонент тензора удельного сопротивления: диагональная компонента отображается синим цветом, а Холловская - зелёным цветом. Номера контактов, с которых было произведено измерение, выводятся в заголовке графика, а размерность оси развёртки рисуется в нижней левой части графика. Можно управлять отображением точек исходых данных командой Вид | Показывать точки исходных данных или кнопкой с синим квадратиком к конце тулбара.
Для улучшения качества просмотра меняйте размеры главного окна программы и двигайте границы между областями главного окна - графики подстроятся и займут всё свободное место.
Кроме исходных точек, на тех же графиках отображаются красные кривые результатов обработки данных.
Иногда во время эксперимента несколько значений выпадают из общего ряда, то есть измерение прошло успешно и значение было записано, но это значение сильно отличается от предыдущих и последующих. Такое может произойти, к примеру, если контакт на образце нестабильный. Поскольку выпавшие значения могут отличаться на несколько порядков от остальных, даже одна выпавшая точка может до неузнаваемости исказить результат обработки.
Выделение выпавших точек
мышкой для удаления
Все выпавшие точки необязательно удалять за один раз, можно последовательно удалять несколько областей из обработки, выделяя новую область и применяя команду удаления. Если случайно были удалены нужные точки, придётся загрузить данные заново (например двойным щелчком в списке экспериментов).
Одна и та же команда меню и одно сочетание клавиш используется для удаления точек как из левого, так и из правого графиков. Программа выбирает тот из них, в котором последний раз происходило изменение масштаба (выделение части). Проверить это можно посмотрев на изменившийся текст команды меню.
После выделения области мышкой и растягивания её на весь график по краям графика появляются линейки прокрутки, которые смещают выделенную область влево-вправо и вверх-вниз, как и во всех окошках Windows. Кнопки в начале каждой линейки прокрутки позволяют вернуть предыдущий масштаб по выбранной оси. Например, если дважды выделить мышкой прямоугольник на графике и дважды нажать на кнопку возврата на горизонтальной линейке прокрутки, то масштаб по оси абсцисс вернётся к просмотру всего графика, а по оси ординат останется самым крупным.
Часто выпадающие точки имеют другой масштаб ординат и не видны на графике. В этом случае полезно выделить область по Х, в которую попадут все входящие туда точки независимо от их значения Y. Создать такую область можно, выделяя мышкой горизонтальную линию, так чтобы начальная и конечная точки выделения имели бы одинаковую высоту.
Удаление точек независимо по обоим каналам данных, то есть "дырки" в данных появляются только в одном графике, оставляя неизменными точки в другом канале. Отметим, что применяемый алгоритм сглаживания прекрасно справляется с пропусками в данных и может восстановить "дырки" естественным образом без потери гладкости выходной кривой.
Данные, однажды записанные в базу данных комплекса больше никогда не изменяются, можно только поправить комментарий к эксперименту или удалить весь эксперимент. Поэтому когда вы в следующий раз снова начнете просматривать и редактировать тот же эксперимент с выпавшими точками, вы обнаружите, что удалённые в предыдущем сеансе точки снова появились и их приходится отмечать и удалять заново перед сглаживанием. Пессимисты могут найти это неудобным, но оптимисты заметят, что таким образом обеспечивается более надёжная сохранность данных, ведь обрабатывают их разные люди, у которых могут различаться мнения о том, какие точки считать выпавшими. К тому же открывается удобная возможность отката, если вы по ошибке удалили лишние точки: достаточно снова провести предварительную обработку данных, сделав двойной щелчок по строчке в списке экспериментов и по новой отметить выпавшие точки, как описано выше.
Параметры обработки данных
Для изменения параметров обработки данных служит кнопка , либо команда меню График | Настройка обработки , либо быстрое сочетание клавиш <Ctrl>+O.
Задаёт количество точек выходной эквидистантной шкалы для сглаживания. Этот параметр влияет также на степень сглаживания методом РСШФ, более того, при применении РСШФ рекомендуется изменять степень сглаживания именно изменением числа выходных точек, оставляя параметр жёсткость на минимальном значении -1. При уменьшении числа точек степень сглаживания автоматически увеличивается, чтобы усреднить все экспериментальные точки, попадающие между точками сглаженной кривой. Таким образом исходные точки никогда не пропадают и вы можете управлять степенью сглаживания, задавая количество выходных точек.
Вкладка определяет метод сглаживания экспериментальных точек, используемый для построения линейной по Х шкалы. Регрессионный сплайн со штрафной функцией используется для построения гладкой кривой без особенностей при существенных разрывах в данных, в то время как метод локального полинома лучше применять для формирования шкал больше тысячи точек и для анализа производных. Каждый из методов имеет свои параметры настройки.
Если требуется получить на выходе линейную шкалу с заданными параметрами (например, для дальнейшей обработки), то увеличить сглаживание можно увеличив параметр жёсткость. Значения около нуля и меньше практически не вносят дополнительного сглаживания, а значения 10-15 превращают график почти в прямую линию.
Для фиттинга используются только экспериментальные точки, находящиеся на заданном характерном расстоянии от точки выходной шкалы. Положительные значения задаются в единицах шкалы Х, а отрицательные - в долях от общего диапазона выходной шкалы Х.
Нулевая локальность задаёт режим фиттинга единым полиномом по всем исходным данным без весов, это режим классического полиномиального фиттинга. Этот же режим включается вне зависимости от заданной локальности, если количество экспериментальных точек мало и в точности задаёт полином указанной степени (points=power+1). Если экспериментальных точек ещё меньше, программа понижает степень полинома, о чём выдаётся предупреждение в строке статуса.
Определяет степень локального полинома для фиттинга
Границы выходной шкалы могут быть установлены:
по границам данных |   Границы выходной шкалы совпадают с границами исходных данных |
по левому графику |   Границы выходной шкалы устанавливаются по текущей области просмотра левого графика |
по правому графику |   Границы выходной шкалы устанавливаются по текущей области просмотра правого графика |
вручную |   Границы выходной шкалы задаются вручную полями в строке ниже |
Если параметр отмечен, то при обработке сигнала от синхронного детектора будут учитываться оба канала по формуле sqrt(X^2+Y^2) , в противном случае будет учитываться только канал X.
Если параметр не отмечен и существует отдельный канал измерения тока через образец, то в предварительной обработке будет происходить деление на мгновенное значение тока по этому каналу. Если параметр отмечен, то все данные будут делиться на константу, получаемую либо от пользовательского ввода, либо как среднее значение тока за всё время эксперимента.
Выделение четной части магнитосопротивления
При развёртке от магнитного поля параметр позволяет управлять выделением четной и нечетной части зависимости по магнитному полю. Для продольных контактов (35 и 46) выделяется только чётная часть ρxx(H), для Холловских (34 и 56) - только нечётная часть ρxy(H), а для косых (36 и 45) - обе части, при этом на выходе получается сразу 2 графика для ρxx(H) и для ρxy(H), которые рисуются на одном графике разными цветами.
Исходные данные могут быть неполными, содержать разрывы, пропуски и не доходить до конца выходной шкалы. В любом случае формируется единая шкала по магнитному полю, симметричная относительно нуля поля и на этой шкале проводится сглаживание. Чётная или нечетная части извлекаются после сглаживания. Шкала должна состоять из нечётного количества точек, чтобы точка H=0 присутствовала в выходных данных.
При отмеченном параметре программа во время загрузки графиков из базы данных будет пытаться преобразовать напряжение на потенциальных контактах образца в единицы удельного сопротивления, учитывая значения тока образца и геометрию образца.
При двойном щелчке по строчке из списка эксперимента происходит чтение данных из подключенной базы данных и построение графиков. Для каждого эксперимента программа подбирает наиболее естественные значения общих для графиков абсцисс X и ординат левого Y и правого Z графиков. Чтобы отобразить на графиках другие данные эксперимента, пользователь может переопределить строки выборки для осей графиков. В качестве пользовательских значений для выборки X, Y или Z может быть установлено как простое имя колонки данных эксперимента, так и любое SQL выражение из этих имён. Правый клик на поле редактирования выводит список допустимых имён, для получения краткого комментария по имени задержите курсор над его названием. Обратите внимание на то, что некоторые имена допустимы только в экспериментах определённого типа (AC или DC). Программа на проверяет существование введённых имён и синтаксис SQL выражения до обращения к серверу базы экспериментальных данных. При возникновении ошибок сообщение от сервера выводится в строке статуса программы. Пользовательская строка выборки после удачной загрузки данных отображается в соответствующем названии оси графика красным цветом.
Не забудьте перечитать уже загруженные данные после включения / выключения пользовательской выборки (двойным щелчком по строке из списка экспериментов).
Обработка исходных данных состоит из двух этапов. Предварительная обработка происходит автоматически при отображении эксперимента на графиках и состоит из выделения данных по двум каналам образца от ведущего канала и преобразования масштаба из милливольт в единицы удельного сопротивления - омы на сантиметр для трёхмерных образцов или омы для двумерных образцов.
Дальнейшая обработка происходит отдельно по команде пользователя. Она объединяет кривые от всех однотипных экспериментов, отображаемых на графиках, как если бы они были проведены в одном эксперименте, и строит общую линейную шкалу с заданными параметрами. Для обработки можно нажать кнопку в разделе тулбара График , или выбрать команду меню График | Построить обработку , или нажать клавишу <Ins> или просто сделать двойной щелчок мышки в области графиков. Обработка производится раздельно по обоим каналам.
Основным инструментом сглаживания комплекса является регрессионный сплайн со штрафной функцией (РСШФ), который специально адаптирован для работы с зашумлёнными экспериментальными данными и является лучшим алгоритмом для интеллектуального заполнения пропусков в данных, корректного сглаживания на краях диапазона данных и постоения линейной шкалы абсцисс с плавными значениями как самих ординат так и их производных.
Хотя авторы и называют свой алгоритм сплайном, фактически проводится фиттинг коэффициентов сплайна S(x) ко всем точкам реальных экспериментальных данных yi путём минимизации ошибки аппроксимации LS(S) между сплайном и экспериментальными точками вместе со штрафной функцией P(S), подавляющей нелинейность:
где λ - параметр, определяющий степень сглаживания.
Заполнение сглаживанием выпавшего участка кривой.
Синяя линия - экспериментальные точки,
красная - результат сглаживания методом РСШФ
Использование фиттинга делает алгоритм регрессионного сплайна нелокальным , то есть алгоритм является дальнодействующим - учитываются не только ближайшие экспериментальные точки, но и вся совокупность исходных данных, а также общий ход сглаженной кривой. Именно нелокальность позволяет достигать плавного хода выходной кривой и её производной одновременно с наилучшим приближением к данным в отличие от большинства других локальных алгоритмов сглаживающих сплайнов, у которых производная содержит изломы.
Штрафная функция уменьшает нелинейность выходной кривой, то есть делает невыгодными её изгибы, можно представлять себе сплайн как упругую линейку, приложенную ко входным данным. Если упругость линейки (параметр λ) слишком велика, линейка полностью распрямится и на выходе останется прямая. Штрафная функция делает сплайн нечувствительным к недостатку исходных экспериментальных точек и позволяет решать все недоопределённые задачи, когда количество выходных точек значительно больше, чем количество входных. Это позволяет корректно обрабатывать большие разрывы в исходных данных и края экспериментальной кривой при сглаживании. Разрыв в данных может значительно превышать шаг выходной шкалы, при этом данные прекрасно сглаживаются и выходная кривая не будет содержать "сшивок" и особых точек. Уникальные свойства применяемомо алгоритма позволяют получать результаты, труднодостижимые в других программах обработки данных, например Origin. Например, сглаживание позволяет восстанавливать большие выпавшие участки графика, как видно на приведённом рисунке. При этом можно разумно восстановить даже области экстремума, а вся сглаженная кривая получается единой без особенностей. Для сравнения - при обработке в Origin выпавашая область будет заполняться прямой, а при последующем сглаживании неизбежны сильные искажения в выпавшей области и вокруг неё.
Настроить параметры выходной эквидистантной шкалы и степень сглаживания можно в диалоге параметров обработки.
Результат сглаживания немедленно появляется в окнах графиков в виде красной линии или точек в зависимости от установленного режима отображения.
Недостатком метода РСШФ является сравнительно невысокая скорость работы, причём эта скорость резко падает с увеличением числа степеней свободы алгоритма, поэтому при создании выходной шкалы с количеством точек под тысячу и выше лучше использовать сглаживание локальным полиномом.
Если исходные данные не содержат больших разрывов и планируется вычисление производной, лучше использовать сглаживание локальным полиномом, а не РСШФ.
Для каждой точки выходной шкалы алгоритм использует полиномиальный фиттинг экспериментальных точек с весовой функцией - Гауссовой шляпкой с заданной полушириной σ. После фиттинга берётся единственное центральное значение этого полинома. Таким образом на точку выходной шкалы оказывают влияние только близлежащие экспериментальные точки с характерным расстоянием σ. Локальность метода делает его значительно быстрее чем РСШФ и позволяет формировать выходные шкалы произвольной длины.
Параметр локальности σ имеет смысл степени сглаживания и может задаваться в диалоге параметров обработки как в единицах шкалы Х (для σ>0), так и в единицах полного диапазоны выходной шкалы (при задании σ<0). В отличие от метода РСШФ степень сглаживания полностью определяется параметром σ и не зависит от заданного количества выходных точек шкалы, т.е. при удвоении количества точек при том же σ обе кривые лягут друг на друга.
Алгоритм сглаживания локальным полиномом определяет гладкую функцию на области экспериментальных данных, которая имеет гладкие аналитичные старшие производные и не зависит от параметров выходной шкалы. Эта функция используется для вычисления значений выходной равномерной шкале Х. Эта особенность позволяет строить шкалы с небольшим числом точек только в нужном месте. Например, разбив большой интервал в 1000 точек на 10 последовательных интервалов по 100 точек мы получим точно те же самые значения, что и за один вызов сглаживания на полном интервале в 1000 точек. Алгоритм РСШФ подобным свойством не обладает.
Линейный полином локального фиттинга (степень 1) позволяет убирать артифакты сглаживания и правильно обрабатывать экспериментальные точки с шумом и/или неравномерной развёрткой по оси Х. Параболический фиттинг (степень 2, рекомендуемое значение) позволяет дополнительно сохранять позицию и амплитуду экстремумов при сильном сглаживании σ. Дальнейшее увеличение степени полинома позволяет ещё точнее воспроизводить особенности исходной кривой, но уменьшают эффективную величину сглаживания σ и увеличивает время обработки.
Похожий алгоритм сглаживания в программе Origin (называется Savitzky-Golay) имеет ряд существенных недостатков. Во-первых, вместо гауссовой весовой функции в Origin используется прямоугольное окно с заданным количеством точек, что приводит к появлению дополнительного шума. Главный же недостаток - ни один алгоритм сглаживания Origin не учитывает значения аргументов Х, поэтому любое сглаживание должно следовать за формированием новой равномерной шкалы по несглаженным экспериментальным точкам, что может привести к большой потере соотношения сигнал/шум при неравномерной развёртке.
Результаты обработки можно сохранить в текстовом формате. В комплексе предусмотрены две возможности экспорта данных: в буфер обмена и в файл. Кнопка или сочетание клавиш <Ctrl>+C копирует обображаемые кривые в буфер обмена, а соответственно кнопка
или сочетание клавиш <Ctrl>+S копируют их в текстовый файл.
Рассмотрим, что пытается сохранить программа по командам раздела меню График или по соответствующим сочетаниям клавиш <Ctrl>+S или <Ctrl>+C:
Формат вывода в буфер обмена адаптирован к быстрому переносу данных в программу Origin 8. Создайте в ней пустую таблицу, выделите первую ячейку (она жёлтого цвета) и нажмите <Ctrl>+V. Данные будут вставлены в таблицу вместе с заголовками столбцов и единицами измерения.
Формат текстового файла несколько отличается от формата вывода в буфер обмена. Комплекс старается записать в текстовом файле как можно больше информации об эксперименте, которая появляется в заголовке файла. Origin игнорирует этот заголовок при импорте данных, но вы всегда можите их прочитать из любого текстового редактора.
Обработка данных - простая и дешёвая операция, поэтому удобно хранить все исходные экспериментальные точки на общедоступном сервере и извлекать их по мере необходимости, совмещая извлечение и быструю обработку. Создание параллельной библиотеки всех обработанных данных в виде текстовых файлов - устаревший и неэффективный режим работы.
Внимательный читатель наверняка заметил, что одно и то же сочетание клавиш используется для экспорта как исходных экспериментальных точек, так и результатов предварительной обработки, и даже для результатов сглаживания. Это сделано для удобства пользователя, ведь запоминать одно общеупотребительное сочетание клавиш проще, чем три! Чтобы понимать контекст команды, быстрое сочетание клавиш для экспорта сделано интеллектуальным, программа всегда старается экспортировать самые обработанные данные. Если на графике есть красные кривые сглаживания (из слота s0), они попадут в буфер обмена или в файл. Если кривых сглаживания нет и отображаются только результаты предварительной обработки (синие и зелёные кривые), то и экспортироваться будут именно они. Наконец, если поля графиков пусты, на экспорт пойдут исходные экспериментальные точки безо всякой обработки. Удалить все загруженные экспериментальные точки (из слота exper) можно сочетанием клавиш <Ctrl>+<Del>.
Для очистки области графиков служит кнопка , команда меню График | Удалить последний или сочетание клавиш <Ctrl>+<Del>. Графики удаляются не все сразу, а постепенно, один за другим. Первым нажатием удаляются кривые сглаживания. Если их уже нет, удаляются кривые предварительной обработки. Хотя все кривые предварительной обработки при сглаживании и трактуются все как одно целое, при удалении они различаются и стираются по одной за нажатие <Ctrl>+<Del>. Порядок удаления кривых обратный по сравнению с тем, как эксперименты были добавлены на график. Поскольку обработка данных считается дешёвой операцией, никакого подтверждения при удалении не делается.
Обратите внимание, что кнопка удаления графиков загруженных данных расположена в другой группе кнопок и имеет более тонкие очертания по сравнению с толстой кнопкой удаления экспериментов из базы данных
. Не перепутайте их, это огорчит вас!
Программа работает с двумя базами данных - локальной и удалённой. Локальная база является основной рабочей, данные для просмотра и редактирования берутся из неё. Соединение с локальной базой данных происходит при входе в программу и поддерживается на протяжении всей работы программы. При необходимости локальную базу данных можно поменять.
Удалённая база служит для резервного копирования данных и для организации доступа к данным из интернета, когда доступ к локальной базе из интернета по каким-то причинам затруднён. Рассмотрим основные способы организации хранения и доступа к данным. На схеме базы данных показаны жёлтым цветом, причем центральный сервер имеет возможность выдавать данные в интернет. Экспериментальные установки обозначены синими цилиндрами, программы - оранжевыми прямоугольниками, а зелёными и жёлтыми стрелками - цифровые и аналоговые потоки данных.
При организации прямого эксперимента запись данных во время измерения осуществляется напрямую на центральный сервер. Это довольно практично, поскольку сервер один и в этом случае не требуется дальнейшего согласования данных. Этот метод удобен для измерений в гостях, он не требует разворачивания базы данных на компьютере эксперимента, но он чувствителен к устойчивости канала связи с центральным сервером - если связь по каким-то причинам прервётся, эксперимент станет невозможен.
Локальный эксперимент более устойчив к обрывам связи. Локальная база данных развёрнута на компьютере эксперимента и всегда доступна, а центральный сервер используется только для передачи на него новых экспериментов во время согласования баз данных. Такой способ организации более универсален и позволяет также хранить на центральном сервере результаты экспериментов, проводимых одновременно различными экспериментальными группами, работающими в одной тематике. Содержимое центрального сервера в этом случае не является копией локального. Комплекс позволяет проводить правильное согласование и обновление данных для произвольного количества рабочих групп.
Для программы редактора данных (описание которой вы читаете) разница между локальной и удалённой базами данных чисто логическая. В любом случае обращение к ним происходит по IP протоколу, даже если база находится на локальном компьютере. Для прямого эксперимента локальной базой данных является центральный сервер, а для локального эксперимента - локальная база на локальном компьютере. Связь редактора данных с локальной базой двусторонняя, программа может производить все операции, в том числе и удаление, если это разрешено на сервере. Для удалённой базы данных возможно только копирование в неё недостающих экспериментов из локальной базы.
Гостевой доступ может предоставляться с центрального сервера всем заинтересованным лицам по всему миру, обеспечивая с одной стороны быстрый и удобный доступ к обработанным данным эксперимента, а с другой стороны гарантируя неприкосновенность и неизменность данных, поскольку доступ открывается только для чтения. База данных в этом случае открывается как локальная, а уровень доступа регулируется администратором центрального сервера базы данных.
Диалог доступа к удалённой базе данных
Для определения параметров доступа к удалённой базе данных служит кнопка или команда меню База | Удалённая база . При этом вызывается такой же диалог, что и при старте программы, но с параметрами подключения к удалённой базе. Хотя корректность параметров проверяется сразу после ввода, соединение с удалённой базой устанавливается только по мере необходимости при согласовании содержимого локальной и удалённой базы экспериментальных данных. Эти параметры хранятся программой и используются по мере необходимости до тех пор, пока вы их не поменяете их на другие. Программа запоминает последний вариант из предустановленного списка комбинаций параметров. При следующем вызове этого диалога будет показан именно этот вариант, но без последующих изменений, сделанных пользователем.
Подтвержение перезаписи параметров образца
из локальной в удалённую базу
На центральном сервере могут храниться эксперименты, проведёнными разными группами, но все они используют одни и те же имена образцов для определения их параметров. Имя образца должно быть уникальным не только в пределах одной группы, но и во всех группах, работающих в данной тематике. Правильной политикой будет как можно более ранняя публикация на центральном сервере имени нового образца, с которым вы планируете провести эксперимент. Это даст сигнал остальным группам и позволит избежать путаницы в дальнейшем. Лучше всего описывать образец ещё до начала проведения над ним экспериментов, а ещё лучше как только появится намерение провести эксперимент, даже если самого образца ещё нет. Если всё-таки эксперимент проведён, а согласование показывает, что имя уже занято на центральном сервере, следует переименовать локальный образец в редакторе образцов . При этом уже проведённые эксперименты останутся привязаны к тому же образцу несмотря на изменение имени образца.
Согласование имён образцов между локальной и удалённой базами данных всегда производится перед согласованием самих данных. Можно провести согласование отдельно командой меню База | Обновить удалённые образцы . Содержимое локальной базы данных при этом никогда не меняется, а для новых образцов, не описанных на удалённой базе, создаются новые записи. При обнаружении на удалённой базе образца с тем же именем, что и на локальной базе, но с другими параметрами программа выводит диалог подтверждения замены. При согласии пользователя параметры удалённой базы обновляются. При отказе пользователя от обновления вся операция считается неудачной и всё обновление прерывается. Комментарий к образцу не считается существенным параметром образца и обновляется без подтверждения.
Будьте внимательны при первом согласовании имени нового образца: если имя занято, а вы настаиваете на обновлении, вы можете испортить записи, сделанные другой рабочей группой. Настаивать на обновлении следует только после изменения основных параметров образца в локальной базе, чтобы эти изменения были отражены в удалённой базе.
Операция служит для копирования новых экспериментов из локальной базы в удалённую. Её можно провести нажатием на кнопку или командой меню База | Обновить удалённые данные . Перед обновлением данных всегда проводится согласование всех имён образцов. В случае неудачи согласования имён образцов вся операция отменяется.
Для проверки, существует ли уже копия локального эксперимента в удалённой базе данных, комплекс использует комбинацию имени образца и времени проведения эксперимента. Считается, что один образец не может одновременно участвовать в эксперименте в двух разных местах.
Альтернативой согласованию данных из локальной в удалённую базу данных служит резервное копирование. При этом на внешнем носителе создаётся снимок всей структуры базы данных, которая потом восстанавливается в том же состоянии на другом компьютере. При этом копирование только отдельных экспериментов незозможно, аналог резервной копии в файловой системе - образ диска, он может быть восстановлен только целиком с удалением предыдущего содержания. Для проведения операций резервирования и восстановления обратитесь к администратору базы данных.