2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00
2026-07-11 02:52:04 +03:00

Биопортал Лаб

Русскоязычный frontend-прототип платформы для лабораторных расчётов и анализа микробиологических экспериментов.

Текущий фокус — демонстрационный сценарий PetriCount: загрузка фотографии чашки Петри, поиск кандидатов на колонии CV-baseline, ручная коррекция и передача результата в расчёт КОЕ/мл.

Важно: текущий PetriCount — экспериментальный интерфейс и baseline-модель. Результаты не являются лабораторно валидированным измерением и требуют ручной проверки.

Что есть в проекте

  • адаптивный дашборд Биопортал Лаб;
  • экран PetriCount с загрузкой JPG, PNG и WEBP;
  • добавление и удаление маркеров вручную;
  • локальный Flask API для анализа изображений;
  • обучаемый CV-baseline: генерация многомасштабных кандидатов + Random Forest, обучаемый на JSON-разметке AGAR;
  • скрипт повторного обучения модели.

Быстрый запуск

Требуется Python 3.13 или новее.

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python server.py

Откройте http://127.0.0.1:8000 и перейдите в карточку PetriCount.

Повторное обучение CV-baseline

Чтобы переобучить модель, положите пары *.jpg и *.json в AGAR_representative/, сохраняя относительную структуру каталогов, затем выполните:

.venv/bin/python train_petri_model.py

Разметка должна содержать поля x, y, width, height и class для каждой колонии. Полученная модель записывается в models/petri_candidate_classifier.joblib.

Каталоги с датасетом, моделью и виртуальным окружением исключены из Git: они весят около 400 МБ и создаются или поставляются локально.

Структура

index.html / styles.css / app.js    Главный дашборд
petricount.*                        Интерфейс PetriCount
server.py                           Локальный Flask API и раздача frontend
petri_cv.py                         Признаки и генерация CV-кандидатов
train_petri_model.py                Обучение baseline-модели
requirements.txt                    Версии Python-зависимостей

Ограничения текущего прототипа

  • модель обучена на небольшой выборке и не имеет независимой валидации;
  • API предназначен для локального запуска, без авторизации и хранения данных;
  • экспорт, расчёт КОЕ/мл и сохранение экспериментов пока являются интерфейсными сценариями, а не полноценным backend-функционалом.
S
Description
No description provided
Readme
48 KiB
Languages
HTML 43.4%
Python 29.2%
JavaScript 27.4%