View on GitHub

Pan-Cancer-Nuclei-Instance-Segmentation

This project is about Instance Segmentation of 5 Different Cancer Nuclei Across 19 Unique Tissue Types

Instance Segmentation of Different Types of Cancer Cells.


About the Project

personal

Dataset

The dataset that I used is known as PanNuke (Pan-Cancer Nuclei), it contains semi automatically generated nuclei instance segmentation and classification images with exhaustive nuclei labels across 19 different tissue types. The dataset consists of 481 visual fields, of which 312 are randomly sampled from more than 20K whole slide images at different magnifications, from multiple data sources.

In total the dataset contains 205,343 labeled nuclei, each with an instance segmentation mask. Models trained on PanNuke can aid in whole slide image tissue type segmentation, and generalize to new tissues.

As can be seen from the image above, the 19 tissue names and their corresponding distribution to the whole dataset are shown below:

There are five nuclei types for each tissue type in PanNuke dataset, these are:

1. neoplastic
2. inflammatory
3. softtissue
4. dead
5. epithelial

The part-1 of the dataset that I used is hosted in kaggle, it is available here. Also, the notebook that I used to analyze the dataset is available here.

Model

For this project, I used two different architectures for instance segmentation: 1. Hover-Net and 2. Mask RCNN. Hover-Net is designed for computational pathology and therefore the appropriate architecture to be used in PanNuke dataset. Mask RCNN on the other hand, is a general purpose architechture. It can be used in any type of instance segmentation dataset for as long as the annotations are converted in COCO format.

Usage

You don’t need to install anything to run the project. The notebooks I used are all hosted in kaggle and are attached in this repository. If you want to run or view the codes, here are the links to them:

  1. PanNuke Data Analysis: Pan-Cancer Nuclei Data Analysis.
  2. PanNuke to Hover-Net conversion: Pan-Cancer Nuclei Data Conversion - #1
  3. PanNuke to COCO conversion: Pan-Cancer Nuclei Data Conversion - #2.
  4. Hover-Net Training: Pan-Cancer Nuclei Instance Segmentation - #1.
  5. Mask RCNN Training: Pan-Cancer Nuclei Instance Segmentation - #2.
  6. Inference: Pan-Cancer Nuclei Inference.
  7. Output Usage: Pan-Cancer Nuclei Usage

License

This repo is licensed under Apache License