ISO БПИ – БГПА - БНТУ

Университет

Одно окно

Услуги

Обучение иностранных граждан

Работодателям

Вакансии

УНИВЕРСИТЕТ

Новости - Конференция МИДО

Рудикова Л.В. О РЕАЛИЗАЦИИ СИСТЕМЫ ВИЗУАЛИЗАЦИИ И ОБРАБОТКИ ДАННЫХ РЕЗУЛЬТАТОВ СПЕКТРАЛЬНОГО АНАЛИЗА

 

УДК 004.91+347.78.031

 

О РЕАЛИЗАЦИИ СИСТЕМЫ ВИЗУАЛИЗАЦИИ И ОБРАБОТКИ ДАННЫХ РЕЗУЛЬТАТОВ СПЕКТРАЛЬНОГО АНАЛИЗА

Рудикова Л.В.

Учреждение образования «Гродненский государственный университет

имени Янки Купалы», Гродно, Беларусь, Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

Рассматриваются особенности реализации системы, предназначенной для визуализации и обработки результатов спектрального анализа. Система предусматривает наличие клиентов двух типов: десктопного клиента и веб-браузера, посредством которых можно обрабатывать результаты экспертизы и накапливать их в базе данных для последующей обработки.

Введение. Программная поддержка лазерной экспрессной экспертизы является на сегодняшний момент актуальной задачей. Во-первых, в силу того, что существуют проблемы идентификации эмиссионных спектров лазерной абляционной плазмы. Во-вторых, отсутствует универсальная система, которая осуществляла бы централизованное накопление, хранение и обработку соответствующего рода информации, а также – поддержку в принятии решения по тому или иному вопросу, связанном с проведением материаловедческой экспертизы различных объектов.

При рассмотрении проблем, которые возникают при проведении лазерного спектрального микроанализа, можно выделить проблему идентификации и обработки эмиссионных спектров лазерной абляционной плазмы. Следует отметить, что некоторые особенности лазерной плазмы, не позволяют полностью автоматизировать обработку спектров. В силу этого требуется тесное взаимодействие человека, с программой при помощи, которой, спектр обрабатывается. Наличие графического интерфейса существенно упрощает и ускоряет работу с программой, а также делает ее интуитивно более понятной.

При элементном анализе материалов отождествление и фотометрирование спектральных линий элементов занимает достаточно много времени. Несмотря на то, что сами методы спектрального анализа хорошо разработаны, а также имеются некоторые библиотеки для визуализации спектральных линий [1–4], на сегодняшний момент отсутствует программное обеспечение, которое самостоятельно, без участия человека, отождествляет спектральные линии. Это связано, прежде всего, с тем, что различные линии по-разному проявляются в различных источниках излучения.

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

Формулировка основных требований к созданию системы визуализации и обработки спектров Перечислим основные возможности, которые должны поддерживаться системой визуализации спектров (Визуализатор спектров) при обработке входного файла, полученного в результате лазерной экспрессной экспертизы.

Итак, процесс обработки спектра можно разделить на несколько основных этапов (рисунок 1): анализ входных данных (измерения спектрометра); фильтрация шумов во входных данных и поиск пиков; установка новых или использование старых настроек поиска спектральных линий; поиск спектральных линий в соответствующих базах данных; визуализация данных; сохранение результатов поиска в различных форматах.

Рисунок 1 – Процесс обработки спектра

Указанные этапы целесообразно оформить в виде модулей для последующего использования в веб-системе, поддерживающей лазерную экспрессную экспертизу.

Перечислим также основные возможности, которые должны поддерживаться системой визуализации спектров при обработке входного файла, полученного при проведении лазерной экспертизы: считывание файлов, содержащих зарегистрированные спектры, их группировка и сохранение в истории; поиск пиков с возможностью отсечения пиков по высоте и ширине; возможность настройки параметров шумоподавления для более точного определения границ пиков; возможность выбора различных баз данных и поиск спектральных линий с возможностью настройки поиска; сохранение проделанной работы в виде графического изображения с подписанными линиями, экспорт в текстовый файл или сохранение результатов в обобщенной библиотеке спектральных линий; возможность автоматического поиска спектральных линий с использованием системы экспертных оценок на основе обобщенной библиотеки спектральных линий.

