Giter Site home page Giter Site logo

ninadakolekar / iciar2018 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from imaginglab/iciar2018

0.0 1.0 0.0 119.73 MB

Two-Stage Convolutional Neural Network for Breast Cancer Histology Image Classification. ICIAR 2018 Grand Challenge on BreAst Cancer Histology images (BACH)

Home Page: https://iciar2018-challenge.grand-challenge.org

License: MIT License

Python 100.00%

iciar2018's Introduction

ICIAR2018

Two-Stage Convolutional Neural Network for Breast Cancer Histology Image Classification

This repository is the part A of the ICIAR 2018 Grand Challenge on BreAst Cancer Histology (BACH) images for automatically classifying H&E stained breast histology microscopy images in four classes: normal, benign, in situ carcinoma and invasive carcinoma.

We are presenting a CNN approach using two convolutional networks to classify histology images in a patchwise fashion. The first network, receives overlapping patches (35 patches) of the whole-slide image and learns to generate spatially smaller outputs. The second network is trained on the downsampled patches of the whole image using the output of the first network. The number of channels in the input to the second network is equal to the total number of patches extracted from the microscopy image in a non-overlapping fashion (12 patches) times the depth of the feature maps generted by the first network (C):

Prerequisites

  • Linux
  • Python 3
  • NVIDIA GPU (12G or 24G memory) + CUDA cuDNN

Getting Started

Installation

  • Clone this repo:
git clone https://github.com/ImagingLab/ICIAR2018
cd ICIAR2018
pip install -r requirements.txt

Dataset

  • We use the ICIAR2018 dataset. To train a model on the full dataset, please download it from the official website (registration required). The dataset is composed of 400 high resolution Hematoxylin and Eosin (H&E) stained breast histology microscopy images labelled as normal, benign, in situ carcinoma, and invasive carcinoma (100 images for each category):

After downloading, please put it under the `datasets` folder in the same way the sub-directories are provided.

Testing

  • The pre-trained ICIAR2018 dataset model resides under ./checkpoints.
  • To test the model, run test.py script
  • Use --testset-path command-line argument to provide the path to the test folder.
python test.py --testset-path ./dataset/test 
  • If you don't provide the test-set path, an open-file dialogbox will appear to select an image for test. The test results will be printed on the screen.

Training

  • To train the model, run train.py script
python train.py
  • To change the number of feature-maps generated by the patch-wise network use --channels argument:
python train.py --channels 1

Validation & ROC Curves

  • To validate the model on the validation set and plot the ROC curves, run validate.py script
python validate.py
  • To change the number of feature-maps generated by the patch-wise network use --channels argument:
python train.py --channels 1

Citation

If you use this code for your research, please cite our paper Two-Stage Convolutional Neural Network for Breast Cancer Histology Image Classification:

@inproceedings{nazeri2018two,
  title={Two-Stage Convolutional Neural Network for Breast Cancer Histology Image Classification},
  author={Nazeri, Kamyar and Aminpour, Azad and Ebrahimi, Mehran},
  booktitle={International Conference Image Analysis and Recognition},
  pages={717--726},
  year={2018},
  organization={Springer}
}

iciar2018's People

Contributors

azadastro avatar knazeri avatar ninadakolekar avatar

Watchers

 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.