monai
medical
katielink commited on
Commit
dd88eb7
·
1 Parent(s): ef9db36

restructure readme to match updated template

Browse files
Files changed (3) hide show
  1. README.md +27 -44
  2. configs/metadata.json +2 -1
  3. docs/README.md +27 -44
README.md CHANGED
@@ -8,17 +8,14 @@ license: apache-2.0
8
  # Model Overview
9
  A pre-trained model for volumetric (3D) segmentation of brain tumor subregions from multimodal MRIs based on BraTS 2018 data. The whole pipeline is modified from [clara_pt_brain_mri_segmentation](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/med/models/clara_pt_brain_mri_segmentation).
10
 
11
- ## Workflow
12
-
13
  The model is trained to segment 3 nested subregions of primary brain tumors (gliomas): the "enhancing tumor" (ET), the "tumor core" (TC), the "whole tumor" (WT) based on 4 aligned input MRI scans (T1c, T1, T2, FLAIR).
14
  - The ET is described by areas that show hyper intensity in T1c when compared to T1, but also when compared to "healthy" white matter in T1c.
15
  - The TC describes the bulk of the tumor, which is what is typically resected. The TC entails the ET, as well as the necrotic (fluid-filled) and the non-enhancing (solid) parts of the tumor.
16
  - The WT describes the complete extent of the disease, as it entails the TC and the peritumoral edema (ED), which is typically depicted by hyper-intense signal in FLAIR.
17
 
18
- ![](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_brain_mri_segmentation_workflow.png)
19
 
20
  ## Data
