ОБЪЕДИНЕННЫЙ   ИНСТИТУТ   ЯДЕРНЫХ   ИССЛЕДОВАНИЙ
lit БИБЛИОТЕКА   ПРОГРАММ   JINRLIB

FITTER_WEB - программа для фитирования данных,
полученных на спектрометре малоуглового рассеяния нейтронов,
реализованная в виде Web-приложения


Авторы: А.Г.Соловьев, Т.М.Соловьева
eng
Вы
counter
посетитель.

Язык: C++, JavaScript
Платформа: Web
Индекс: 10 - Автоматизация обработки экспериментальных данных
Ключевые слова: малоугловое рассеяние нейтронов, фитирование экспериментальных данных, Web-приложение


Программа FITTER_WEB [1] предназначена для фитирования экспериментальных данных выбранной теоретической многопараметрической функцией. Современные тенденции развития программного обеспечения часто подразумевают более широкое использование Web-технологий. Благодаря им в распоряжении пользователя оказываются гораздо более мощные вычислительные ресурсы, нежели в случае использования локальных программ. Пользователь в таком случае получает единый интерфейс, независимый от его операционной системы. Данный проект является продолжением программы FITTER, разработанной для анализа информации, полученной на установке ЮМО, расположенной на 4-ом канале импульсного реактора ИБР-2 ЛНФ ОИЯИ.

Особенностью программы FITTER_WEB является подгонка с использованием функции разрешения. В ней реализованы теоретические модели SANS, в которых форма частиц аппроксимируется простыми геометрическими телами – шарами, эллипсоидами, цилиндрами, призмами. Учитывается, что молекулы одного образца полимера имеют разную молекулярную массу и размеры, то есть представляют собой полидисперсную систему. Кроме того, для более широкой применимости добавлены некоторые стандартные математические модели.

Для оптимизации процесса фитирования в приложении используются встроенные в пакет ROOT неявная многопоточность и векторизация функций. Для применения неявной многопоточности при самостоятельном редактировании программного кода модельной функции необходимо вызвать метод ROOT::EnableImplicitMT(nthreads), где nthreads – число потоков. Если модельная функция допускает реализацию через класс TFormula, то для ее векторизации следует вызвать метод TF1::SetVectorized(“true”).

Программа использует JSROOT - фреймворк, связывающий JavaScript и пакет ROOT, разработанный для обработки результатов экспериментов физики высоких энергий. Реализованные в FITTER теоретические функции присутствуют в новом приложении в виде ROOT-скриптов. Пользователь может редактировать данный скрипт или создать новый, отвечающий его конкретной задаче. Экспериментальные данные загружаются в виде ASCII файла, содержащего как минимум три колонки – X, Y, ΔY. Для теоретических моделей, использующих функцию разрешения, необходима четвертая колонка – ΔX.

Web-интерфейс предоставляет пользователю возможность фитирования в заданном диапазоне, выбор метода минимизации и конкретного алгоритма для фитирования, а также ряда других параметров. Для минимизации функционала, который является мерой отклонения теоретической кривой от экспериментальных данных, применяется библиотека алгоритмов оптимизации MINUIT, которая входит в состав пакета ROOT.

При реализации интерфейса был использован входящий в дистрибутив ROOT компонент – FitPanel. Контроль процесса фитирования осуществляется на консоли, а его результат отображается на ROOT Canvas, которые представлены отдельными вкладками Web-окна. Результат фитирования может быть сохранен в виде текстовых файлов, содержащих значения теоретической функции и параметры фитирования, а также в виде изображения.

fitter_img

Графический интерфейс FITTER_WEB


Приложение FITTER_WEB доступно по адресу http://fitter.jinr.ru.

Литература:

  1. А.Г. Соловьев, Т.М. Соловьева, А.И. Куклин, М. Балашою. Разработка веб-приложения для фитирования данных спектрометра малоуглового рассеяния нейтронов. // Параллельные вычислительные технологии (ПаВТ’2023). Короткие статьи и описания плакатов. Челябинск, Издательский центр ЮУрГУ, стр. 206-214 (2023).
    Текст статьи



home up e-mail