GithubHelp home page GithubHelp logo

black0017 / miccai-2019-prostate-cancer-segmentation-challenge Goto Github PK

View Code? Open in Web Editor NEW
20.0 4.0 8.0 39 KB

Medical Deep Learning 2D high resolution image segmentation project: MICCAI 2019 Prostate Cancer segmentation challenge

Python 100.00%

miccai-2019-prostate-cancer-segmentation-challenge's Introduction

MICCAI 2019 Prostate Cancer segmentation challenge

This repo segments high-resolution images.

Google colab notebook is also available.

This project is about Deep Learning in microscopy images.

The images are 2D but really high resolution ~5Kx5k pixels.

There are multiple annotators that manually segment the images. Each annotator segments different number of images.

We need to map the annotators to the image and perform the so-called majority voting to generate the labels.

MICCAI 2019 Prostate Cancer segmentation challenge data were used. The data are relativly easy to download, but you need to make an account.

Installation step

Clone the project, create a new virtual environment, and run:

pip install -r requirements.txt

Data

Download the data and place them in the project folder. I named the folder "MICCAI_2019_pathology_challenge"

Read annotations and offline processing

Applies majority voting for the provided annotations to generate training labels Executed only once due to poor time complexity: roughly <1 minute to generate 1 image label

Check the path name in the generate_labels.py script and run it:

python generate_labels.py

It takes ~ 2 hours, so take a break and enjoy your coffe ;) !

5. Baseline experiment

After checking the paths, run:

python train.py

The baseline approach:

  1. Majority label Voting from different domain experts
  2. Random shuffling 80% train 20% val split
  3. 512x512x3 input patches
  4. Unet architecture
  5. Generate 30 samples per train image and 10 per val img
  6. Train with Unet without data augmentation
  7. Multi class dice loss functions will be used.

After the baseline experiment further ideas/practices can be tested:

  1. Split the dataset based on slice number and ID and not randomly!
  2. Apply common data augmentation techniques
  3. Examine input down-sampling option
  4. Use more recent model architectures and compare them to the baseline

Medical Zoo Pytorch

For medical imaging projects, visit Medical Zoo pytorch project.

Support

If you like this repo and find it useful, please consider (★) starring it, so that it can reach a broader audience.

miccai-2019-prostate-cancer-segmentation-challenge's People

Contributors

black0017 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

miccai-2019-prostate-cancer-segmentation-challenge's Issues

Running generate_ Labels.py error

Hello, I am running on generate_ Labels.py reported an error and I hope to receive your answer
The error message is as follows:
Traceback (most recent call last):
File "E:lwyubolH5COA1-2019-Postate-CanCen-seqmentation-challenge-mastem/genemate_labels.py", line 18,in
preprocess_labels(maps,img_paths, path_to_save_labels)
File "BGalyubolMICOAT-2019-Pnostate-CanCen-seqmentation-cha1lenge-mastem\utils.Dy",line 97, in prepnocess_labelsstacked_labels = np.stack(seg_list, axis=0)
File "<array_function internals>", line 6, in stack
File "D:\Anaconda3envslubo1\liblsite-packages\numpyLcomea\shape_ base.py", line 422,in stack
raise ValueError( 'need at least one array to stack ')
ValueError: need at least one array to stack
Process finished with exit code 1

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.