Skip to content

Add a scoring page that wraps viame score on desktop and web - #1889

Merged
BryonLewis merged 14 commits into
mainfrom
dev/scoring-mode
Sep 8, 2026
Merged

Add a scoring page that wraps viame score on desktop and web#1889
BryonLewis merged 14 commits into
mainfrom
dev/scoring-mode

Conversation

@mattdawkins

Copy link
Copy Markdown
Member
  • New top-level Scoring tab (desktop between Pipeline and Settings, web after Models) and a Score bulk action in the library.
  • Score any number of sequences in one run: per row pick the computed and truth annotations (current, annotation set / revision on web, earlier annotation file or browsed file on desktop, or another dataset with the same footage). Pairs are exported as computed/seq_N.csv + truth/seq_N.csv and scored by one viame score folder-mode job.
  • Results stored as auxiliary/scoring_<ts>.json on the first computed dataset; "Previous runs" lists every run the user can read; "Reuse setup" restores a run's sequences and parameters.
  • Tabs: summary metrics (detection, localization, segmentation, keypoint, length, MOT/HOTA/KWANT), per-class table, confusion matrix (click a cell to filter errors), interactive PR/ROC curves (hover for threshold, consolidated vs per class, click a point then "Use as confidence filter"), threshold sweep with recommended per-class filters, per-object error browser with per-frame chart.
  • All viame score options exposed in a parameters dialog (IoU, confidence, box/polygon matching, per-class, top-class, aux confidence, tracking, keypoint tolerance, sweep steps, filter estimator, default label, class synonyms).
  • Web: POST dive_rpc/score, GET dive_scoring, GET/DELETE dive_dataset/:id/scoring[/:resultId], GET dive_dataset/:id/scoring_sources; CSV export gains a set param. Desktop: RunScoring job on the CPU queue.
  • Requires the matching VIAME change (VIAME/VIAME tool-applets 11f12f500) for --match-mode, --output-matches and inlined sweep curves.
  • The shared viewer is untouched. Verified end to end on desktop; the web worker path is unit-tested only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YEefheVfnAJsDhdisaBmis

mattdawkins and others added 9 commits September 6, 2026 16:33
New top-level Scoring tab: pick sequences, computed/truth annotations
(sets, revisions, earlier files or another dataset), run one viame score
job over all of them, and browse metrics, confusion, PR/ROC, sweeps, errors.
Export menu on a loaded run: the stored JSON, a CSV of the summary,
per-class, confusion and sweep tables, and a print-styled report view
saved through Electron's printToPDF on desktop or the print dialog on web.

@BryonLewis BryonLewis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most changes are kept relatively separate from affecting other code.

Below are some changes I've made to this branch I think to imporve user experiance and during my testing.

  • Source linking for scoring runs: Scoring UI updates so pairs can point at annotation sets, revisions, or on-disk sources, with viewer navigation into those annotations.
  • Web dataset picker: Dialog-based dataset picker on web for choosing comparison datasets in scoring.
  • PDF export cancel: Cancel support in the PDF preview flow for scoring exports.
  • Sample scoring dataset script: samples/scripts/scoring/generate_dataset.py and README to generate test data for the scoring workflow.
  • Annotation JSON import fixes: Better handling of .dive.json files (import path fix in the VIAME serializer and improved JSON annotation detection on import).
  • Picker remembers last folder: Add-sequence / dataset picker opens to the last folder used.
  • VIAME virtualenv fix: Clears VIRTUAL_ENV and adjusts PATH in viame_config.py so VIAME's embedded Python is not pointed at the DIVE venv.

@BryonLewis
BryonLewis merged commit 73673ca into main Sep 8, 2026
3 checks passed
@BryonLewis
BryonLewis deleted the dev/scoring-mode branch September 8, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants