How greek1606/qubench works
QuBench lets users upload ECG image datasets, configure preprocessing and feature/model choices, validate and estimate a run, then compare classical and quantum benchmarks on the same features. Results support progress monitoring, per-image diagnosis, and a cross-run leaderboard. The README documents core pipeline stages and capabilities beyond the sampled source; those are represented at the existing backend/core directory where individual module wiring was not visible.
Main entry points: main.py HTTP routes · App.jsx Wizard state · core Benchmark orchestration · api.js REST client
Components 21
User workflow
- Wizard state
frontend/src/App.jsx - Dataset upload
frontend/src/pages/Upload.jsx - Run setup
frontend/src/pages/Configure.jsx - Benchmark view
frontend/src/pages - Diagnosis view
frontend/src/pages/Diagnose.jsx - Leaderboard view
frontend/src/pages/Leaderboard.jsx - REST client
frontend/src/api.js
API and jobs
- HTTP routes
backend/main.py - Config validation
backend/validate.py - Background jobs
backend/jobs.py - JSON storage
backend/store.py - Run contracts
backend/core/contracts.py
Dataset pipeline
- Image ingestion
backend/core/ingest.py - Image preprocessing
backend/core/preprocess.py - Embedding and projection
backend/core
Models and results
- Benchmark orchestration
backend/core - Classical models
backend/core/models_classical.py - Quantum models
backend/core/models_quantum.py - Model checkpoints
backend/core/checkpoint.py - Single-image prediction
backend/core
Other components
- Researcher
Connections 28
- Researcher → Wizard state: uses
- Wizard state → Dataset upload: shows
- Wizard state → Run setup: shows
- Wizard state → Benchmark view: shows
- Wizard state → Diagnosis view: shows
- Wizard state → Leaderboard view: shows
- Dataset upload → REST client: uploads
- Run setup → REST client: configures
- Benchmark view → REST client: polls
- Diagnosis view → REST client: requests
- Leaderboard view → REST client: requests
- REST client → HTTP routes: sends REST
- HTTP routes → Image ingestion: ingests upload
- HTTP routes → JSON storage: saves dataset
- HTTP routes → Config validation: validates config
- HTTP routes → Run contracts: builds config
- HTTP routes → Background jobs: submits run
- Background jobs → Benchmark orchestration: runs benchmark
- Benchmark orchestration → Image preprocessing: processes images
- Benchmark orchestration → Embedding and projection: extracts features
- Benchmark orchestration → Classical models: fits classical
- Benchmark orchestration → Quantum models: fits quantum
- Benchmark orchestration → Model checkpoints: saves models
- Background jobs → JSON storage: saves run
- HTTP routes → JSON storage: reads runs
- HTTP routes → Single-image prediction: requests prediction
- HTTP routes → Model checkpoints: loads model
- Single-image prediction → Image preprocessing: prepares image