Визуализатор спектров должен обеспечивать автоматический поиск пиков с возможностью изменения настроек поиска (например, отсекать пики с малой интенсивностью, или с большой шириной), а также – возможность указать пики на спектре вручную, корректировать или удалять уже найденные пики путем добавления или перетаскивания мышкой на спектре границ, между которыми находится пик. Кроме того, для пиков необходимо подсчитывать площадь и высоту (площадь и высота подсчитывается от уровня фона, а не от нуля).

Визуализатором спектров также должна поддерживаться возможность выбора вручную тех элементов, которые могут присутствовать в спектре, т.к. большинство элементов встречается достаточно редко. При поиске возможных спектральных линий в базах данных необходимо учитывать различные параметры, сужающие результат поиска (погрешность установления длинны волны – т.е., в каких пределах от найденной длинны волны вершины пика необходимо вести поиск, минимальная и максимальная интенсивность, предпочитаемые химический элемент).

Необходима поддержка экспорта проделанной работы в файл. Файл экспорта должен содержать список длин волн пиков (вершина и границы), их интенсивностей и соответствующих им линий из баз данных. Файл должен иметь формат CSV и содержать следующие столбцы: длина волны вершины пика, левая граница, правая граница, интенсивность, затем – линии из баз данных (со всеми параметрами, которые имеются), помещенные в третий список. Количество столбцов может варьироваться в зависимости от типа базы данных, в которой была найдена спектральная линий, соответствующая пику.

Отметим, что в визуализатор спектра необходимо добавить экспорт картинки спектра с подписанными длинами волн, которая сохраняется в виде графического файла, и возможность загрузки выходного файл на новый полученный спектр, что может помочь идентификации линий при похожих спектрах. Таким образом, интенсивности в новом спектре будут новые, однако сами границы линий и элементы могут оставаться одинаковыми.

Необходимо добавить также сохранение результатов в централизованную библиотеку спектральных линий для последующего ее использования при проведении операции экспертных оценок системой принятия решения. Стоит отметить, что с ростом числа пользователей и количества данных, хранящихся в централизованной обобщенной библиотеке спектральных линий, предусмотрена работа с другими библиотеками спектральных линий. Например, библиотека спектральных линий, рассчитанная на определенное подразделение работников или на каждого работника организации в отдельности.

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

Отметим, что, несмотря на имеющиеся наработки в данном плане, такого рода библиотека разрабатывается впервые. Кроме того, для всего приложения характерно модульная сервисная архитектура.

Приведем основные структурные модули, связанные с обобщенной библиотекой. Это, прежде всего, модуль клиентского приложения, модуль сервисов и модуль данных. Кроме того, программное обеспечение включает также базу данных для хранения всей необходимой информации.

Непосредственный пользователь общается с библиотекой через интерфейс клиентского приложения, который, в зависимости от прав доступа, позволяет либо получить необходимую информацию, либо добавить / модифицировать данные, связанные со спектральными характеристиками химических элементов.

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

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

Основные требования для программного обеспечения, поддерживающего обобщенную библиотеку спектральных линий. Разрабатываемая библиотека спектральных линий включает в себя данные из многих источников. Ввиду этого, является очевидным необходимость поддержки обобщенной библиотеки в актуальном состоянии.

Следовательно, основным требованием для программного обеспечения (ПО), поддерживающего обобщенную библиотеку спектральных линий, является синхронизация и пополнение данными из внешних источников или других библиотек спектральных линий.

ПО должно иметь модульную структуру. Это позволит подключать адаптеры данных между сторонним источником данных и разрабатываемой библиотекой в виде модулей. Синхронизация библиотеки должна иметь возможность запускаться вручную или по заранее настроенному расписанию.

Основной модуль поддержки библиотеки спектральных линий должен обладать следующими возможностями: подключение сторонних адаптеров; опрашивать сторонние адаптеры через интерфейс IDataAdapter на предмет наличия новых данных в сторонних библиотеках; преобразовать и сохранять поступившие данные в обобщенной библиотеке спектральных линий; запускать синхронизацию по расписанию.

Модель функций программного Визуализатора спектров. Учитывая изложенное выше и специфику предметной области, построена функциональная модель для программного визуализатора спектров, которая приведена на рисунке 2.

