Программа “ONMR relaxometer” v.2.0 предназначена для проведения экспериментов на релаксометре ядерного магнитного резонанса ONMR, связанным с компьютером типа IBM PC, отображения и сохранения результатов измерений, обработки и вывода результатов в формате, пригодном для последующей обработки с помощью программ NUTS (http://www.acornnmr.com/nuts.htm), Origin (http://www.originlab.com/www/products/origin/index.asp), Excel или других. Программа выполняет следующие функции:
Позволяет вводить и сохранять наборы параметров, используемые при измерениях.
Позволяет вводить и сохранять импульсные последовательности для проведения измерений, включающие до 16384 интервалов.
Управляет передачей набора параметров и импульсной последовательности в релаксометр, запуском процедуры измерения и получением данных от АЦП. Размер регистрируемого спада – до 32768 квадратурных точек.
Позволяет проводить усреднение результатов измерений по заданному числу запусков с возможностью управления процессом накопления.
Позволяет
производить накопление результатов
измерения с изменением фазы приемника,
что обеспечивает учет отклонений базовой
линии и компенсирует различие усиления
квадратурных каналов.
Передает управляющие коды узлу релаксометра, задающему значения импульсного градиента магнитного поля, а также блоку управления температурой образца (дополнения).
Позволяет проводить автоматические серийные измерения по введенной программе с возможностью выбора для каждого замера набора параметров, импульсной последовательности, значений температуры и градиента, что позволяет проводить измерения двумерных спектров ЯМР, а также коэффициентов самодиффузии.
Результаты измерения отображаются в виде графиков спада свободной индукции как в декартовых квадратурных координатах с выводом действительной и мнимой части, так и в полярных координатах с выводом амплитуды и фазы.
Осуществляет преобразование Фурье для результатов измерения и отображает графики комплексного ЯМР-спектра образца как в декартовых, так и в полярных координатах.
Сохранение введенных наборов параметров, импульсных последовательностей, программ автоматических измерений, а также результатов измерений и обработки осуществляется в единой базе данных, что позволяет впоследствии для любого сохраненного спада или спектра полностью восстановить условия измерения.
Позволяет создавать любое количество баз данных, например, для разных типов экспериментов, разных образцов и т.п. и выбирать текущую базу в процессе работы.
При сохранении наборов параметров, последовательностей, программ автоматических измерений им можно присваивать достаточно длинные описания, что позволяет легче ориентироваться в них при дальнейшем использовании.
Для сохранения результатов измерений в базе данных создается структура эксперимента с собственным описанием, которое может содержать, например, название образца и тип эксперимента, после чего в этой структуре могут сохраняться как спады, так и спектры с сопутствующими значениями температуры, градиента, а также ссылками на наборы параметров и последовательности. Количество таких структур в базе данных не ограничено, что позволяет легче ориентироваться в результатах измерений.
Для каждого отображаемого графика результатов измерения могут выполняться настройки отображения данных для получения наиболее подробной информации о различных частях спада или спектра: масштабирование и сдвиг как по горизонтали, так и по вертикали с помощью элементов управления масштабом и полос скроллинга или с помощью выбора окон, выбор линейного или логарифмического масштаба с возможностью изменения нижней границы масштабирования, выбор режимов отображения комплексных массивов: отображение любого из 2 массивов, обоих массивов, диаграммы зависимости между массивами (первый массив по Х, а второй по Y).
Предлагает набор функций для редактирования отображаемых на графиках данных: графическая коррекция с помощью мыши, удаление смещения хвоста, добавление константы к массиву, умножение на константу, обнуление данных в выбранном диапазоне, удаление точек в выбранном диапазоне, (для графиков спадов и спектров), коррекция фазы комплексного массива с привязкой в узлах и линейной интерполяцией между узлами, сдвиг массивов (для спектров). Отредактированные данные могут быть сохранены или преобразованы, так же, как и исходные.
Позволяет создавать в каждой форме отображения графиков макрос, содержащий набор команд для повторяющейся обработки регистрируемых или загружаемых массивов данных.
При
получении или загрузке новых данных
можно автоматически запускать макросы в
формах отображения графиков, что
позволяет выполнять некоторую обработку
получаемых данных уже в процессе
измерений.
Выводит в формах графиков положение указателя мыши в физических координатах графика, а также индекс точки массивов, что позволяет снимать с графиков численные значения параметров спадов или спектров.
Позволяет вычислять значения интеграла массива по выбранному диапазону, а также определять значения и положения максимумов линий спектра.
Есть
возможность вывода в буфер обмена
графиков в формате Windows
Metafile (.WMF).
Для дальнейшей обработки данных результаты измерений в виде спадов или спектров могут быть выведены в файлы одномерного формата программы NUTS v 4.54. Наборы спадов или спектров, полученные при проведении автоматических измерений по программе, могут быть выведены в файл двумерного формата этой программы с заполнением массива параметров времени значениями изменяемого параметра эксперимента, что позволяет с помощью программы NUTS вычислять времена релаксации компонент спектра.
Результаты измерений (массивы спада или спектра) могут быть выведены в текстовом виде в буфер обмена Windows, что позволяет использовать их в других программах, таких как Excel, Origin и т.п.
Предоставляет возможность получения тестовых спадов с задаваемыми параметрами, что может использоваться для обучения работе с программой без реальной связи с релаксометром.
Имеется возможность автоматической пакетной обработки набора спадов, полученных при проведении автоматических измерений по программе с получением набора спектров, а также пакетной обработки набора спектров.
Позволяет обрабатывать наборы спадов или спектров для получения значений интегралов по диапазону, амплитуд и положений пиков в зависимости от изменяемого параметра эксперимента с выводом результатов в буфер обмена, что позволяет использовать их для дальнейшей обработки в программах типа Origin или Excel.
Позволяет осуществлять усреднение спадов как по нескольким запускам на каждом шаге программы автоматических измерений, так и по нескольким проходам всей программы, что позволяет более точно измерять времена релаксации при изменении условий измерения во времени.
При
экспорте и выводе данных значения
температуры и градиента выводятся в
физических единицах с пересчетом по
полиномам, коэффициенты которых заданы в
файле параметров.
Предусмотрена
возможность циклического запуска
введенной последовательности для
настройки по осциллографу.
Имеется
возможность добавления подробных
текстовых комментариев (до 511 знаков) к
любым объектам, сохраненным в БД: наборам
параметров, последовательностям,
программам, экспериментам, спадам или
спектрам, а также к самой базе данных.
В
версии 2.0 имеется возможность
использования исходных текстов для
программирования последовательностей и
специфических алгоритмов обработки
полученных спадов. Соответственно
изменена структура базы данных.
Установка ONMR представляет собой релаксометр ЯМР с возможностью выбора рабочей частоты: 40 МГц, 26.667 МГц, 20 МГц и 13.333 МГц. Установка состоит из резистивного магнита с источником питания, датчиков на различные частоты, системой стабилизации поля на базе измерителя магнитной индукции Ш1-1 и синтезатора частоты, блока автоматики, включающего плату генератора импульсных последовательностей и плату формирования и обработки сигналов, усилителя мощности передатчика.
Плата, встраиваемая в компьютер, обеспечивает взаимодействие программы с платами генератора последовательностей и обработки сигналов.
Основная часть программного пакета “ONMR relaxometer” создана с помощью среды разработки и языка программирования Visual Basic v.6.0. Поскольку реализация всех функций обработки и взаимодействия с аппаратурой в этой среде невозможна, либо снижает скорость выполнения операций, все функции взаимодействия с аппаратурой, а также преобразование Фурье и операции, связанные с отображением графиков, реализованы с помощью среды разработки Visual C++ v.6.0 в 2 проектах:
1. Библиотека API-функций APINMR.DLL, включающая в себя функции взаимодействия с аппаратурой и функцию быстрого преобразования Фурье. В демонстрационной версии библиотеки вместо получения данных из буфера платы обработки сигналов производится генерация тестового спада с тремя линиями спектра, параметры которых зависят от передаваемых кодов температуры и градиента. Это позволяет имитировать эксперименты по измерению самодиффузии или зависимости времен релаксации от температуры.
2. Элементы управления OGraph.ocx и OGrapX.ocx, реализующие функции отображения графиков с масштабной сеткой. Элементы включены в диалоговые формы отображения графиков спектров и спадов соответственно в виде белого поля с сеткой. Для вывода графиков запускаются отдельные процессы, что позволяет одновременно с выводом графиков обрабатывать другие события, возникающие в процессе измерений.
Основная диалоговая форма приложения включает в себя элементы управления для ввода и выбора параметров замера и импульсной последовательности, а также меню и элементы управления измерениями. Основная форма активна в течение всего времени работы программы. Кроме основной формы могут быть открыты немодальные диалоговые формы: редактор программы автоматических измерений, форма управления экспериментом, форма генератора тестовых спадов, форма редактора исходного текста последовательности и до 5 форм отображения графиков результатов измерений. Вызов некоторых функций меню или подача команд посредством командных кнопок могут приводить к открытию модальных диалоговых форм управления, которые должны быть закрыты для продолжения работы программы. Закрытие основной формы программы закрывает и все порожденные немодальные формы.
Для нормальной работы программы требуется компьютер с процессором типа Pentium I/II/III или подобным, частотой не ниже 133 МГц, объемом ОЗУ не менее 32 Мб с установленной ОС Windows 98/ME.
Обычный способ ввода последовательностей по шагам удобен только для простых последовательностей с 1-3 импульсами передатчика. При использовании многошаговых и особенно многоимпульсных циклических последовательностей ввод по шагам становится очень трудоемким, поскольку аппаратно циклические последовательности не поддерживаются. Кроме того, при использовании в последовательности множественных окон стробирования спада, для получения спада, приемлемого для дальнейшей обработки, может потребоваться специфическая обработка полученных данных. Поэтому в версии программы 2.0 появилась возможность задания последовательностей в виде исходных текстов с отдельно задаваемыми параметрами, т.е. один исходник можно использовать для генерации кодов последовательностей с различными параметрами и соответствующей обработкой полученных спадов. При использовании исходника его текст хранится в отдельном текстовом файле, а при сохранении последовательности имя файла исходника сохраняется в таблице списка последовательностей БД, а значения переменных параметров сохраняются в специальной таблице базе данных вместо таблицы кодов шагов последовательности. Язык исходных текстов последовательностей использует элементы синтаксиса алгоритмического языка C при вычислении выражений и в операциях присвоения.