Symlink README.md
Browse files- README.md +96 -0
- docs/README.md +0 -96
- docs/README.md +1 -0
README.md
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
## Data
|
12 |
+
|
13 |
+
The training data is from the [Multimodal Brain Tumor Segmentation Challenge (BraTS) 2018](https://www.med.upenn.edu/sbia/brats2018/data.html).
|
14 |
+
|
15 |
+
- Target: 3 tumor subregions
|
16 |
+
- Task: Segmentation
|
17 |
+
- Modality: MRI
|
18 |
+
- Size: 285 3D volumes (4 channels each)
|
19 |
+
|
20 |
+
The provided labelled data was partitioned, based on our own split, into training (200 studies), validation (42 studies) and testing (43 studies) datasets.
|
21 |
+
|
22 |
+
Please run `scripts/prepare_datalist.py` to produce the data list. The command is like:
|
23 |
+
|
24 |
+
```
|
25 |
+
python scripts/prepare_datalist.py --path your-brats18-dataset-path
|
26 |
+
```
|
27 |
+
|
28 |
+
## Training configuration
|
29 |
+
|
30 |
+
This model utilized a similar approach described in 3D MRI brain tumor segmentation
|
31 |
+
using autoencoder regularization, which was a winning method in BraTS2018 [1]. The training was performed with the following:
|
32 |
+
|
33 |
+
- GPU: At least 16GB of GPU memory.
|
34 |
+
- Actual Model Input: 224 x 224 x 144
|
35 |
+
- AMP: True
|
36 |
+
- Optimizer: Adam
|
37 |
+
- Learning Rate: 1e-4
|
38 |
+
- Loss: DiceLoss
|
39 |
+
|
40 |
+
## Input
|
41 |
+
|
42 |
+
Input: 4 channel MRI (4 aligned MRIs T1c, T1, T2, FLAIR at 1x1x1 mm)
|
43 |
+
|
44 |
+
1. Normalizing to unit std with zero mean
|
45 |
+
2. Randomly cropping to (224, 224, 144)
|
46 |
+
3. Randomly spatial flipping
|
47 |
+
4. Randomly scaling and shifting intensity of the volume
|
48 |
+
|
49 |
+
## Output
|
50 |
+
|
51 |
+
Output: 3 channels
|
52 |
+
- Label 0: TC tumor subregion
|
53 |
+
- Label 1: WT tumor subregion
|
54 |
+
- Label 2: ET tumor subregion
|
55 |
+
|
56 |
+
## Model Performance
|
57 |
+
|
58 |
+
The achieved Dice scores on the validation data are:
|
59 |
+
- Tumor core (TC): 0.8559
|
60 |
+
- Whole tumor (WT): 0.9026
|
61 |
+
- Enhancing tumor (ET): 0.7905
|
62 |
+
- Average: 0.8518
|
63 |
+
|
64 |
+
## commands example
|
65 |
+
|
66 |
+
Execute training:
|
67 |
+
|
68 |
+
```
|
69 |
+
python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf
|
70 |
+
```
|
71 |
+
|
72 |
+
Override the `train` config to execute multi-GPU training:
|
73 |
+
|
74 |
+
```
|
75 |
+
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
|
76 |
+
```
|
77 |
+
|
78 |
+
Override the `train` config to execute evaluation with the trained model:
|
79 |
+
|
80 |
+
```
|
81 |
+
python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf
|
82 |
+
```
|
83 |
+
|
84 |
+
Execute inference:
|
85 |
+
|
86 |
+
```
|
87 |
+
python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf
|
88 |
+
```
|
89 |
+
|
90 |
+
# Disclaimer
|
91 |
+
|
92 |
+
This is an example, not to be used for diagnostic purposes.
|
93 |
+
|
94 |
+
# References
|
95 |
+
|
96 |
+
[1] Myronenko, Andriy. "3D MRI brain tumor segmentation using autoencoder regularization." International MICCAI Brainlesion Workshop. Springer, Cham, 2018. https://arxiv.org/abs/1810.11654.
|
docs/README.md
DELETED
@@ -1,96 +0,0 @@
|
|
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 |
-
## Data
|
12 |
-
|
13 |
-
The training data is from the [Multimodal Brain Tumor Segmentation Challenge (BraTS) 2018](https://www.med.upenn.edu/sbia/brats2018/data.html).
|
14 |
-
|
15 |
-
- Target: 3 tumor subregions
|
16 |
-
- Task: Segmentation
|
17 |
-
- Modality: MRI
|
18 |
-
- Size: 285 3D volumes (4 channels each)
|
19 |
-
|
20 |
-
The provided labelled data was partitioned, based on our own split, into training (200 studies), validation (42 studies) and testing (43 studies) datasets.
|
21 |
-
|
22 |
-
Please run `scripts/prepare_datalist.py` to produce the data list. The command is like:
|
23 |
-
|
24 |
-
```
|
25 |
-
python scripts/prepare_datalist.py --path your-brats18-dataset-path
|
26 |
-
```
|
27 |
-
|
28 |
-
## Training configuration
|
29 |
-
|
30 |
-
This model utilized a similar approach described in 3D MRI brain tumor segmentation
|
31 |
-
using autoencoder regularization, which was a winning method in BraTS2018 [1]. The training was performed with the following:
|
32 |
-
|
33 |
-
- GPU: At least 16GB of GPU memory.
|
34 |
-
- Actual Model Input: 224 x 224 x 144
|
35 |
-
- AMP: True
|
36 |
-
- Optimizer: Adam
|
37 |
-
- Learning Rate: 1e-4
|
38 |
-
- Loss: DiceLoss
|
39 |
-
|
40 |
-
## Input
|
41 |
-
|
42 |
-
Input: 4 channel MRI (4 aligned MRIs T1c, T1, T2, FLAIR at 1x1x1 mm)
|
43 |
-
|
44 |
-
1. Normalizing to unit std with zero mean
|
45 |
-
2. Randomly cropping to (224, 224, 144)
|
46 |
-
3. Randomly spatial flipping
|
47 |
-
4. Randomly scaling and shifting intensity of the volume
|
48 |
-
|
49 |
-
## Output
|
50 |
-
|
51 |
-
Output: 3 channels
|
52 |
-
- Label 0: TC tumor subregion
|
53 |
-
- Label 1: WT tumor subregion
|
54 |
-
- Label 2: ET tumor subregion
|
55 |
-
|
56 |
-
## Model Performance
|
57 |
-
|
58 |
-
The achieved Dice scores on the validation data are:
|
59 |
-
- Tumor core (TC): 0.8559
|
60 |
-
- Whole tumor (WT): 0.9026
|
61 |
-
- Enhancing tumor (ET): 0.7905
|
62 |
-
- Average: 0.8518
|
63 |
-
|
64 |
-
## commands example
|
65 |
-
|
66 |
-
Execute training:
|
67 |
-
|
68 |
-
```
|
69 |
-
python -m monai.bundle run training --meta_file configs/metadata.json --config_file configs/train.json --logging_file configs/logging.conf
|
70 |
-
```
|
71 |
-
|
72 |
-
Override the `train` config to execute multi-GPU training:
|
73 |
-
|
74 |
-
```
|
75 |
-
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
|
76 |
-
```
|
77 |
-
|
78 |
-
Override the `train` config to execute evaluation with the trained model:
|
79 |
-
|
80 |
-
```
|
81 |
-
python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file "['configs/train.json','configs/evaluate.json']" --logging_file configs/logging.conf
|
82 |
-
```
|
83 |
-
|
84 |
-
Execute inference:
|
85 |
-
|
86 |
-
```
|
87 |
-
python -m monai.bundle run evaluating --meta_file configs/metadata.json --config_file configs/inference.json --logging_file configs/logging.conf
|
88 |
-
```
|
89 |
-
|
90 |
-
# Disclaimer
|
91 |
-
|
92 |
-
This is an example, not to be used for diagnostic purposes.
|
93 |
-
|
94 |
-
# References
|
95 |
-
|
96 |
-
[1] Myronenko, Andriy. "3D MRI brain tumor segmentation using autoencoder regularization." International MICCAI Brainlesion Workshop. Springer, Cham, 2018. https://arxiv.org/abs/1810.11654.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
docs/README.md
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
/home/daniel/co/brats_mri_segmentation/README.md
|