Рисунок 2 – Диаграмма вариантов использования

для программного Визуализатора спектров

На предлагаемой диаграмме вариантов использования представлены два класса актеров: пользователь, который будет работать с программным визуализатором спектров, и база данных, предполагающая наличие необходимых спектральных линий химических элементов и спектральных образцов. Для осуществления взаимодействия с программным анализатором предполагается обязательное наличие пользовательского интерфейса, с помощью которого возможны следующие действия, связанные с обработкой данных спектра: визуализация данных, отождествление данных со спектрами из базы данных, сохранение обработки для исследуемого образца и некоторые другие действия. Особо следует заметить, что программные визуализатор предполагает широкие возможности пользовательской настройки и обработки данных.

Отметим также, что Визуализатор спектров использует различные базы спектральных линий для отождествления снятых спектрограмм. Поддержка соответствующей библиотеки спектральных линий является обязательной частью предлагаемого программного обеспечения, модель данных для которой разработана с учетом необходимых требований. Таким образом, модель данных учитывает информацию следующего плана: об элементе, длинах волн, источнике возбуждения, интенсивности линии в зависимости от источника возбуждения, потенциале ионизации, наличии самообращения линий, принадлежности спектру нейтрального атома или иона. Кроме этого в базу вносится информация о физических и химических свойствах элементов и др.

О реализации приложения, связанного с визуализацией зарегистрированных спектров. Архитектура клиентского приложения Визуализатора спектров выбрана таким образом, чтобы данное приложение могло легко взаимодействовать с различными форматами файлов зарегистрированных спектров, базами данных спектральных линий и сохранять результат работы в различные форматы. Возможности работы приложения легко расширяются написанием дополнительных модулей для соответствующей части приложения. Общая архитектура Визуализатора спектров представлена на рисунке 3.

Рисунок 3 – Общая архитектура Визуализатора спектров

Система предусматривает наличие клиентов двух типов: десктопного клиента и веб-браузера, посредством которых можно обрабатывать результаты экспертизы и накапливать их в базе данных для последующей обработки.

Клиентское десктоп-приложение. Для разработки системы визуализации и обработки данных результатов спектрального анализа выбраны следующие технологии и инструменты разработки: платформа .Net Framework; объектно-ориентированный язык C#; СУБД MS SQL Server и Microsoft Enterprise Library [5-10].

Главное назначение десктопного клиента – быстро обрабатывать зарегистрированные спектры и предоставлять необходимые данные в удобном для пользователя виде. Для уменьшения зависимостей между компонентами при реализации используется Unity Application Block (Unity). Unity реализует паттерн Dependency Injection (Внедрение зависимости). Таким образом, клиентское десктоп приложение зависит только от интерфейсов (контрактов), а не от самой реализации. Благодаря этому данное приложение легко расширяемо, даже сторонними модулями.

В разработанном приложении имеется две точки расширения функциональности: чтение файлов, содержащих зарегистрированные спектры и подключение различных баз данных спектральных линий. Расширение функциональности доступно по средствам реализации определенных интерфейсов (ISpectrumFileReader и ISpectrumLinesRepository соответственно), которые доступны в динамически загружаемых библиотеках SpectrumAnalyser.Data.Files.SpectrumFileReaderContracts.dll и SpectrumAnalyser.Data.Files.

SpectrumDatabaseContracts.dll соответственно, и подключением реализованных модулей (модули должны находится в одной папке с приложением и названы SpectrumAnalyser.Data.Files.*.dll). Модули расширения функционала должны быть написаны на языках семейства .Net.

Клиентское приложение веб-браузера реализовано с использованием технологии XBAP (XAML Browser Application) и представляет собой полноценное WPF-приложение с некоторыми особенностями: приложение может быть встроено в HTML-страницу (с помощью тега ) либо загружено по прямому адресу и занимать всю область веб-страницы; приложение имеет ограниченные права в целях предотвращения выполнения потенциально опасного кода; приложение не требует инсталляции – при первой загрузке приложение кэшируется, но если приложение было обновлено на сервере, то на клиентской машине приложение кэшируется заново, таки образом клиент всегда работает с последней версией приложения; приложение может быть запущено только в браузерах Internet Explorer или Firefox.; приложение имеет черты как веб-приложения (должно быть развернуто на сервере), так и многофункционального десктоп-приложения (использование преимуществ WPF).

