Datasets¶
RadHarmony supports 44 dataset configurations across 35 underlying datasets. Click a dataset name for the full page (constructor args, harmonizer notes, label columns).
Inventory¶
| Dataset | Modality | Dim | Labels | Outputs available | Page |
|---|---|---|---|---|---|
| CheXpert | CXR | 2D | 14 pathologies | cls | → |
| CheXpert-Plus | CXR | 2D | 14 pathologies | cls, report | → |
| CheXlocalize | CXR | 2D | 14 pathologies | cls, mask | → |
| VQA-RAD | CXR/CT/MRI | 2D | n/a (VQA) | question, answer | → |
| MIMIC-CXR (DICOM) | CXR | 2D | 14 pathologies | cls, report | → |
| MIMIC-CXR-JPG | CXR | 2D | 14 pathologies | cls | → |
| MIMIC-CXR-JPG (Test) | CXR | 2D | 14 pathologies | cls | → |
| ChestX-ray14 | CXR | 2D | 15 pathologies | cls | → |
| ChestX-ray14 (BBox) | CXR | 2D | 15 pathologies | cls, bbox | → |
| PadChest | CXR | 2D | 193 findings | cls, report (Spanish) | → |
| ReXGradient-160K (Train) | CXR | 2D | none | report | → |
| ReXGradient-160K (Valid) | CXR | 2D | none | report | → |
| ReXGradient-160K (Test) | CXR | 2D | none | report | → |
| VinDr-CXR (Train) | CXR | 2D | 28 findings | cls, bbox | → |
| VinDr-CXR (Test) | CXR | 2D | 28 findings | cls, bbox | → |
| VinDr-PCXR | CXR | 2D | 15 conditions (pediatric) | cls, bbox | → |
| SIIM-ACR Pneumothorax | CXR | 2D | pneumothorax | cls, mask | → |
| SIIM COVID-19 | CXR | 2D | 4 appearance classes | cls, bbox | → |
| RSNA Pneumonia | CXR | 2D | 3 classes | cls, bbox | → |
| RSNA Pneumonia (Kaggle) | CXR | 2D | 3 classes | cls, bbox | → |
| RSNA PE Detection beta | CT | 3D | 13 PE labels | cls | → |
| RSNA Pediatric Bone Age beta | Radiograph | 2D | age (regression) | reg | → |
| RSNA 2024 Lumbar Spine beta | MRI | 3D | 75 severity cols | cls, bbox | → |
| CT-RATE beta | CT | 3D | 18 findings | cls | → |
| RAD-ChestCT beta | CT | 3D | 84 findings | cls, mask, report, bbox | → |
| Montgomery County CXR | CXR | 2D | TB classification | cls, mask | → |
| Shenzhen Hospital CXR | CXR | 2D | tuberculosis (binary) | cls, mask, report | → |
| OpenI IU CXR | CXR | 2D | 8 findings (CheXpert-compat) | cls, report | → |
| OpenI IU CXR (DICOM) | CXR | 2D | 8 findings (CheXpert-compat) | cls, report | → |
| TAIX-Ray (512px) | CXR | 2D | 8 findings (binary/ordinal) | cls | → |
| TAIX-Ray (original) | CXR | 2D | 8 findings (binary/ordinal) | cls | → |
| RSNA 2022 Cervical Spine beta | CT | 3D | 8 fracture labels | cls, mask | → |
| RSNA 2022 Cervical Spine (BBox) beta | CT | 3D | 8 fracture labels | cls, bbox | → |
| RSNA 2023 Abdominal Trauma beta | CT | 3D | 14 injury labels | cls | → |
| BRAX (DICOM) | CXR | 2D | 14 pathologies | cls | → |
| BRAX (PNG) | CXR | 2D | 14 pathologies | cls | → |
| RANZCR CLiP | CXR | 2D | 11 catheter/line labels | cls, mask | → |
| GEMeX-VQA | CXR | 2D | n/a (VQA over MIMIC-CXR-JPG) | question, answer, bbox | → |
| MIMIC-Ext-CXR-QBA | CXR | 2D | n/a (VQA over MIMIC-CXR) | question, answer | → |
| ROCO | Multimodal | 2D | n/a (captioning) | question (empty), answer, keywords | → |
| EmoryCXR v2 | CXR | 2D | 14 pathologies | cls, report | → |
| Emory CHORUS (X-ray subset) | CXR | 2D | none (image-only) | img | → |
| MS-CXR | CXR | 2D | 8 findings + phrase grounding | cls, bbox | → |
| MS-CXR-T | CXR | 2D | temporal progression (5 findings) | previous_img | → |
Finding a dataset's label columns¶
Every dataset class exposes LABEL_COLS and REG_COLS as class attributes:
from radharmony.dataset import CheXpertDataset, RSNABoneAgeDataset
print(CheXpertDataset.LABEL_COLS) # ['atelectasis', 'cardiomegaly', ...]
print(RSNABoneAgeDataset.REG_COLS) # ['age_months']
The cls tensor in a data dict has one value per entry in LABEL_COLS, in sorted (alphabetical) order — not necessarily the order they appear in the class definition.
Output flags¶
Each dataset supports a subset of output flags. Passing a flag that the dataset does not support raises a warning and the key is absent from the data dict.
| Flag | Data dict key | Description |
|---|---|---|
output_cls=True |
"cls" |
Multi-label classification tensor |
output_mask=True |
"mask" |
Segmentation mask tensor |
output_bbox=True |
"bbox", "bbox_labels" |
List of [dim0_min, dim0_max, dim1_min, dim1_max] fractional boxes |
output_report=True |
"report" |
Free-text radiology report string |
output_reg=True |
"reg" |
Regression target tensor |
base_image_dir convention¶
base_image_dir is the deepest common ancestor directory shared by all
images in the dataset — not the competition root. image_path values are
relative to it and may include subdirectory components (e.g.
patient_id/study_id/image.dcm for datasets with patient/study folder
structure). For each dataset, the wiki page above documents the exact expected
layout and an example path.
For datasets with separate train/test splits, each split takes its own image directory:
| Dataset | Train base | Test base |
|---|---|---|
| CheXpert | train/ |
valid/ |
| ChestX-ray14 | CXR14 root (images_001/ … images_012/ siblings) |
same |
| VinDr-CXR | train/ |
test/ |
| SIIM-ACR-PTX | dicom-images-train/ |
dicom-images-test/ |
| SIIM COVID-19 | train/ |
test/ |
| RSNA Pneumonia (Kaggle) | stage_2_train_images/ |
stage_2_test_images/ |
| RSNA PE Detection | train/ |
test/ |
| RSNA Cervical Spine | train_images/ |
test_images/ |
| RSNA Abdominal Trauma | train_images/ |
test_images/ |
| RSNA Lumbar Spine | train_images/ |
test_images/ |
| RSNA Bone Age | boneage-training-dataset/ |
Bone Age Validation Set/ |
| RANZCR CLiP | train/ |
test/ |
| ReXGradient-160K | deid_png/ (train split) |
deid_png/ (test split — JSON differs per split, image tree shared) |
Structural exceptions — some datasets have images split across multiple
sibling subdirs inside base_image_dir, where image_path carries the
subdir name. Examples:
- MIMIC-CXR (DICOM) and MIMIC-CXR-JPG:
base_image_diris thefiles/directory; images are grouped underp10/,p11/, … patient-group subdirectories, soimage_pathtakes the formp{group}/p{patient_id}/s{study_id}/{image}.dcm(or.jpg). - ChestX-ray14:
base_image_diris the CXR14 root; images are split across itsimages_001/…images_012/sibling children. - PadChest:
base_image_diris theimages/directory; images are split across its0/,1/, …,50/,54/sibling children (slots 51/52/53 don't exist in the official distribution). - RSNA Bone Age (val):
base_image_dirisBone Age Validation Set/; images are split across itsboneage-validation-dataset-1/and-2/sibling children. (Train has no exception — itsbase_image_diris the flat image directory.)
When adding a new dataset, follow the base_image_dir convention: no
hardcoded subdirectory prefix in image_path that could be folded into
base_image_dir instead.