GithubHelp home page GithubHelp logo

lxmwust / nuclei_segmentation_experiments_demo Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 6.47 MB

Overlapping nuclei segmentation using Deep Interval-Masker-Aware Networks and Marker-controlled Watershed

License: Apache License 2.0

MATLAB 21.83% Python 78.17%

nuclei_segmentation_experiments_demo's Introduction

Nuclei_Segmentation_Experiments_Demo

Overlapping nuclei segmentation using Deep Interval-Masker-Aware Networks and Marker-controlled Watershed
H&E Image Segmentation result

  • Left image: the H&E stained histopathology images
  • Right image: the nuclei segmentation result using our method, in which the adjacent nuclei are labeled with different colors.

Nuclei Segmentation in WSI Nuclei_Segmentation_in_WSI

Overview

We present a novel and efficient computing framework for segmenting the overlapping nuclei by combining Marker-controlled Watershed with our proposed convolutional neural network (DIMAN). We implemented our method based on the open-source machine learning framework TensorFlow and reinforcement learning library TensorLayer.This repository contains all code used in our experiments, incuding the data preparation, model construction, model training and result evaluation. For comparison with our method, we also utilized TensorFlow and TensorLayer to reimplement four known semantic segmentation convolutional neural networks: FCN8s, U-Net, HED and SharpMask.

Dependencies

  • Matlab
  • Python 3.x
  • TensorFlow 1.x
  • TensorLayer 1.5.4
  • Scikit-image 13.0
  • Numpy
  • Scipy

Dataset

We conducted the experiments on two public H&E stained histopathology image datasets: MICCAI2017 and BNS.

  • MICCAI2017: includes totally 32 annotated image tiles Link
  • BNS: contains 33 manually annotated H&E stained histopathology images with a total of 2754 cells Link

Composition of code

  1. the main steps for data preparation, model training and result evaluation:
    • step_1: randomly extracting the image patches from original images
    • step_2: randomly divide the image patches as training and validation data
    • step_3: producing the pixel-wise weight map for solving the class-imbalance problem
    • step_4: transforming the image patches into tfrecord file
    • step_5: training multiple networks with same hyper-parameters
    • step_6: using the networks to segment the testing images
    • step_7: evaluating the segmentation results
    • step_8: arranging the evaluation data as a table
  2. ./tools: image patches, masker and interval extraction
  3. ./nets: model construction
  4. ./utils: producing tfrecord file and image post-processing (classical watershed, condition erosion based watershed, dynamics based watershed)
  5. ./Evaluation Metrics: evaluation methods

Quick Start

  • Testing: if you just want to validate the segmentation performance of pre-trained models, follow these steps:
    1. Download our code on your computer, assume the path is "./";
    2. Download the dataset file Link and unzip this file into the path './dataset/'
    3. Download the pre-trained parameters of model Link and unzip this file into the path './checkpoints/'
    4. run the code 'step6_inference_multiplenetwork.py' for segmenting the testing images and 'step7_result_evaluation.m' for evaluating the performance of method

Contact information

Please cite our paper as below:

@article{xie2019integrating, title={Integrating deep convolutional neural networks with marker-controlled watershed for overlapping nuclei segmentation in histopathology images},
author={Xie, Lipeng and Qi, Jin and Pan, Lili and Wali, Samad},
journal={Neurocomputing},
year={2019},
publisher={Elsevier}
}

nuclei_segmentation_experiments_demo's People

Contributors

appiek avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

hanyeliu xsx1998

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.