Fityk — свободный анализатор пиков

В деятельности практически каждого химика периодически приходится сталкиваться с необходимостью проанализировать пики, аппроксимировать их какой-либо функцией. Кто-то использует для этого Origin — суперкомбайн под Windows, кто-то умудряется что-то даже в Екселе получить, но для регулярного использования, конечно необходимо нечто специализированное.
Сегодня мы вкратце рассмотрим Fityk
— замечательный пакет для «фиттинга», разрабатываемый сообществом (лицензия GPL) при координации Марчина Войдыра (Marcin Wojdyr), аспиранта из Варшавы.
Fityk — это программа для нелинейной аппроксимации и анализа функций. Позволяет проводить визуализацию данных, а основное ее назначение — разделение перекрывающихся пиков, и подбор параметров методом наименьших квадратов с использованием стандартного алгоритма Левенберга-Марквардта, обычного алгоритма или симлексного метода Нелдера — Мида.
По умолчанию в программе имеются встроенные общие «колоколообразные» (bell-shaped) функции (Gaussian, Loretzian, Pearson 7, Voigt, Pseudo-Voigt) и полиномы. Любые же пользовательские функции могут быть легко добавлены. Поддерживается также фоновую замену переменных, калибровку данных и автоматизацию заданий с помощью простого скриптового языка программирования.
Упоминая о скриптовом языке «Фитыка» стоит остановиться подробнее о реализации программы. Она имеет [почти] интуитивно понятный графический интерфейс, позволяющий неопытным пользователям «мышетыканьем» убрать базовую линию, нарисовать приблизительные пики на экспериментальных данных и получить хороший результат. (Который потом можно удобно экспортировать в различных форматах). 
До последней версии некоторым неудобством в процессе графического «фиттинга» была невозможность «прокрутки» параметров пика с клавиатуры, но она была реализована буквально за пару дней после моего обращения к автору.
Из недостатков GUI сейчас можно отметить сложность (или даже невозможность) редактирования введенных экспериментальных данных с помощью визуальных средств.
Конечно, все эти недостатки меркнут при том, что программу можно использовать из командной строки без всякого GUI. Это может быть особенно удобно для пакетной обработки графиков и сопряжения с другими программами (что просто бесценно и является «хорошим тоном» для Линукс-программ).
Программа была разработана для анализа моделей дифракции пыли, но может быть использована для удовлетворения нужд в анализе любого вида данных. В частности, отмечено успешное ее использование в хроматографии, фотолюминесценции и фотоэлектронной спектроскопии, ИК и КР-спектроскопии, а автором сообщения, кроме того, использовалась при интерпретации данных измерений магнитной восприимчивости.
Естественно, как и большинство свободных программ, Fityk — может работать как под Линуксом, так и под FreeBSD, MS Windows и MacOS X.
Дружелюбное же сообщество поможет разобраться в этом продукте, улучшить или «заточить под себя».
Официальный сайт: http://www.unipress.waw.pl/fityk/
- Комментировать (войти или зарегистрироваться)







Комментарии
А как из других приложений
А как из других приложений туда перекидывать набор данных чтобы, скажем, изобразить хроматографический спектр?
конечно, лучше всего через
конечно, лучше всего через старый/добрый/лучший/надежный[и т.д.] текстовой файл со столбцами данных — вывод в него позволяет сделать любая нормальная программа, а обрабатывать можно тоже хоть в "блокноте".
(Не упоминаю здесь всякие изощренные способы ввода через скрипты, например, автоматически ПО хроматографа вызывает фитык, дает ему данные и параметры обработки, и т.д.)
Вот именно, что "любая
Вот именно, что "любая нормальная", да кто ж на практике ими пользуется? Обычно с ПО у нас получается работа по принципу "как прибили, так и держится"!
здесь под словом «нормальная»
здесь под словом «нормальная» имелось в виду не столько «правильная», сколько «популярная»: даже ужасный Ексель кое-как выводит в «tabs separated ASCII», а среди программ, идущих к приборам, большинство тоже могут выводить ASCII. (Я только с одним старым PerkinElmer УФ-ом сталкивался, который пишет в свой какой-то формат, а его уже потом конвертировал другой программой. )