GithubHelp home page GithubHelp logo

nassimanoufail / cnn4brca Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ecobost/cnn4brca

0.0 1.0 0.0 698.95 MB

Using Convolutional Neural Networks (CNN) for Semantic Segmentation of Breast Cancer Lesions (BRCA). Master's thesis

Python 81.58% MATLAB 18.42%

cnn4brca's Introduction

cnn4brca

Using Convolutional Neural Networks (CNN) for Semantic Segmentation of Breast Cancer Lesions (BRCA). Master's thesis documents. Bibliography, experiments and reports.

Most articles in the Bibliography folder were obtained directly from the authors or via agreements with my home institution. Please consider any copyright infringement before using them.

Contact info:

Erick Cobos Tandazo
[email protected]

Usage

Data set

  1. You can obtain the BCDR database online (Moura et al.). I used the BCDR-DO1 data set, this one has around 70 patients(~300 digital mammograms) with breast masses and their lesion outlines. fileOrganization has some info on how is this images ordered.

  2. To obtain the masks (from the outlines provided in the database) you can use createMasks.m. This reads the mammogram info from a couple of files provided in the database: sample bcdr_d01_img.csv and sample bcdr_d01_outlines.csv

    Output should look like this:

  3. Use prepareDB to enhance the contrast of the mammograms and downsample them to have a manageable size (2cmx2cm in the mammogram in 128x128).

    Output looks like this:

  4. Finally you would need to divide the dataset into training, validation and test patients. You would need to produce a .csv with image and label filenames as this for each set.

Training

  1. You would need to install Tensorflow
  2. Run train or train_with_val_split to train networks. These train the network defined in model_v3, a fully convolutional network with 10 layers (900K parameters) that uses dillated convolution and is modelled in a ResNet network. Training is done image by image (no batch, but cost is computed in every pixel of the thousand of pixels) and uses dropout among other things Note: Code was written for tensorflow 1.11.0 so it would need to be modified to make work in tf1.0

Evaluation

  1. You can use compute_metrics or compute_FROC to compute evaluation metrics or the FROC curve.

You are invited to check the code for more details, I tried to document it nicely.

cnn4brca's People

Contributors

ecobost 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.