-
Notifications
You must be signed in to change notification settings - Fork 0
Datasets
qradiomics is a portable, plug-in benchmark harness — the same pipeline ingests many public sources without re-architecting. Every loader emits a wide features CSV with one shared schema, so downstream modelling is source-agnostic.
| Source | Subject | Loader / converter |
|---|---|---|
| TCIA (LIDC-IDRI, NSCLC-Radiomics, NSCLC-Cetuximab, LUNGx / SPIE-AAPM, Lung-PET-CT-Dx, …) | DICOM CT series + RTSTRUCT, by SeriesInstanceUID | qr tcia download --collection ... -o ... |
| TCIA bundled XML / xlsx (LIDC-XML-only.zip, LUNGx truth xlsx) | per-series annotations |
pipelines/lidc_idri/extract_features.py (XML), extract_lungx.py (xlsx) |
| Zenodo (CIRDataset 6762573) | paper-grade nodule meshes + masks (NRRD per nodule) | pipelines/lidc_idri/extract_cir.py |
| GitHub (nadeemlab/CIR, choilab-jefferson/CIR, pylidc, lidc2dicom) | reference implementations / annotation lists | one-off ports |
| Local DICOM trees (institutional cohorts) | DICOM + RTSTRUCT | pipelines/<cohort>_local/ |
All loaders emit the same wide CSV:
pid, reader, nodule_id, n_voxels, volume_mm3, malignancy, ...,
status_radiomics, status_spic, [1409 PyRadiomics features], [6 spiculation features]
Downstream tools (reproduce_papers.py, reproduce_cir.py, methods_compare.py) don't care which source the features came from — the same CSV works.
| Split | Identifier |
|---|---|
| RM (Radiomic Model training) | LIDC-IDRI 1,018 patients, malignancy ≥ 4 vs ≤ 2 (drop 3) |
| PM (Pathology Model calibration) | LIDC-PM 72 patient IDs (pinned at pipelines/lidc_idri/lidc_pm_ids.txt) |
| LUNGx CalibrationSet | TCIA CT-Training-* (10 size-matched nodules) |
| LUNGx TestSet | TCIA LUNGx-CT* (60 nodules / 73 with multi-nodule cases) |
- Add a
pipelines/<cohort>_loader.pythat yields(pid, nodule_id, ct_image, mask)from the source's native format. - Feed the tuples through
qradiomics.atomic.extract_features+qradiomics.shape.spiculation_from_voxel. - Emit a CSV with the standard schema.
- Plug the CSV into
methods_compare.py/reproduce_cir.py— no harness changes needed.
Source-specific work stays confined to the loader; downstream modelling is identical across datasets.
Provenance. Each loader writes the source URL / DOI into the CSV header so any AUC traces back to the original public record. Mask provenance matters — region-grow masks (
extract_lungx.py) produce a different AUC than the paper-grade CIR masks (extract_cir.py); always report which mask source was used.
See Reproducibility for the numbers these datasets produce and Citations for required references.
qradiomics · MIT License · developed by the Choi Lab, Dept. of Radiation Oncology, Sidney Kimmel Medical College at Thomas Jefferson University · please Citations upstream papers when publishing
Getting started
Reference
Cohorts & results
About