Skip to content

Pipelines

Nexus Bot edited this page Jul 24, 2026 · 2 revisions

Pipelines

For each TCIA-public cohort, pipelines/ ships a ready-to-run bundle: plan.json + main.nf + prefect_flow.py + nextflow.config + deploy.sh.

cd pipelines/lung1/
cp /path/to/your/clinical.csv clinical/clinical.csv
./deploy.sh                       # nextflow (per-patient parallel, default)
EXECUTOR=prefect ./deploy.sh      # via Prefect 2.x
EXECUTOR=inline  ./deploy.sh      # sequential subprocess (smoke tests)

Available bundles: lung1/, nsclc_cetuximab/, lidc_idri/, acrin_heart/, ibsi1/.

pipelines/ibsi1/ is different from the others — it's not a TCIA cohort bundle but an IBSI-1 digital-phantom standard-compliance verification, checking the PyRadiomics and PySERA engines' extracted feature values against the published IBSI-1 reference values.

Validated cohorts

End-to-end validated on three TCIA public cohorts — all flow cleanly through convert → extract → results merge → analyze:

Cohort Format on TCIA Conversion path
NSCLC-Radiomics (LUNG1) DICOM CT + RTSTRUCT (or pre-converted NRRD) qr convert dicom-series + qr convert rtstruct --roi GTV-1
NSCLC-Cetuximab DICOM CT + RTSTRUCT qr convert dicom-series + qr convert rtstruct --roi PTV
ACRIN-NSCLC-FDG-PET DICOM CT/PET + RTSTRUCT qr convert dicom-series + qr convert rtstruct --roi Heart

Ready-to-run shell scripts for each cohort (plus LIDC-IDRI and the IBSI phantom) live in examples/.

Verified end-to-end (published-study reproduction)

Each row is a published study whose protocol is reproduced end-to-end in the repo. Pick the matching row, run the entry point, get a result within the paper's tolerance.

Pipeline Paper anchor Entry point Verified outcome
LIDC AHSN nodule detection Choi & Choi, CMPB 2014;113(1):37–54 pipelines/lidc_idri/ahsn_proxy.py · ahsn_hardneg.py 180-D AHSN descriptor, nodule vs non-nodule
LIDC + LUNGx malignancy radiomics (RM) Choi et al., Med Phys 2018;45(4):1537–1549 pipelines/lidc_idri/reproduce_papers.py · methods_compare.py LIDC RM AUC ≈ 0.816 ± 0.006 · LUNGx ext+cal ≈ 0.756
LUNGx interpretable spiculation (PM) Choi et al., CMPB 2021;200:105839 pipelines/lidc_idri/methods_compare.py · qradiomics.shape.spiculation_from_voxel radiomics+spic PM ≈ 0.868 ± 0.039

Each entry point writes a JSON/CSV report next to the script — no manual gluing. Full numbers: Reproducibility.

Clone this wiki locally