Полная версия страницы  English  

Некоммерческая программа для чтения FCS-файлов

Y.Shorop, 02.09.2010 14:17
Целью создания программы freeFCS-reader (если название уже занято - переименую) была необходимость проведения более тонкого статистического анализа данных, чем позволяет общеизвестная корявая и устаревшая 16-битная WinMDI.

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

Как производить анализ? Загрузить в программу файл формата FCS, создать регионы, определить диапазоны, выстроить условия в логическую цепочку и на ее основании выбрать группу событий для сохранения в виде HTML-таблицы, которую можно открыть или вставить в Excell для дальнейшего анализа.
Замечания, в программу можно загрузить только файлы с параметрами DATATYPE/I и MODE/L (это можно определить, если открыть файл в текстовом редакторе как текст). Также программа не анализирует линейное или логарифмическое усиление было установлено и выводит данные, как они записаны в файле.

PS. Программа является реальным результатом выполнения моей диссертационной работы, и я крайне заинтересован в ее внедрении. Буду благодарен за ответ.


Файл/ы:

скачать файл freeFCS_reader.zip
размер: 312.66
кол-во скачиваний: 14



скачать файл freeFCS_reader_manual.zip
размер: 765.99
кол-во скачиваний: 8


Дядя ФАКСер, 02.09.2010 14:46
Банально - не открывает файлы (FCS 2.0, .lmd)
Y.Shorop, 02.09.2010 15:20
Прикрепите пример файла, пожалуйста
Дядя ФАКСер, 02.09.2010 16:12
Кстати, интерфейс совершенно неинтуитивен. И где, собственно, визуализация дотплотов и гистограмм, к примеру? выставлять что-либо, вводя численные значения, совершенно нерелевантно.


P.S. Файл в архиве- для примера


скачать файл 00006842_2009_07_01_1500_003.ZIP
размер: 115.36
кол-во скачиваний: 7


Y.Shorop, 02.09.2010 17:37
Громаднейшее спасибо за обнаруженный баг,
проблема была в том, что в заголовке Вашего файла порядок байт обозначался как "1,2", тогда как я считал, что допустима лишь запись "1,2,3,4" — добавил возможность. В ПЕРВОМ СООБЩЕНИИ повесил новую версию, можете скачать и продолжить тестирование…

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

Прошу прощения. Обнаружил, что послекомпиляции в GUI-приложение программа перестала сохранять файлы =:0. Повесил в первом сообщении 3-ий релиз, где кроме указанного, изменил способ рисования частотной гистограммы и ввел функцию ее подсветки (зачем не знаю, но выглядит суперово).
Дядя ФАКСер, 03.09.2010 11:18
Теперь открывает.
Но остается, как минимум, еше проблема - работа с множественными гейтами. Недуобно постоянно деражать в памяти всю булеву цепочку- стоит добавить графики (открытие нескольких дотплотов одновременно и цепочек регионов).
А так, на первом шаге- считает вполне корректно.

P.S. Но вот с файлами, экспортированными с DiVa 6.1 не хочет работать- не распознает заголовка.

Пример- вот

скачать файл 160609_p53_NKT_set_up_surface_CD3F_6B11PE_CD4PETR_CD8PECy5_CD56PB.zip
размер: 2.7
кол-во скачиваний: 7


Y.Shorop, 05.09.2010 22:47
Повесил 4 релиз.
Теперь и такой файл может прочитать. Кроме того, к региону можно добалять его текстовое описание, можно ограничить количество сохраняемых данных. Изменен диалог вывода статистики на более коректный (реально считается среднее не для всех данных, а для первых 6000-10000).

Зы. В некоторых процедурах были значитьные изменения. Могли появится новые "глюки"
Дядя ФАКСер, 06.09.2010 11:48
(Y.Shorop @ 05.09.2010 21:47)
Ссылка на исходное сообщение  Изменен диалог вывода статистики на более коректный (реально считается среднее не для всех данных, а для первых 6000-10000).


Это- некорректно. Надо считать для всех событий в гейте. Вот выводить (по желанию пользователя)- для визуализации можно не все.
Sharu, 08.09.2010 10:27
а почему бы не взять для ваших задач за основу существующий проект с отрытым кодом на Питоне - https://galen.dulci.duhs.duke.edu/flow ? Там и библиотеки для импорта экспорта всех типов файлов есть и инструменты гейтирования и визуализации.
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
umnik.gif Прикольная программка, особенно нравится наличие наличие русского языка.
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

Пользуйтесь на здоровье, но не забывайте давать ссылку на ее использование в публикациях.
Это — лёгкая версия форума. Чтобы попасть на полную, щелкните здесь.
Invision Power Board © 2001-2012 Invision Power Services, Inc.