MIMIC-CXR (DICOM)¶
Modality: CXR | Format: DICOM | Dim: 2D | Labels: 14 pathologies + reports
Overview¶
MIMIC-CXR is a large publicly available dataset of chest radiographs in DICOM format from the Beth Israel Deaconess Medical Center, containing 227,835 imaging studies for 65,379 patients (377,110 images total). It includes free-text radiology reports and CheXpert-extracted labels. Access requires credentialing on PhysioNet.
Download¶
Available at PhysioNet: MIMIC-CXR. Requires CITI training and signed DUA.
Expected layout¶
mimic-cxr/2.1.0/
cxr-record-list.csv.gz
cxr-study-list.csv.gz
files/
p10/
p10000032/
s50414267/
02aa804e-bde0afdd-...dcm
Label columns¶
Same 14 labels as CheXpert (NLP-extracted from reports):
atelectasis, cardiomegaly, consolidation, edema, enlarged_cardiomediastinum, fracture, lung_lesion, lung_opacity, no_finding, pleural_effusion, pleural_other, pneumonia, pneumothorax, support_devices
Constructor arguments¶
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
base_image_dir |
str |
Yes | None |
files/ subtree root (e.g. /data/mimic-cxr/2.1.0/files/) — direct parent of the p10/, p11/, … patient prefix dirs |
dicom_base_dir |
str |
No | same as base_image_dir |
Explicit DICOM root if different |
csv_path |
str |
No | auto | cxr-record-list.csv.gz; auto-discovered |
label_csv_path |
str |
No | auto | CheXpert labels CSV (from MIMIC-CXR-JPG) |
report_csv_path |
str |
No | auto | cxr-study-list.csv.gz for report text |
drop_uncertain |
bool |
No | True |
Drop rows with uncertain labels |
Shared arguments (inherited from BaseRadiologicalDataset)¶
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
output_cls |
bool |
No | False |
Include "cls" in data dict |
output_mask |
bool |
No | False |
Include "mask" in data dict |
output_report |
bool |
No | False |
Include "report" in data dict |
output_bbox |
bool |
No | False |
Include "bbox" and "bbox_labels" in data dict |
transform |
MONAI transform | No | None |
MONAI Compose transform; None uses the default pipeline |
cache_dir |
str |
No | "./cache" |
MONAI cache directory |
dtype |
torch.dtype |
No | torch.bfloat16 |
Output tensor dtype |
harmonized_df |
pd.DataFrame |
No | None |
Pre-built harmonized DataFrame |
harmonizer |
harmonizer | No | None |
Pre-instantiated harmonizer |
harmonizer_path |
str |
No | None |
Path to saved harmonized CSV |
Dataset constructor¶
import torch
from radharmony.dataset import MIMICCXRDataset
ds = MIMICCXRDataset(
base_image_dir="/data/mimic-cxr/2.1.0/files/",
label_csv_path="/data/mimic-cxr-jpg/2.0.0/mimic-cxr-2.0.0-chexpert.csv",
output_cls=True,
output_report=True,
dtype=torch.float32,
)
train_ds, val_ds = ds.get_datasets(n_splits=5)
Harmonizer¶
from radharmony.harmonizer import MIMICCXRHarmonizer
h = MIMICCXRHarmonizer(
csv_path="/data/mimic-cxr/2.1.0/cxr-record-list.csv.gz",
dicom_base_dir="/data/mimic-cxr/2.1.0/files/",
label_csv_path="/data/mimic-cxr-jpg/2.0.0/mimic-cxr-2.0.0-chexpert.csv",
report_csv_path="/data/mimic-cxr/2.1.0/cxr-study-list.csv.gz",
report_base_dir="/data/mimic-cxr/2.1.0/files/",
)
df = h.harmonize()
print(df.columns.tolist())
df.to_csv("mimic_cxr_harmonized.csv", index=False)
Load from saved harmonized CSV¶
import pandas as pd
from radharmony.dataset import MIMICCXRDataset
ds = MIMICCXRDataset(
base_image_dir="/data/mimic-cxr/2.1.0/files/",
harmonized_df=pd.read_csv("mimic_cxr_harmonized.csv"),
output_cls=True,
)
Harmonizer notes¶
- Primary CSV is
cxr-record-list.csv.gz(image–study mapping) - Labels come from a separate CheXpert label CSV (available in MIMIC-CXR-JPG)
- Reports come from
cxr-study-list.csv.gz - Uncertain labels handled as in CheXpert
Outputs¶
| Flag | Key | Shape | Notes |
|---|---|---|---|
output_cls=True |
"cls" |
(14,) |
CheXpert-extracted labels |
output_report=True |
"report" |
str |
Free-text radiology report |
Example paths¶
| Role | Path |
|---|---|
base_image_dir |
/path/to/MIMIC-CXR-V2-AWS/files/ |
csv_path (mimic-cxr-2.0.0-metadata.csv) |
/path/to/MIMIC_CXR/physionet.org/files/mimic-cxr-jpg/2.0.0/mimic-cxr-2.0.0-metadata.csv |
label_csv_path (mimic-cxr-2.0.0-chexpert.csv) |
/path/to/MIMIC_CXR/physionet.org/files/mimic-cxr-jpg/2.0.0/mimic-cxr-2.0.0-chexpert.csv |
report_csv_path (cxr-study-list.csv.gz) |
/path/to/MIMIC-CXR-V2-AWS/cxr-study-list.csv.gz |
Metadata and chexpert CSVs live in the JPG release tree, not in the DICOM tree. Pass them explicitly — auto-discovery may not find them when the two releases are stored under different mounts.