MA
Portfolio

Area CData Foundation

Archive-Scale DICOM Metadata Extraction

Parallel ETL · ~1M-file archives

Turning million-file binary archives into analysis-ready tables — the input to every cohort.

files per archive
~1M
files per archive
curated tags, or all
~40
curated tags, or all

01/Problem

Before any cohort can be curated, DICOM metadata has to exist in tabular form — but it's locked inside binary files across deep storage hierarchies, in archives too large to process serially.

02/Approach

A configurable parallel ETL that enumerates DICOMs across arbitrary cloud-storage layouts and extracts a curated tag subset or everything. It auto-detects directory topology and refuses to guess on ambiguous roots. Nested multiprocessing keeps memory bounded; batches flush incrementally and resume idempotently; malformed files are recorded, not fatal.

03/Outcome

  • ~1M-file archives turned into analysis-ready manifests feeding cohort selection, EDA, de-identification and dataset building.
  • Run across multiple production and multi-customer archives.
  • Memory-bounded and restartable, making multi-hour runs practical.

04/My role

  • Directed it be built as a reusable, operator-configurable tool rather than a per-project script — cohort selection recurred across every product line.

Stack

PythonpydicomGCSmultiprocessing