pytorch segmentation for upper (Maxilla) and lower(Mandible) jaws in a DICOM file. The Dataset is provided as 2D slices from all 3 orthogonal points of view Axial, Coronal, and Sagittal.
Download_jaw_segmentation_DS.ipynb contains the required code for download and inspect the dataset.
python3 -m pip install -r requirements.txt
All the code for training and testing found under source/.
.
├── Download_jaw_segmentation_DS.ipynb
(Download and explore the dataset)
├── LICENSE
├── README.md
├── requirements.txt
├── source
│ ├── baseline.py
(entry for a single experiment run)
│ ├── experiment_handler.py
(load multiple experiments configs from experiments.json)
│ ├── experiments.json
(contains configerations for list of experiement that can be run sequentially)
│ ├── helpers
│ │ └── helpers.py
(contains helper function used for logging and plotting, etc ...)
│ ├── learning
│ │ ├── dataset.py
(implement the dataset loaders)
│ │ ├── learner.py
(implement the training, eval, and test functions)
│ │ ├── losses.py
(implement multiple loss function)
│ │ ├── model.py
(implment multiple semantic seg models, currently UNET)
│ │ └── utils.py
(contains all the utils, reading the configs and get dataset transform functions, get model, etc.)
│ └── option.py
(contains arguments config if you want to pass them through the terminal instead of a json file)
└── view
└── Dataset.png
- using
experiment.json
python3 baseline.py --save_path path/to/save/exp/output --model model_name --train_size 128 128 --test_size 128 128 --crop_size --batch_size 8; # other parameters found in [options.py](source/option.py)
- using
terminal
- set the configurations of the experiements in experiments.json, there are 2 main keys, the
general
config which have general configurations for all experiments, andexperiments
which contains list of experiments config which overwrites the general config based on each experiments customizatiom.
- set the configurations of the experiements in experiments.json, there are 2 main keys, the
python3 source/experiment_handler.py # after set the configurations
- Cross Entropy
- Dice Loss
- Focal Loss
- Travesky Loss
- UNET