Skip to content

Commit 683960e

Browse files
authored
Hecktor22 tutorial (#1107)
1 parent 608795f commit 683960e

File tree

8 files changed

+3355
-11
lines changed

8 files changed

+3355
-11
lines changed

auto3dseg/README.md

+11-10
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,21 @@
3232
## Auto3DSeg Leaderboard Performance
3333

3434
- **Auto3DSeg** won 1st place in MICCAI 2022 challenge **[HECKTOR 2022: Head and neck tumor segmentation and outcome prediction in PET/CT images](https://hecktor.grand-challenge.org/)**
35-
- 1st place GTVp and GTVn segmentation (Task 1)
36-
- **Auto3DSeg** won 2nd place in MICCAI 2022 challenge **[INSTANCE22: The 2022 Intracranial Hemorrhage Segmentation Challenge on Non-Contrast head CT (NCCT)](https://instance.grand-challenge.org/)**
37-
- 1st place in terms of Dice score
38-
- **Auto3DSeg** won a top-3 place in MICCAI 2022 challenge **[ISLES'22: Ischemic Stroke Lesion Segmentation Challenge](https://isles22.grand-challenge.org/)**
39-
- The final results will announced at MICCAI 2022
35+
- 1st place (segmentation task)
36+
- **Auto3DSeg** got 2nd place in MICCAI 2022 challenge **[INSTANCE22: The 2022 Intracranial Hemorrhage Segmentation Challenge on Non-Contrast head CT (NCCT)](https://instance.grand-challenge.org/)**
37+
- 1st rank in terms of Dice score
38+
- **Auto3DSeg** got 2nd place in MICCAI 2022 challenge **[ISLES'22: Ischemic Stroke Lesion Segmentation Challenge](https://isles22.grand-challenge.org/)**
39+
- 1st rank in terms of Dice score
4040

4141
We have demonstrated preliminary results of public datasets are described in the [tasks](tasks) folder.
4242

43-
- [INSTANCE22](tasks/instance22)
44-
- [Beyond the Cranial Vault (BTCV) Abdomen Dataset](tasks/btcv)
43+
- [HECKTOR22](tasks/hecktor22/README.md)
44+
- [INSTANCE22](tasks/instance22/README.md)
45+
- [Beyond the Cranial Vault (BTCV) Abdomen Dataset](tasks/btcv/README.md)
4546
- Medical Segmentation Decathlon (MSD) Dataset
46-
- [Task04 Task04_Hippocampus](tasks/msd/Task04_Hippocampus)
47-
- [Task05 Prostate](tasks/msd/Task05_Prostate)
48-
- [Task09 Spleen](tasks/msd/Task09_Spleen)
47+
- [Task04 Task04_Hippocampus](tasks/msd/Task04_Hippocampus/README.md)
48+
- [Task05 Prostate](tasks/msd/Task05_Prostate/README.md)
49+
- [Task09 Spleen](tasks/msd/Task09_Spleen/README.md)
4950

5051
## A Two-Minute "Hello-World" Example
5152

auto3dseg/tasks/hecktor22/README.md

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
2+
# HECKTOR22
3+
4+
5+
The HECKTOR22 dataset is from MICCAI 2022 challenge **[HEad and NeCK TumOR Segmentation and Outcome Prediction (HECKTOR22)](https://hecktor.grand-challenge.org)**. The solution described here won the 1st place in the HECKTOR22 challenge [(NVAUTO team)](https://hecktor.grand-challenge.org/final-leaderboard/):
6+
7+
Andriy Myronenko, Md Mahfuzur Rahman Siddiquee, Dong Yang, Yufan He and Daguang Xu: "Automated head and neck tumor segmentation from 3D PET/CT". In MICCAI (2022). [arXiv](https://arxiv.org/abs/2209.10809)
8+
9+
![hecktor_PET_CT](./hecktor_data.jpg)
10+
11+
## Task overview
12+
13+
The task is to segment 3D Head and Neck (H&N) tumors and lymph nodes classes from a pair of 3D CT and PET images. The ground truth labels are provided for 524 cases with average 3D CT size of 512x512x200 voxels at 0.98x0.98x3 mm average resolution, and with average 3D PET size of 200x200x200 voxels at 4x4x4 mm. The CT and PET images where rigidly aligned to a common origin, but remain at different sizes and resolutions.
14+
15+
16+
## Auto3DSeg
17+
18+
The HECKTOR22 tutorial is only supported for **SegResNet** algo (since currently it is the only algo with support of multi-resolution input images, such as CT and PET).
19+
Auto3DSeg runs a full workflow including data analysis, and multi-fold training. Please download the dataset into /data/hecktor22 folder first.
20+
21+
22+
### Running based on the input config
23+
24+
The Auto3DSeg can be run using a config **input.yaml**
25+
26+
```bash
27+
python -m monai.apps.auto3dseg AutoRunner run --input='./input.yaml' --algos='segresnet'
28+
```
29+
30+
### Running from python
31+
32+
Alternatively you can also run Auto3DSeg from a python script, where you can customize more options. Please see the comments in **hecktor22.py**
33+
```bash
34+
python hecktor22.py
35+
```
36+
37+
38+
## Validation performance: NVIDIA DGX-1 (8x V100 16G)
39+
40+
The validation results can be obtained by running the training script with MONAI 1.1.0 on NVIDIA DGX-1 with (8x V100 16GB) GPUs. The results below are in terms of **Aggregated Dice**, which was used as the key metric in the challenge [1,2]. The values of the Aggregated Dice slightly differ from a conventional average Dice (which is used by Auto3DSeg by default for all tasks).
41+
42+
43+
| | Fold 0 | Fold 1 | Fold 2 | Fold 3 | Fold 4 | Avg |
44+
|:------:|:------:|:------:|:------:|:------:|:------:|:---:|
45+
| SegResNet | 0.7933 | 0.7862 | 0.7816 |0.8275 | 0.8059 | 0.7989 |
46+
47+
48+
## Data
49+
50+
The HECKTOR22 challenge dataset [2,3] can be downloaded from [here](https://hecktor.grand-challenge.org) after the registration. Each user is responsible for checking the content of the datasets and the applicable licenses and determining if suitable for the intended use. The license for the HECKTOR22 dataset is different than MONAI license.
51+
52+
## References
53+
[1] Andriy Myronenko, Md Mahfuzur Rahman Siddiquee, Dong Yang, Yufan He and Daguang Xu: "Automated head and neck tumor segmentation from 3D PET/CT". In MICCAI (2022). https://arxiv.org/abs/2209.10809
54+
55+
[2] Andrearczyk, V., Oreiller, V., Boughdad, S., Rest, C.C.L., Elhalawani, H., Jreige, M., Prior, J.O., Valli`eres, M., Visvikis, D., Hatt, M., Depeursinge, A.: Overview of the HECKTOR Challenge at MICCAI 2022: Automatic Head and Neck Tumor Segmentation and Outcome Prediction in PET/CT (2023), https://arxiv.org/abs/2201.04138
56+
57+
[3] Oreiller, V., Andrearczyk, V., Jreige, M., Boughdad, S., Elhalawani, H., Castelli, J., Valli`eres, M., Zhu, S., Xie, J., Peng, Y., Iantsen, A., Hatt, M., Yuan, Y., Ma, J., Yang, X., Rao, C., Pai, S., Ghimire, K., Feng, X. Naser, M.A., Fuller, C.D., Yousefirizi, F., Rahmim, A., Chen, H., Wang, L., Prior, J.O., Depeursinge, A.: Head and neck tumor segmentation in PET/CT: The HECKTOR challenge. Medical Image Analysis 77, 102336 (2022)
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright (c) MONAI Consortium
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
# http://www.apache.org/licenses/LICENSE-2.0
6+
# Unless required by applicable law or agreed to in writing, software
7+
# distributed under the License is distributed on an "AS IS" BASIS,
8+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9+
# See the License for the specific language governing permissions and
10+
# limitations under the License.
11+
12+
from monai.apps.auto3dseg import AutoRunner
13+
14+
# the minimum required code is to create an AutoRunner() and call runner.run()
15+
# the algos must be set to 'segresnet' (since currently it's the only algo with support of multi-resolution input images, such as CT and PET)
16+
# here we also set ensemble=False (optional) to prevent inference on the testing set (since we do not use any testing sets, only the 5-fold cross validation)
17+
# for you own inference (and ensemble) you can provide a list of testing files in "hecktor22_folds.json"
18+
runner = AutoRunner(input='input.yaml', algos = 'segresnet', work_dir= './work_dir', ensemble=False)
19+
20+
## optionally, we can use just 1-fold (for a quick training of a single model, instead of training 5 folds)
21+
# runner.set_num_fold(1)
22+
23+
## optionally, we can define the path to the dataset here, instead of the one in input.yaml
24+
#runner.set_training_params({"dataroot" : '/data/hecktor22'})
25+
26+
runner.run()

0 commit comments

Comments
 (0)