Giter Site home page Giter Site logo

nik-shvetsov / hover_fork Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vqdang/hover_net

1.0 3.0 0.0 26.87 MB

Simultaneous Nuclear Instance Segmentation and Classification in H&E Histology Images.

License: MIT License

Python 97.98% MATLAB 1.39% Jupyter Notebook 0.30% Shell 0.32%

hover_fork's Introduction

HoVer-Net: Simultaneous Segmentation and Classification of Nuclei in Multi-Tissue Histology Images

A multiple branch network that performs nuclear instance segmentation and classification within a single network. The network leverages the horizontal and vertical distances of nuclear pixels to their centres of mass to separate clustered cells. A dedicated up-sampling branch is used to classify the nuclear type for each segmented instance.

This is an extended version of our previous work: XY-Net.

Link to Medical Image Analysis paper. Link to paper

Set Up Environment

conda create --name hovernet python=3.6
conda activate hovernet
pip install -r requirements.txt

Dataset

Download the CoNSeP dataset as used in our paper from this link.
Download the Kumar, CPM-15, CPM-17 and TNBC datsets from this link.

Ground truth files are in .mat format, refer to the README included with the datasets for further information.

Repository Structure

  • src/ contains executable files used to run the model. Further information on running the code can be found in the corresponding directory.
  • loader/contains scripts for data loading and self implemented augmentation functions.
  • metrics/contains evaluation code.
  • misc/contains util scripts.
  • model/ contains scripts that define the architecture of the segmentation models.
  • opt/ contains scripts that define the model hyperparameters.
  • postproc/ contains post processing utils.
  • config.py is the configuration file. Paths need to be changed accordingly.
  • train.py and infer.py are the training and inference scripts respectively.
  • process.py is the post processing script for obtaining the final instances.
  • extract_patches.py is the patch extraction script.

HoVer-Net

Citation

If any part of this code is used, please give appropriate citation to our paper.

BibTex entry:

@article{graham2019hover,
  title={Hover-net: Simultaneous segmentation and classification of nuclei in multi-tissue histology images},
  author={Graham, Simon and Vu, Quoc Dang and Raza, Shan E Ahmed and Azam, Ayesha and Tsang, Yee Wah and Kwak, Jin Tae and Rajpoot, Nasir},
  journal={Medical Image Analysis},
  pages={101563},
  year={2019},
  publisher={Elsevier}
}

Overlaid Segmentation and Classification Prediction

Segmentation

The colour of the nuclear boundary denotes the type of nucleus.
Blue: epithelial
Red: inflammatory
Green: spindle-shaped
Cyan: miscellaneous

Authors

Additional Implementations available

Getting Started

Install the required libraries before using this code. Please refer to requirements.txt

Results

All comparative results on the CoNSeP, Kumar and CPM-17 datasets can be found here.

Extra

The cell profiler pipeline that we used in our comparative experiments can be found here.

Companion Sites

The same version of this repository is officially available on the following sites for collection/affiliation purpose

License

This project is licensed under the MIT License - see the LICENSE file for details

hover_fork's People

Contributors

nik-shvetsov avatar vqdang avatar simongraham avatar

Stargazers

Edvard Pedersen avatar

Watchers

James Cloos avatar Edvard Pedersen avatar paper2code - bot 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.