21
-
22
  The training data is from the [Multimodal Brain Tumor Segmentation Challenge (BraTS) 2018](https://www.med.upenn.edu/cbica/sbia/brats2018/tasks.html).
23
 
24
  - Target: 3 tumor subregions
@@ -28,16 +25,15 @@ The training data is from the [Multimodal Brain Tumor Segmentation Challenge (Br
28
 
29
  The provided labelled data was partitioned, based on our own split, into training (200 studies), validation (42 studies) and testing (43 studies) datasets.
30
 
31
- Please run `scripts/prepare_datalist.py` to produce the data list. The command is like:
 
32
 
33
  ```
34
  python scripts/prepare_datalist.py --path your-brats18-dataset-path
35
  ```
36
 
37
  ## Training configuration
38
-
39
- This model utilized a similar approach described in 3D MRI brain tumor segmentation
40
- using autoencoder regularization, which was a winning method in BraTS2018 [1]. The training was performed with the following:
41
 
42
  - GPU: At least 16GB of GPU memory.
43
  - Actual Model Input: 224 x 224 x 144
@@ -47,73 +43,60 @@ using autoencoder regularization, which was a winning method in BraTS2018 [1]. T
47
  - Loss: DiceLoss
48
 
49
  ## Input
50
-
51
- Input: 4 channel MRI (4 aligned MRIs T1c, T1, T2, FLAIR at 1x1x1 mm)
52
-
53
- 1. Normalizing to unit std with zero mean
54
- 2. Randomly cropping to (224, 224, 144)
55
- 3. Randomly spatial flipping
56
- 4. Randomly scaling and shifting intensity of the volume
57
 
58
  ## Output
59
-
60
- Output: 3 channels
61
  - Label 0: TC tumor subregion
62
  - Label 1: WT tumor subregion
63
  - Label 2: ET tumor subregion
64
 
65
- ## Model Performance
66
-
67
- The achieved Dice scores on the validation data are:
68
  - Tumor core (TC): 0.8559
69
  - Whole tumor (WT): 0.9026
70
  - Enhancing tumor (ET): 0.7905
71
  - Average: 0.8518
72
 
73
- ## commands example
 
 
 
 
 
 
 
 
74
 
75
- Execute training:
76
 
 
77
  ```
78
  python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf
79
  ```
80
 
81
- Override the `train` config to execute multi-GPU training:
82
-
83
  ```
84
  torchrun --standalone --nnodes=1 --nproc_per_node=8 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf
85
  ```
86
 
87
- Please note that the distributed training related options depend on the actual running environment, thus you may need to remove `--standalone`, modify `--nnodes` or do some other necessary changes according to the machine you used.
88
- Please refer to [pytorch's official tutorial](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) for more details.
89
-
90
- Override the `train` config to execute evaluation with the trained model:
91
 
 
92
  ```
93
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf
94
  ```
95
 
96
- Execute inference:
97
-
98
  ```
99
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf
100
  ```
101
 
102
- # Training
103
- A graph showing the training loss and the mean dice over 300 epochs.
104
- ![](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_train.png)
105
-
106
- # Validation
107
- A graph showing the validation mean dice over 300 epochs.
108
- ![](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_val.png)
109
-
110
-
111
- # Disclaimer
112
-
113
- This is an example, not to be used for diagnostic purposes.
114
-
115
  # References
116
-
117
  [1] Myronenko, Andriy. "3D MRI brain tumor segmentation using autoencoder regularization." International MICCAI Brainlesion Workshop. Springer, Cham, 2018. https://arxiv.org/abs/1810.11654.
118
 
119
  # License
 
8
  # Model Overview
9
  A pre-trained model for volumetric (3D) segmentation of brain tumor subregions from multimodal MRIs based on BraTS 2018 data. The whole pipeline is modified from [clara_pt_brain_mri_segmentation](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/med/models/clara_pt_brain_mri_segmentation).
10
 
 
 
11
  The model is trained to segment 3 nested subregions of primary brain tumors (gliomas): the "enhancing tumor" (ET), the "tumor core" (TC), the "whole tumor" (WT) based on 4 aligned input MRI scans (T1c, T1, T2, FLAIR).
12
  - The ET is described by areas that show hyper intensity in T1c when compared to T1, but also when compared to "healthy" white matter in T1c.
13
  - The TC describes the bulk of the tumor, which is what is typically resected. The TC entails the ET, as well as the necrotic (fluid-filled) and the non-enhancing (solid) parts of the tumor.
14
  - The WT describes the complete extent of the disease, as it entails the TC and the peritumoral edema (ED), which is typically depicted by hyper-intense signal in FLAIR.
15
 
16
+ ![Model workflow](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_brain_mri_segmentation_workflow.png)
17
 
18
  ## Data
 
19
  The training data is from the [Multimodal Brain Tumor Segmentation Challenge (BraTS) 2018](https://www.med.upenn.edu/cbica/sbia/brats2018/tasks.html).
20
 
21
  - Target: 3 tumor subregions
 
25
 
26
  The provided labelled data was partitioned, based on our own split, into training (200 studies), validation (42 studies) and testing (43 studies) datasets.
27
 
28
+ ### Preprocessing
29
+ The data list/split can be created with the script `scripts/prepare_datalist.py`.
30
 
31
  ```
32
  python scripts/prepare_datalist.py --path your-brats18-dataset-path
33
  ```
34
 
35
  ## Training configuration
36
+ This model utilized a similar approach described in 3D MRI brain tumor segmentation using autoencoder regularization, which was a winning method in BraTS2018 [1]. The training was performed with the following:
 
 
37
 
38
  - GPU: At least 16GB of GPU memory.
39
  - Actual Model Input: 224 x 224 x 144
 
43
  - Loss: DiceLoss
44
 
45
  ## Input
46
+ 4 channel aligned MRIs at 1 x 1 x 1 mm
47
+ - T1c
48
+ - T1
49
+ - T2
50
+ - FLAIR
 
 
51
 
52
  ## Output
53
+ 3 channels
 
54
  - Label 0: TC tumor subregion
55
  - Label 1: WT tumor subregion
56
  - Label 2: ET tumor subregion
57
 
58
+ ## Performance
59
+ Dice score was used for evaluating the performance of the model. This model achieved Dice scores on the validation data of:
 
60
  - Tumor core (TC): 0.8559
61
  - Whole tumor (WT): 0.9026
62
  - Enhancing tumor (ET): 0.7905
63
  - Average: 0.8518
64
 
65
+ #### Training Loss and Dice
66
+ ![A graph showing the training loss and the mean dice over 300 epochs](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_train.png)
67
+
68
+ #### Validation Dice
69
+
70
+ ![A graph showing the validation mean dice over 300 epochs](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_val.png)
71
+
72
+ ## MONAI Bundle Commands
73
+ In addition to the Pythonic APIs, a few command line interfaces (CLI) are provided to interact with the bundle. The CLI supports flexible use cases, such as overriding configs at runtime and predefining arguments in a file.
74
 
75
+ For more details usage instructions, visit the [MONAI Bundle Configuration Page](https://docs.monai.io/en/latest/config_syntax.html).
76
 
77
+ #### Execute training:
78
  ```
79
  python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf
80
  ```
81
 
82
+ #### Override the `train` config to execute multi-GPU training:
 
83
  ```
84
  torchrun --standalone --nnodes=1 --nproc_per_node=8 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf
85
  ```
86
 
87
+ Please note that the distributed training-related options depend on the actual running environment; thus, users may need to remove `--standalone`, modify `--nnodes`, or do some other necessary changes according to the machine used. For more details, please refer to [pytorch's official tutorial](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html).
 
 
 
88
 
89
+ #### Override the `train` config to execute evaluation with the trained model:
90
  ```
91
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf
92
  ```
93
 
94
+ #### Execute inference:
 
95
  ```
96
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf
97
  ```
98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  # References
 
100
  [1] Myronenko, Andriy. "3D MRI brain tumor segmentation using autoencoder regularization." International MICCAI Brainlesion Workshop. Springer, Cham, 2018. https://arxiv.org/abs/1810.11654.
101
 
102
  # License
configs/metadata.json CHANGED
@@ -1,7 +1,8 @@
1
  {
2
  "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json",
3
- "version": "0.3.6",
4
  "changelog": {
 
5
  "0.3.6": "added train/val graphs",
6
  "0.3.5": "update prepare datalist function",
7
  "0.3.4": "update output format of inference",
 
1
  {
2
  "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json",
3
+ "version": "0.3.7",
4
  "changelog": {
5
+ "0.3.7": "restructure readme to match updated template",
6
  "0.3.6": "added train/val graphs",
7
  "0.3.5": "update prepare datalist function",
8
  "0.3.4": "update output format of inference",
docs/README.md CHANGED
@@ -1,17 +1,14 @@
1
  # Model Overview
2
  A pre-trained model for volumetric (3D) segmentation of brain tumor subregions from multimodal MRIs based on BraTS 2018 data. The whole pipeline is modified from [clara_pt_brain_mri_segmentation](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/med/models/clara_pt_brain_mri_segmentation).
3
 
4
- ## Workflow
5
-
6
  The model is trained to segment 3 nested subregions of primary brain tumors (gliomas): the "enhancing tumor" (ET), the "tumor core" (TC), the "whole tumor" (WT) based on 4 aligned input MRI scans (T1c, T1, T2, FLAIR).
7
  - The ET is described by areas that show hyper intensity in T1c when compared to T1, but also when compared to "healthy" white matter in T1c.
8
  - The TC describes the bulk of the tumor, which is what is typically resected. The TC entails the ET, as well as the necrotic (fluid-filled) and the non-enhancing (solid) parts of the tumor.
9
  - The WT describes the complete extent of the disease, as it entails the TC and the peritumoral edema (ED), which is typically depicted by hyper-intense signal in FLAIR.
10
 
11
- ![](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_brain_mri_segmentation_workflow.png)
12
 
13
  ## Data
14
-
15
  The training data is from the [Multimodal Brain Tumor Segmentation Challenge (BraTS) 2018](https://www.med.upenn.edu/cbica/sbia/brats2018/tasks.html).
16
 
17
  - Target: 3 tumor subregions
@@ -21,16 +18,15 @@ The training data is from the [Multimodal Brain Tumor Segmentation Challenge (Br
21
 
22
  The provided labelled data was partitioned, based on our own split, into training (200 studies), validation (42 studies) and testing (43 studies) datasets.
23
 
24
- Please run `scripts/prepare_datalist.py` to produce the data list. The command is like:
 
25
 
26
  ```
27
  python scripts/prepare_datalist.py --path your-brats18-dataset-path
28
  ```
29
 
30
  ## Training configuration
31
-
32
- This model utilized a similar approach described in 3D MRI brain tumor segmentation
33
- using autoencoder regularization, which was a winning method in BraTS2018 [1]. The training was performed with the following:
34
 
35
  - GPU: At least 16GB of GPU memory.
36
  - Actual Model Input: 224 x 224 x 144
@@ -40,73 +36,60 @@ using autoencoder regularization, which was a winning method in BraTS2018 [1]. T
40
  - Loss: DiceLoss
41
 
42
  ## Input
43
-
44
- Input: 4 channel MRI (4 aligned MRIs T1c, T1, T2, FLAIR at 1x1x1 mm)
45
-
46
- 1. Normalizing to unit std with zero mean
47
- 2. Randomly cropping to (224, 224, 144)
48
- 3. Randomly spatial flipping
49
- 4. Randomly scaling and shifting intensity of the volume
50
 
51
  ## Output
52
-
53
- Output: 3 channels
54
  - Label 0: TC tumor subregion
55
  - Label 1: WT tumor subregion
56
  - Label 2: ET tumor subregion
57
 
58
- ## Model Performance
59
-
60
- The achieved Dice scores on the validation data are:
61
  - Tumor core (TC): 0.8559
62
  - Whole tumor (WT): 0.9026
63
  - Enhancing tumor (ET): 0.7905
64
  - Average: 0.8518
65
 
66
- ## commands example
 
 
 
 
 
 
 
 
67
 
68
- Execute training:
69
 
 
70
  ```
71
  python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf
72
  ```
73
 
74
- Override the `train` config to execute multi-GPU training:
75
-
76
  ```
77
  torchrun --standalone --nnodes=1 --nproc_per_node=8 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf
78
  ```
79
 
80
- Please note that the distributed training related options depend on the actual running environment, thus you may need to remove `--standalone`, modify `--nnodes` or do some other necessary changes according to the machine you used.
81
- Please refer to [pytorch's official tutorial](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) for more details.
82
-
83
- Override the `train` config to execute evaluation with the trained model:
84
 
 
85
  ```
86
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf
87
  ```
88
 
89
- Execute inference:
90
-
91
  ```
92
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf
93
  ```
94
 
95
- # Training
96
- A graph showing the training loss and the mean dice over 300 epochs.
97
- ![](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_train.png)
98
-
99
- # Validation
100
- A graph showing the validation mean dice over 300 epochs.
101
- ![](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_val.png)
102
-
103
-
104
- # Disclaimer
105
-
106
- This is an example, not to be used for diagnostic purposes.
107
-
108
  # References
109
-
110
  [1] Myronenko, Andriy. "3D MRI brain tumor segmentation using autoencoder regularization." International MICCAI Brainlesion Workshop. Springer, Cham, 2018. https://arxiv.org/abs/1810.11654.
111
 
112
  # License
 
1
  # Model Overview
2
  A pre-trained model for volumetric (3D) segmentation of brain tumor subregions from multimodal MRIs based on BraTS 2018 data. The whole pipeline is modified from [clara_pt_brain_mri_segmentation](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/med/models/clara_pt_brain_mri_segmentation).
3
 
 
 
4
  The model is trained to segment 3 nested subregions of primary brain tumors (gliomas): the "enhancing tumor" (ET), the "tumor core" (TC), the "whole tumor" (WT) based on 4 aligned input MRI scans (T1c, T1, T2, FLAIR).
5
  - The ET is described by areas that show hyper intensity in T1c when compared to T1, but also when compared to "healthy" white matter in T1c.
6
  - The TC describes the bulk of the tumor, which is what is typically resected. The TC entails the ET, as well as the necrotic (fluid-filled) and the non-enhancing (solid) parts of the tumor.
7
  - The WT describes the complete extent of the disease, as it entails the TC and the peritumoral edema (ED), which is typically depicted by hyper-intense signal in FLAIR.
8
 
9
+ ![Model workflow](https://developer.download.nvidia.com/assets/Clara/Images/clara_pt_brain_mri_segmentation_workflow.png)
10
 
11
  ## Data
 
12
  The training data is from the [Multimodal Brain Tumor Segmentation Challenge (BraTS) 2018](https://www.med.upenn.edu/cbica/sbia/brats2018/tasks.html).
13
 
14
  - Target: 3 tumor subregions
 
18
 
19
  The provided labelled data was partitioned, based on our own split, into training (200 studies), validation (42 studies) and testing (43 studies) datasets.
20
 
21
+ ### Preprocessing
22
+ The data list/split can be created with the script `scripts/prepare_datalist.py`.
23
 
24
  ```
25
  python scripts/prepare_datalist.py --path your-brats18-dataset-path
26
  ```
27
 
28
  ## Training configuration
29
+ This model utilized a similar approach described in 3D MRI brain tumor segmentation using autoencoder regularization, which was a winning method in BraTS2018 [1]. The training was performed with the following:
 
 
30
 
31
  - GPU: At least 16GB of GPU memory.
32
  - Actual Model Input: 224 x 224 x 144
 
36
  - Loss: DiceLoss
37
 
38
  ## Input
39
+ 4 channel aligned MRIs at 1 x 1 x 1 mm
40
+ - T1c
41
+ - T1
42
+ - T2
43
+ - FLAIR
 
 
44
 
45
  ## Output
46
+ 3 channels
 
47
  - Label 0: TC tumor subregion
48
  - Label 1: WT tumor subregion
49
  - Label 2: ET tumor subregion
50
 
51
+ ## Performance
52
+ Dice score was used for evaluating the performance of the model. This model achieved Dice scores on the validation data of:
 
53
  - Tumor core (TC): 0.8559
54
  - Whole tumor (WT): 0.9026
55
  - Enhancing tumor (ET): 0.7905
56
  - Average: 0.8518
57
 
58
+ #### Training Loss and Dice
59
+ ![A graph showing the training loss and the mean dice over 300 epochs](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_train.png)
60
+
61
+ #### Validation Dice
62
+
63
+ ![A graph showing the validation mean dice over 300 epochs](https://developer.download.nvidia.com/assets/Clara/Images/monai_brats_mri_segmentation_val.png)
64
+
65
+ ## MONAI Bundle Commands
66
+ In addition to the Pythonic APIs, a few command line interfaces (CLI) are provided to interact with the bundle. The CLI supports flexible use cases, such as overriding configs at runtime and predefining arguments in a file.
67
 
68
+ For more details usage instructions, visit the [MONAI Bundle Configuration Page](https://docs.monai.io/en/latest/config_syntax.html).
69
 
70
+ #### Execute training:
71
  ```
72
  python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf
73
  ```
74
 
75
+ #### Override the `train` config to execute multi-GPU training:
 
76
  ```
77
  torchrun --standalone --nnodes=1 --nproc_per_node=8 -m monai.bundle run training --meta_file configs/metadata.json --config_file "['configs/train.json','configs/multi_gpu_train.json']" --logging_file configs/logging.conf
78
  ```
79
 
80
+ Please note that the distributed training-related options depend on the actual running environment; thus, users may need to remove `--standalone`, modify `--nnodes`, or do some other necessary changes according to the machine used. For more details, please refer to [pytorch's official tutorial](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html).
 
 
 
81
 
82
+ #### Override the `train` config to execute evaluation with the trained model:
83
  ```
84
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf
85
  ```
86
 
87
+ #### Execute inference:
 
88
  ```
89
  python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf
90
  ```
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  # References
 
93
  [1] Myronenko, Andriy. "3D MRI brain tumor segmentation using autoencoder regularization." International MICCAI Brainlesion Workshop. Springer, Cham, 2018. https://arxiv.org/abs/1810.11654.
94
 
95
  # License