Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HECKTOR2025 - Challenge

Welcome to the HECKTOR 2025 Challenge repository! This repository contains instructions and examples for creating a baseline and a valid docker for HECKTOR 2025 Challenge. It will also help you with how you can submit your designed model to the Grand Challenge for evaluation. Here you’ll find everything you need to get started quickly: from understanding the challenge, to setting up your environment, training your first model, and evaluating your results. So this reporsitory has two primary branches 🌲:

  • main: Here you’ll find step-by-step guides, data loaders, training scripts, and inference examples so you can get a working model up and running in minutes.

  • docker-template: Designed for containerizing and submitting your final models to the Grand Challenge. This branch provides a Docker-based inference template, build/test/save scripts, and enforces all challenge restrictions.


How can this Repo help?

  1. Understand what the challenge is about
  2. Set up your development environment
  3. Train models on our provided data
  4. Test and evaluate your results
  5. Explore ideas for improving performance

🚀 About the HECKTOR'25 Challenge

Head and Neck (H&N) cancers are among the most common cancers worldwide (5th leading cancer by incidence) [Parkin et al. 2005]. Radiotherapy combined with cetuximab has been established as a standard treatment [Bonner et al. 2010]. However, locoregional failures remain a major challenge and occur in up to 40% of patients in the first two years after the treatment [Chajon et al. 2013]. By focusing on metabolic and morphological tissue properties, respectively, PET and CT modalities include complementary and synergistic information for cancerous lesion segmentation as well as tumor characteristics potentially relevant for patient outcome prediction and HPV status diagnosis, in addition to usual clinical variables (e.g., age, gender, treatment modality, etc.). Modern image analysis (radiomics, machine, and deep learning) methods must be developed and, more importantly, rigorously evaluated, in order to extract and leverage this information. That is why, HEad and neCK TumOR (HECKTOR) Lesion Segmentation, Diagnosis and Prognosis challenge has been introduced in last few years.

Following the success of the first editions of the HECKTOR challenge from 2020 through 2022, this challenge will be presented at the 28th International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI) 2025 in Daejeon, South Korea. This year, three tasks are proposed where the participants can choose to participate in any or all tasks. Participants will train models on our provided datasets, submit predictions, and compete on different metrics and robustness. Deadlines and leaderboard details are on the challenge website.

  • Tasks:
    • Task 1: The automatic detection and segmentation of Head and Neck (H&N) primary tumors and lymph nodes in FDG-PET/CT images.
    • Task 2: The prediction of Recurrence-Free Survival (RFS) from the FDG-PET/CT images, available clinical information, and radiotherapy planning dose maps.
    • Task 3: The diagnosis of HPV status from the FDG-PET/CT images and available clinical information.
  • Validation Submission Deadline: 10th July to 14th August 2025
  • Testing Submission Deadline: 15th August to 1st September 2025
  • Website & Rules: Participation policies

📑 Table of Contents

  1. Getting the Data
  2. Task Folders & Structure
  3. Environment Setup
  4. Training Your Model
  5. Inference & Evaluation
  6. Next Steps & Tips

📥 Getting the Data

  1. Download: Go to the Dataset Section on challenge website and follow the instructions provided to download the dataset.

  2. Dataset Structure: Following is the structure of the dataset directory:

hecktor2025_training/
  ├── Task 1
      ├── CHUM-001
        ├── CHUM-001__CT.nii.gz 
        ├── CHUM-001__PT.nii.gz
        └── CHUM-001.nii.gz # Label file (GTVp=1, GTVn=2)
      ├── CHUM-002
      ├── ...
      └── HECKTOR_2025_Training_Task_1.csv #Clinical data
  ├── Task 2
      ├── CHUM-001
        ├── CHUM-001__CT.nii.gz
        ├── CHUM-001__PT.nii.gz
        ├── CHUM-001__CTPlanning.nii.gz* # Subset only
        └── CHUM-001__RTDOSE.nii.gz* # Subset only
      ├── CHUM-002
      ├── ...
      └── HECKTOR_2025_Training_Task_2.csv # RFS endpoint data
  └── Task 3
      ├── CHUM-001
        ├── CHUM-001__CT.nii.gz
        └── CHUM-001__PT.nii.gz
      ├── CHUM-002
      ├── ...
      └── HECKTOR_2025_Training_Task_3.csv # HPV Status data
  1. Dataset Description: The data originates from FDG-PET and low-dose non-contrast-enhanced CT images (acquired with combined PET/CT scanners) of the Head & Neck region. It was collected from 10 different centers. Following are the different formats of the dataset:
  • Image Data (PET/CT):
    • All tasks include PET and CT scans for each patient, using the naming convention:
    • CenterName_PatientID__Modality.nii.gz
    • __CT.nii.gz — Computed tomography image
    • __PT.nii.gz — Positron emission tomography image
  • Segmentations (Task 1 only):
    • Each patient has a single label file: PatientID.nii.gz
      • Label 1 = Primary tumor (GTVp)
      • Label 2 = Lymph nodes (GTVn)
  • Radiotherapy Dose Data (Task 2 only):
    • For a subset of patients:
      • __CTPlanning.nii.gz — CT planning scan
      • __RTDOSE.nii.gz — RT dose map
  • Clinical Information: Provided in HECKTOR_2025_Training_Task_#.csv, includes:
    • Center, gender, age, tobacco and alcohol use, performance status, treatment (radiotherapy only or chemoradiotherapy), M-stage (metastasis)
    • Relapse indicator and RFS value (used as the target for Task 2)
    • HPV status (used as the target for Task 3)

