CoolFace
Datasetpublic

tjusto2409/IGNITE

IGNITE Data Toolkit (mirror) Mirror of the IGNITE Data Toolkit by Spronck et al. (Radboud UMC), originally distributed on Zenodo (10.5281/zenodo.15674785) and accompanied by DIAGNijmegen/ignite-data-toolkit. The dataset accompanies "A tissue and cell-level annotated H&E and PD-L1 histopathology image dataset in non-small cell lung cancer" (arXiv:2507.16855). License: CC BY-NC-SA 4.0 - non-commercial, share-alike. Attribution to the original authors is required.… See the full description on the dataset page: https://huggingface.co/datasets/tjusto2409/IGNITE.

sourceHugging Facecc-by-nc-sa-4.0updated 1mo agoView on Hugging Face
0likes76downloads
Dataset Card

IGNITE Data Toolkit (mirror)

Mirror of the IGNITE Data Toolkit by Spronck et al. (Radboud UMC), originally distributed on Zenodo (10.5281/zenodo.15674785) and accompanied by DIAGNijmegen/ignite-data-toolkit. The dataset accompanies "A tissue and cell-level annotated H&E and PD-L1 histopathology image dataset in non-small cell lung cancer" (arXiv:2507.16855).

License: CC BY-NC-SA 4.0 - non-commercial, share-alike. Attribution to the original authors is required.

Contents

155 unique patients, 887 fully annotated regions of interest from a multi-stain, multi-centric, multi-scanner cohort (Radboud UMC, Sacro Cuore Don Calabria, TCGA-LUAD/LUSC). The release splits into three task-defined subsets, exposed here as named configs:

ConfigTaskROIs
heH&E tissue compartment segmentation408
pdl1PD-L1+ tumor cell detection344
nucleiPD-L1 IHC nuclei detection135

H&E tissue segmentation (he config)

Splits follow data_overview.csv:

SplitROIsNotes
train269Train pool — paper uses 5-fold CV via the validation_fold col.
test139Held-out evaluation set (62 TCGA + 77 Radboud ROIs).

Each row is one ROI with paired image/mask in two field-of-view variants:

ColumnTypeDescription
imageImageBase ROI (inner annotated region only)
maskImage16-class pixel mask aligned to image
image_with_contextImageSame ROI extended to a 1792x1792 view (annotated context)
mask_with_contextImage16-class pixel mask aligned to image_with_context
validation_foldstring5-fold CV assignment (fold0..fold4); empty for test rows
patient_idint32Patient identifier
roi_idint32ROI index within patient
namestringpatient<id>_he_roi<idx> (matches the original release)
sourcestringrumc, scdc, or tcga
specimen_typestringresection, biopsy, or tissue_microarray
organstringAnatomical site (lung, liver, bone, brain, ...)
histological_subtypestringadenocarcinoma, squamous_cell_carcinoma, ...
stainstringAlways H&E for this config
scannerstringWSI scanner model
shapestringOriginal (height, width) tuple as a string
area_mm2float32Annotated tissue area in mm^2
original_tcga_idstringTCGA case ID for TCGA-sourced ROIs (empty otherwise)

Labels (also shipped as he_label_map.json):

IDClassIDClass
0Unannotated9Erythrocytes
1Background10Bronchial epithelium
2Tumor epithelium11Mucus/Plasma/Fluids
3Reactive epithelium12Cartilage/Bone
4Stroma13Macrophages
5Inflammation14Muscle
6Alveolar tissue15Liver
7Fatty tissue16Keratinization
8Necrotic tissue

The paper's evaluation pipeline treats class 0 ("Unannotated", i.e. surrounding context in _with_context masks) as an ignore label during Dice/IoU computation. Downstream loaders should mirror that to reproduce paper-comparable scores.

Mirror-specific note: In the original Zenodo release, base ROI masks (the inner-crop view) store class label L as the byte value (256 - L) mod 256 (e.g. label 4 -> byte 252). The _with_context masks already store labels directly. In this HuggingFace mirror both `mask` and `mask_with_context` are written with the canonical 0..16 labels - base masks were pre-decoded during upload, so downstream code does not need to handle the encoding quirk.

The paper recommends training-time 5-fold CV via the validation_fold column on the train split, and reports final numbers on the held-out test split.

PD-L1 / nuclei detection (pdl1, nuclei configs)

These configs hold images plus per-image metadata only (same columns as he except no mask/_with_context fields and no validation_fold). The detection ground truth is in MS-COCO JSON format and is shipped as raw sidecar files because COCO-style nested annotations are a poor fit for columnar parquet:

PathSubsetNotes
coco/pdl1_annotations.jsonpdl1Main annotations
coco/pdl1_test_set_all_readers.jsonpdl1Multi-reader test set
coco/nuclei_annotations.jsonnucleiMain annotations
coco/nuclei_test_set_all_readers.jsonnucleiMulti-reader test set

Use the row's name field (== image_id in COCO images[*].file_name = "<name>.png") to look up bounding-box / point annotations.

Splits follow data_overview.csv directly (no fold column for the detection tasks).

Loading

python
from datasets import load_dataset

# H&E tissue segmentation
he_train = load_dataset("Angelou0516/IGNITE", "he", split="train")  # 269 ROIs
he_test  = load_dataset("Angelou0516/IGNITE", "he", split="test")   # 139 ROIs
print(he_test[0]["mask_with_context"])  # PIL Image L-mode, labels 0..16

# PD-L1+ tumor cell detection
pdl1 = load_dataset("Angelou0516/IGNITE", "pdl1")

# PD-L1 IHC nuclei detection
nuc = load_dataset("Angelou0516/IGNITE", "nuclei")

For detection COCO annotations, download the JSON sidecars with huggingface_hub.hf_hub_download.

Sidecar files (raw)

  • he_label_map.json — class id -> name
  • data_overview.csv — per-ROI metadata (887 rows x 17 cols), authoritative for splits / folds
  • coco/*.json — detection annotations (4 files, see table above)

Citation

bibtex
@article{Spronck2025ignite,
  title   = {A tissue and cell-level annotated H\&E and PD-L1 histopathology image dataset in non-small cell lung cancer},
  author  = {Spronck, Joey and van Eekelen, Leander and van Midden, Dominique and others},
  journal = {arXiv preprint arXiv:2507.16855},
  year    = {2025},
  doi     = {10.48550/arXiv.2507.16855}
}

Mirror maintained by Angelou0516. For the official authoritative release see the Zenodo record and GitHub toolkit.