Аналогично клиентскому десктоп-приложению, назначением приложения веб-браузера является быстрая обработка зарегистрированных спектров и предоставление данных в удобном для пользователя виде. Однако в сравнении с десктоп-приложением веб-приложение имеет ряд отличий: в качестве базы данных спектральных линий используется обобщенная библиотека спектральных линий (в десктоп-приложении возможно использование файловых БД); конфигурация приложения хранится в базе данных (в десктоп приложении используется конфигурационный файл).

Приложение веб-браузера и десктоп-приложение имеют общую кодовую базу (пользовательские элементы управления, модели представления, конвертеры и др.), которая вынесена в отдельный проект. Отличием является запуск приложения, т.к. он производится в веб-браузере, а не в окне.

Клиентское десктоп-приложение разработано для работы в среде Microsoft Windows XP или выше. Для работы приложения на машине клиента необходимо наличие .Net Framework версии v4.0 или выше. Приложение предназначено для анализа спектров и поиска спектральных линий по имеющимся базам данных спектральных линий.

Рабочая область приложения включает необходимые элементы интерфейса для подключения требуемой базы данных спектральных линий, исследуемого входного файла, а также для обработки конкретной спектрограммы и группы спектрограмм для исследуемого образца (рисунок 4). Основные возможности клиентского приложения: работа с файлами, содержащими результаты измерений; расширенный поиск пиков на спектре; расширенный поиск спектральных линий; работа с группами спектров исследуемого образца; сохранение результатов обработки по требуемому формату.

Рисунок 4 – Отображение информации о спектральных линиях на гистограмме

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

Список литературы

1. Burakov, V.S. Quantitative analysis of alloys and glasses by a calibration-free method using laser-induced breakdown spectroscopy // V.S. Burakov, S.N. Raikov / Spectrochimica Acta. Part B. – 2007. – V. 62. – P. 217–223.

2. Harvard-Smithsonian Center for Astrophysics [Electronic resource] – Mode of access: http://www.cfa.harvard.edu/. – Date of access: 22.10.2014.

3. Physical Measurement Laboratory [Electronic resource] – Mode of access: http://www.nist.gov/pml/. – Date of access: 22.10.2014.

4. Plasma Laboratory – Weizmann Institute of Science [Electronic resource] – Mode of access: http://plasma-gate.weizmann.ac.il/. – Date of access: 22.10.2014.

5. Lowy, Juval. Programming WCF Services. Building SOAs and Windows Communication Foundation / Juval Lowy – O'Reilly Media, 2007. – 640 c.

6. Somasegar, S. Developer's Guide to Microsoft Enterprise Library / S. Somasegar. – Microsoft, 2013. – 232 c.

7. The Compehensive R Archive Network [Electronic resource] – Mode of access: http://cran.r-project.org/web/packages/Peaks/Peaks.pdf. – Date of access: 12.11.2014.

8. Berger, А.. Microsoft SQL Server 2008 Analysis Services / A. Berger, E. Melomed. – Pearson Education eBook Publish Date: January 21, 2009.

9. Найт, Б. Microsoft SQL Server 2008: руководство администратора для профессионалов / Б. Найт, К. Пэтел, В. Снайдер, Р. Лофорт, С. Уорт. – М.: Диалектика, 2009 – 904 с.

10. Роберт, Э.У. SQL Server 2008: ускоренный курс для профессионалов / Э.У. Роберт, М. Коулс, Р. Рей, Ф. Феррачати, Д. Фармер. Пер с англ. – М.: Издательский дом «Вильямс», 2008. – 768 с.

Результаты работы получены в процессе выполнения ГПНИ «Разработка научно-методического обеспечения практического использования мобильных лазерных спектроаналитических систем и рентгенофлуоресцентного анализатора для экспрессной материаловедческой экспертизы в инновационных технологиях, предотвращении чрезвычайных ситуаций, экологии, криминалистике, сохранении историко-художественного наследия. Разработка и адаптация программного обеспечения для использования при проведении экспрессной материаловедческой экспертизы различных изделий и образцов».