Files
Bioportal-lab/README.md
T

58 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Биопортал Лаб
Русскоязычный frontend-прототип платформы для лабораторных расчётов и анализа микробиологических экспериментов.
Текущий фокус — демонстрационный сценарий PetriCount: загрузка фотографии чашки Петри, поиск кандидатов на колонии CV-baseline, ручная коррекция и передача результата в расчёт КОЕ/мл.
> Важно: текущий PetriCount — экспериментальный интерфейс и baseline-модель. Результаты не являются лабораторно валидированным измерением и требуют ручной проверки.
## Что есть в проекте
- адаптивный дашборд Биопортал Лаб;
- экран PetriCount с загрузкой JPG, PNG и WEBP;
- добавление и удаление маркеров вручную;
- локальный Flask API для анализа изображений;
- обучаемый CV-baseline: генерация многомасштабных кандидатов + Random Forest, обучаемый на JSON-разметке AGAR;
- скрипт повторного обучения модели.
## Быстрый запуск
Требуется Python 3.13 или новее.
```bash
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python server.py
```
Откройте [http://127.0.0.1:8000](http://127.0.0.1:8000) и перейдите в карточку PetriCount.
## Повторное обучение CV-baseline
Чтобы переобучить модель, положите пары `*.jpg` и `*.json` в `AGAR_representative/`, сохраняя относительную структуру каталогов, затем выполните:
```bash
.venv/bin/python train_petri_model.py
```
Разметка должна содержать поля `x`, `y`, `width`, `height` и `class` для каждой колонии. Полученная модель записывается в `models/petri_candidate_classifier.joblib`.
Каталоги с датасетом, моделью и виртуальным окружением исключены из Git: они весят около 400 МБ и создаются или поставляются локально.
## Структура
```text
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-функционалом.