MA
Portfolio

Area BProduction ML Platform

Series Organizer — MR Sequence Classification Service

Low-latency production microservice · v2.0.0

300 series classified in under two seconds, from metadata alone — enforced in CI, not claimed.

for 300 series, CI-enforced
<2.0 s
for 300 series, CI-enforced
standardized sequence types
11
standardized sequence types

01/Problem

Viewers arranged images by free-text series descriptions that vary by manufacturer, site and technologist — producing unreliable comparison layouts. An earlier attempt to embed classification in the viewer caused instability.

02/Approach

A stateless FastAPI service classifying MR series into 11 types from 13 DICOM tags — no pixel data — via an ensemble of k-fold random forests. The whole nested payload is flattened into one frame for a single vectorized prediction. Tolerant typing and a coercion layer absorb vendor heterogeneity instead of failing the batch; deterministic rules handle out-of-distribution inputs.

03/Outcome

  • 300 concurrent series in under 2.0 s per request — enforced by an automated test against live deployments.
  • ≥ 85% micro accuracy as a pipeline-failing release gate.
  • Zero-coupling deployments: model updates ship with no viewer client release.

04/My role

  • Made the call to replace the failed embedded approach with a decoupled service.
  • Set the <2 s / 300-series SLA from the radiologist hanging-protocol requirement and required continuous enforcement in CI.

Stack

FastAPIscikit-learnRandom ForestGitLab CI