Целью создания программы freeFCS-reader (если название уже занято - переименую) была необходимость проведения более тонкого статистического анализа данных, чем позволяет общеизвестная корявая и устаревшая 16-битная WinMDI.
Помещаю для обсуждения Бета-версию программы. Она отлажена, но не снабжена подсказками (хочу убедиться в понятности пользовательского интерфейса, а также, возможно, будут замечания по поводу дизайна). Просьба апробировать, высказать пожелания, замечания и т.д. Программа бесплатна для использования и распространения, создана мной лично с использованием бесплатных программных средств и не нарушает ничьих прав интеллектуальной собственности.
Как производить анализ? Загрузить в программу файл формата FCS, создать регионы, определить диапазоны, выстроить условия в логическую цепочку и на ее основании выбрать группу событий для сохранения в виде HTML-таблицы, которую можно открыть или вставить в Excell для дальнейшего анализа. Замечания, в программу можно загрузить только файлы с параметрами DATATYPE/I и MODE/L (это можно определить, если открыть файл в текстовом редакторе как текст). Также программа не анализирует линейное или логарифмическое усиление было установлено и выводит данные, как они записаны в файле.
PS. Программа является реальным результатом выполнения моей диссертационной работы, и я крайне заинтересован в ее внедрении. Буду благодарен за ответ.
Кстати, интерфейс совершенно неинтуитивен. И где, собственно, визуализация дотплотов и гистограмм, к примеру? выставлять что-либо, вводя численные значения, совершенно нерелевантно.
Громаднейшее спасибо за обнаруженный баг, проблема была в том, что в заголовке Вашего файла порядок байт обозначался как "1,2", тогда как я считал, что допустима лишь запись "1,2,3,4" — добавил возможность. В ПЕРВОМ СООБЩЕНИИ повесил новую версию, можете скачать и продолжить тестирование…
Поскольку основное предназначение проги - перевод файла в читабельный формат, дот-плоты используются только для выделения регионов, а гистограммы – диапазонов (кнопки находятся во включенном состоянии, но срабатывают при загруженном заголовке файла).
Прошу прощения. Обнаружил, что послекомпиляции в GUI-приложение программа перестала сохранять файлы =:0. Повесил в первом сообщении 3-ий релиз, где кроме указанного, изменил способ рисования частотной гистограммы и ввел функцию ее подсветки (зачем не знаю, но выглядит суперово).
Дядя ФАКСер, 03.09.2010 11:18
Теперь открывает. Но остается, как минимум, еше проблема - работа с множественными гейтами. Недуобно постоянно деражать в памяти всю булеву цепочку- стоит добавить графики (открытие нескольких дотплотов одновременно и цепочек регионов). А так, на первом шаге- считает вполне корректно.
P.S. Но вот с файлами, экспортированными с DiVa 6.1 не хочет работать- не распознает заголовка.
Повесил 4 релиз. Теперь и такой файл может прочитать. Кроме того, к региону можно добалять его текстовое описание, можно ограничить количество сохраняемых данных. Изменен диалог вывода статистики на более коректный (реально считается среднее не для всех данных, а для первых 6000-10000).
Зы. В некоторых процедурах были значитьные изменения. Могли появится новые "глюки"
Дядя ФАКСер, 06.09.2010 11:48
(Y.Shorop @ 05.09.2010 21:47)
Изменен диалог вывода статистики на более коректный (реально считается среднее не для всех данных, а для первых 6000-10000).
Это- некорректно. Надо считать для всех событий в гейте. Вот выводить (по желанию пользователя)- для визуализации можно не все.
Sharu, 08.09.2010 10:27
а почему бы не взять для ваших задач за основу существующий проект с отрытым кодом на Питоне - ? Там и библиотеки для импорта экспорта всех типов файлов есть и инструменты гейтирования и визуализации.
Y.Shorop, 08.09.2010 14:06
Дядя ФАКСер Готовлю новый релиз с возможностью, экспорта данных Real Time в другие приложения, где я уже изменил подсчет средних и стандартных отклонений через арифметический сопроцессор. Автор (не я) утверждает, что высокая точность подсчета сохраняется для 10 млн. данных. У кого-нибудь есть еще замечания, чтобы я сразу все учел?
Sharu Спасибо за информацию. Буду знать что есть альтернатива. Однако, я свой проект уже практически закончил. Если еще каких-нибудь дополнительных функций хотите в нем — напишите, я подумаю…
Y.Shorop, 13.09.2010 20:56
Добрый вечер, наконец-то закончил новый релиз. Добавил возможность получения «продвинутыми» пользователями данных прямо из памяти. Для этого к программе прилагается динамическая библиотека Connector.dll, в которой экспортированы функции для работы FreeFCS-reader и два файла с их описаниями (на языке VisualBasic (для написания макросов в офисных программах) и Паскаль (если кто-то будет создавать свое Windows-приложение)). Как писал, ввел подсчет статистики через арифметический сопроцессор, остальные изменения — по мелочам…
Приложение библиотекой Connector.dll экспортируются следующие функции: Connect – если в ридер загружен заголовок файла, устанавливает связь с ним, сохраняет данные в памяти, и возвращает ИСТИНА, иначе возвращает ЛОЖЬ. Disconnect — разрывает связь с ридером и дает ему команду очистить память. GetColls — выдает количество загруженных параметров. GetRows — выдает количество загруженных событий. GetName — принимает номер (начиная от нуля) параметра и возвращает его имя. GetData — принимает номер параметра (начиная от нуля) и порядковых номер события (тоже начиная от нуля), возвращает значение параметра данного события.
Например, следующий макрос выводит в Excell имена параметров
Sub Sample() If Connect Then For i = 0 To GetColls - 1 Cells(1, i + 1).Value = GetName(i) Next Disconnect End If End Sub
6 октября, восьмой (если не сбился со счету релиз). Кроме уймы ликвидированных багов добавил возможности открытия файлов с помощью программы (можете ставить программу как открывающую FCS-файлы по умолчанию) и подключение плагинов. Включил в комплект скомпилированный плагин описательной статистики и исходник плагина для подсчета коеффициента линейной корреляции на Delphi (не скомпилировал ибо зело тяжелый вышел). Работаю над мануалкой.
21 октября Повесил девятый релиз. В нем - для большей уникализации поменял назвние библиотеки для работы с внешими приложениями на freeFCSConnector (Пользователю, вероятно, придется сохранять ее в директории Windows). - Ввел новую опциональную интерфейсную функцию для плагинов Function plgSubscript: pChar; stdcall. Которая может возвращать описание плагина во нововведенное окно в диалоге выбора плагина. - Ввел новую функцию доступную из плагина function GetParametrMaxRange(Coll:word): longint; stdcall;, которая возвращает максимально допустимое значение параметра. Это понадобилось для написания "личного плагина", строящего гистограммы распределения. - исправил ошибку выделения памяти при определении диапазона.
Galula, 30.10.2010 21:46
Прикольная программка, особенно нравится наличие наличие русского языка.
Y.Shorop, 04.04.2011 20:49
Ну наконец-то, версия 1.10+мануалка!!!! Обязательно сотрите, к такой-то матери, имеющиеся предыдущие глючные версии и закачайте эту.
В программу добавлены 2 новые возможности: догрузка файлов и возможность увеличения линейной компенсации. Появились две дополнительные функции доступные из плагинов – встроенное окно для выделения регионов и загрузка совместимого по параметрам файла. Исправлены около десятка позорных багов.
Зы. С утра отнесу документы на регистрацию авторского права и уже займусь непосредственно созданием плагина для анализа диссертационных данных с помощью программы.
Дядя ФАКСер, 05.04.2011 11:31
Дык, надо файл к теме подвесить.
Y.Shorop, 06.04.2011 15:07
Файлы прикреплены к первому сообщению.
12.04.2011 Я тут подправил диалог установки условий отбора событий (условия сбрасывались если становилось текущими), но номер релиза 1.10 по причине незначительности изменений менять не стал.
Taraan, 15.05.2011 18:58
Почему-то не сохраняет регионы. Когда я задал определенный регион, нажимаю на галочку, и напротив созданного региона в главном окне не появляется новая иконка, и вызвать заново картинку с созданным регионом не получается.
vavai33, 21.05.2011 13:55
скачаю пригодится.
Y.Shorop, 31.05.2011 15:26
Taraan
Возможность показа региона программой не предусматривалась. После нажатия кнопки для создания региона, уже имеющийся регион сразу уничтожается. В ближайшее время это положения я изменять не собирался, поскольку придется сильно переделывать структуру программы. Что касается того, что регион не создается - Если это действительно так, предоставьте, пожалуйста файл и сообщите для каких параметров не удается создать регион и ,на всякий случай, версию Виндовс. Постараюсь разобраться…
vavai33
Пользуйтесь на здоровье, но не забывайте давать ссылку на ее использование в публикациях.
Это — лёгкая версия форума. Чтобы попасть на полную, щелкните здесь.