If you require any further details about the dataset, please visit the Dataset section on the challenge website.


🗂️ Task Folders & Structure

Each task folder is self-contained and contains only the scripts needed for that specific task. The finalized layout is:

├── Task1/
│   ├── config/                   # Contains configuration files
│   ├── evaluation/               # inference_evaluator.py to compute metrics
│   ├── models/                   # supporting files for different models
│   ├── scripts/                  # training and inference scripts
│   ├── utils/                    # Shared helper functions (input/output, logging, visualization tools, etc.)
│   ├── README.md                 # Task1-specific README that explains how to build/run for Task 1
│   └── requirements.txt          # dependencies for Task 1
├── Task2/
│   ├── task2_prognosis.py        # Model training & evaluation for Task 2 (Prognosis)
│   └── task2_inference.py        # Inference entry-point for Task 2
└── Task3/
    ├── task3_classification.py   # Model training & evaluation for Task 3 (Classification)
    └── task3_inference.py        # Inference entry-point for Task 3
  • Task1/

    • scripts/train.py: Train a segmentation model for Task 1.
    • scripts/inference.py: Inference script for Task 1 segmentation model.
  • Task2/

    • task2_prognosis.py: end-to-end training and validation script for Task 2’s prognosis model.
    • task2_inference.py: Inference script for survival prediction using ensemble model.
  • Task3/

    • task3_classification.py: end-to-end training and validation script for Task 3’s classification model.
    • task3_inference.py: Inference script for HPV status prediction used a trained model.

Baseline Notice: This structure and the sample scripts are provided as a baseline to help you get started. You are not required to follow this exact layout or use the provided models.


⚙️ Environment Setup

  1. Checkout main branch

    git clone https://github.com/BioMedIA-MBZUAI/HECKTOR2025.git
    cd HECKTOR2025
    git checkout main
  2. Create virtual environment

    python3 -m venv venv
    source venv/bin/activate
  3. Install global requirements

    pip install -r requirements.txt

🎯 Training Your Model

For each TaskX/, please run the training command accordingly as given below:

Task 1

cd Task1/
# Train for unet3d model
python scripts/train.py --config unet3d 

Task 2

cd Task2/
# Train for 15 iterations
python task2_prognosis.py 

Task 3

cd Task3/
# Train for 10 iterations
python task3_classification.py 

🔍 Inference & Evaluation

To run inference on validation data, use the below command accordingly for each task:

Task 1:

cd Task1/
python scripts/inference.py \
    --model_path best_model.pth \
    --ct_path /path/to/ct.nii.gz \
    --pet_path /path/to/pet.nii.gz \
    --output_path /path/to/output

Task 2:

cd Task2/
python python task2_inference.py \
  --csv test_data.csv \
  --input_path ./test_images \
  --ensemble ensemble_model.pt \
  --clinical_preprocessors  hecktor_cache_clinical_preprocessors.pkl \

Task 3:

cd Task3/
python task3_inference.py \
--input_path /input \
--output_path /output/sample_001_out.json \
--scaler_file resources/scaler.joblib \
--ohe_file resources/ohe.joblib \
--checkpoint best_model.pt \
--ehr_file /input/ehr.json

🌟 Next Steps & Tips

  • Data Augmentation: Explore and try more aggressive transformations on the dataset.
  • Model Architecture: Swap in a stronger backbone.
  • Hyperparameter Tuning: Adjust learning rates, optimizers, schedulers.
  • Ensembling: Combine outputs from multiple checkpoints.
  • Semi-Supervised Learning: Leverage unlabelled test data for pseudo-labeling.


📚 References

  • [Bonner et al. 2010] Bonner, James A., Paul M. Harari, Jordi Giralt, Roger B. Cohen, Christopher U. Jones, Ranjan K. Sur, David Raben, et al. 2010. “Radiotherapy plus Cetuximab for Locoregionally Advanced Head and Neck Cancer: 5-Year Survival Data from a Phase 3 Randomised Trial, and Relation between Cetuximab-Induced Rash and Survival.” The Lancet Oncology 11 (1): 21–28.

  • [Chajon et al. 2013] Chajon E, et al. "Salivary gland-sparing other than parotid-sparing in definitive head-and-neck intensity-modulated radiotherapy does not seem to jeopardize local control." Radiation Oncology 8.1 (2013): 1-9.

  • [Parkin et al. 2005] Parkin DM, et al. "Global cancer statistics, 2002." CA: a cancer journal for clinicians 55.2 (2005): 74-108.


_You’re now ready to dive in and start building your own models.!_

About

No description, website, or topics provided.

Resources

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages