Git Product home page Git Product logo

medical-polar-training's Introduction

Training on Polar Coordinates Improves Biomedical Image Segmentation

The code from the paper M. Benčević, I. Galić, M. Habijan and D. Babin, "Training on Polar Image Transformations Improves Biomedical Image Segmentation," in IEEE Access, vol. 9, pp. 133365-133375, 2021, doi: 10.1109/ACCESS.2021.3116265.

Paper link (open access): https://doi.org/10.1109/ACCESS.2021.3116265

BibTex:

@ARTICLE{9551998,
  author={Benčević, Marin and Galić, Irena and Habijan, Marija and Babin, Danilo},
  journal={IEEE Access}, 
  title={Training on Polar Image Transformations Improves Biomedical Image Segmentation}, 
  year={2021},
  volume={9},
  number={},
  pages={133365-133375},
  doi={10.1109/ACCESS.2021.3116265}}

Requirements:

  • PyTorch 1.7.1
  • PyTorch ignite 0.4.3
  • segmentation_models_pytorch 0.1.3
  • Albumentations 0.5.2
  • OpenCV 4.5.1.48
  • Check environment.yml for more packages.

Citation

TODO

Usage

Training

  • python train.py -h: used to train the polar and cartesian network
  • python train_hourglass.py -h: used to train the centerpoint predictor

Testing

  • python test.py -h: test the polar and cartesian networks
  • python test_center_from_model.py -h: test the polar network with polar origins from the cartesian network
  • python test_centerpoint_model.py -h: test the polar network with polar origins from the centerpoint predictor

Preparing the datasets

Liver

Data obtained from LiTS - Liver Tumor Segmentation Challenge. Link: https://competitions.codalab.org/competitions/17094#participate

The project was trained on the training data, with a (101, 15, 15) train-test-valid split. Download the dataset and add it the scans as follows:

datasets/
  liver/
    scans/
      train/
        segmentation-100.nii
        volume-100.nii
        ...
      test/
        ...
      valid/
        ...

Then run python datasets/liver/scans_to_images.py.

Polyp

Data obtained from CVC-ClinicDB.
Link: https://polyp.grand-challenge.org/Databases/

We use the version from Kaggle since it's in color and uses PNG: https://www.kaggle.com/balraj98/cvcclinicdb

Download the dataset and add it as follows:

datasets/
  polyp/
    CVC-ClinicDB/
      Original/
        612.png
        ...
      Ground Truth/
        ...

Then run python datasets/polyp/split_dataset.py.

Dataset citation:

Bernal, J., Tajkbaksh, N., Sánchez, F.J., Matuszewski, B., Chen H., Yu, L., Angermann, Q., Romain, O., Rustad, B., Balasingham, I., Pogorelov, K., Choi, S., Debard, Q., Maier-Hein, L., Speidel, S., Stoyanov, D., Brandao, P., Cordova, H., Sánchez-Montes, C., Gurudu, S.R., Fernández-Esparrach, G., Dray, X., Liang, J. and Histace, A. "Comparative Validation of Polyp Detection Methods in Video Colonoscopy: Results from the MICCAI 2015 Endoscopic Vision Challenge", IEEE Transactions on Medical Imaging, 2017, Issue 99

Lesion

Dataset obtained from: https://challenge2018.isic-archive.com/task1/ Download link: https://challenge.isic-archive.com/data#2018

Download the validation and training input and GT for Task 1 and extract the folders as follows:

datasets/
  lesion/
    ISIC2018_Task1-2_Validation_Input/
    ISIC2018_Task1-2_Training_Input/
    ISIC2018_Task1_Validation_GroundTruth/
    ISIC2018_Task1_Training_GroundTruth/

Then, navigate to datasets/lesion and run python make_dataset.py.

Dataset citation:

[1] Noel Codella, Veronica Rotemberg, Philipp Tschandl, M. Emre Celebi, Stephen Dusza, David Gutman, Brian Helba, Aadi Kalloo, Konstantinos Liopyris, Michael Marchetti, Harald Kittler, Allan Halpern: “Skin Lesion Analysis Toward Melanoma Detection 2018: A Challenge Hosted by the International Skin Imaging Collaboration (ISIC)”, 2018; https://arxiv.org/abs/1902.03368

[2] Tschandl, P., Rosendahl, C. & Kittler, H. The HAM10000 dataset, a large collection of multi-source dermatoscopic images of common pigmented skin lesions. Sci. Data 5, 180161 doi:10.1038/sdata.2018.161 (2018).

Stacked Hourglass Data

To prepare the data for training the centerpoint model, first do the steps above for the appropriate dataset. Then, run python make_heatmap_dataset.py --dataset <dataset_name>.

medical-polar-training's People

Contributors

marinbenc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.