Skip to content

DDMAL/Standalone-Interactive-Classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ic_new

A modern rewrite of the Interactive Classifier — a tool for interactively classifying chant-manuscript neumes using a k-Nearest Neighbors model.

This project replaces the legacy Rodan job (Django + Celery + Gamera + Backbone.Marionette) at [/Rodan-lite/backend/django/code/jobs/interactive_classifier/] with a non-Django Python service, a React + Vite frontend, and no Gamera dependency.

Key differences from the legacy IC

  • Input is a full page image plus a bounding-box annotation file (for example, MOTHRA JSON or YOLO), not page-level GameraXML. Neume crops are derived from those annotations rather than supplied as pre-cropped glyph images.
  • Manual split (CCA on a single glyph) is deferred. Reintroduce only if real data shows crops that contain multiple neumes.
  • Output stays as GameraXML so downstream MEI pipelines keep working.

Status

Layer Path Status
Algorithm core core/ic_core/ In progress — scaffolded, partial impl
API api/ In progress, open to future change
Frontend frontend/ Not started

Repository layout

ic_new/
├── core/
│   ├── ic_core/        # Phase 1: algorithm core (uv-managed Python package)
│   └── tests/          # Pytest suite + fixtures
├── api/                # Phase 2: FastAPI service (planned)
├── frontend/           # Phase 3: React + Vite UI (planned)
└── docs/
    ├── CLAUDE.md       # Guidance for Claude Code working in this repo
    ├── migration_plan.md
    └── KNN_ALGORITHM.md

Quickstart (algorithm core)

The core package uses uv for environment and dependency management.

cd core/ic_core
uv sync                 # install dependencies
uv run pytest ../tests  # run tests
uv run ruff check .     # lint

Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages