In this project, we have compared Liver Tumor segmentation accuracies of four different architectures- UNet, ResUNet, SegResNet, & UNETR, over 2017 LiTS dataset. To evaluate the architectures' performances we used DICE score.
The dataset is available for download on https://drive.google.com/drive/folders/13gtsM4-iFiBd_8cMKvIO7Q73d-YcdB0H?usp=share_link . Place this dataset in the "data" following the instructions given in 'data_preparation.ipynb'. Following the data pre=processing steps there, you'll get the following structure:
data/task_data/TrainVolumes_full->
----images->
----------volume-0.nii
----------....
----------volume-104.nii
data/task_data/TrainLabels_full->
----------segmentation-0.nii
----------....
----------segmentation-104.nii
data/task_data/TestVolumes_full->
----images->
----------volume-105.nii
----------....
----------volume-130.nii
data/task_data/TestLabels_full->
----------segmentation-105.nii
----------....
----------segmentation-130.nii
To install monai:
pip install monai
Then install some necessary dependencies:
git clone https://github.com/Project-MONAI/MONAI.git
cd MONAI/
pip install -e '.[nibabel,skimage]'
To train the four architectures, run the "train_two_class.py" where the specific model to train can be passed as an argument. Also, the notebook "UNETR_LiTS_segmentation_3d.ipynb" can be only be used for training UNETR model, however, this notebook can be used to visualize the segmentation results for all the four achitectures.