PathoNet: Deep learning assisted evaluation of Ki-67 and tumor infiltrating lymphocytes (TILs) as prognostic factors in breast cancer; A large dataset and baseline
You can find arXiv version of this study here.
Abstract
The nuclear protein Ki-67 and Tumor infiltrating lymphocytes (TILs) have been introduced as prognostic factors in predicting tumor progression and its treatment response. The value of Ki-67 index and TILs in approach to heterogeneous tumors such as Breast cancer (BC), known as the most common cancer in women worldwide, has been highlighted in literature. Due to the indeterminable and subjective nature of Ki-67 as well as TILs scoring, automated methods using machine learning, specifically approaches based on deep learning, have attracted attention. Yet, deep learning methods need considerable annotated data. In the absence of publicly available benchmarks for BC Ki-67 stained cell detection and further annotated classification of cells, we propose SHIDC-BC-Ki-67 as a dataset for aforementioned purpose. We also introduce a novel pipeline and a backend, namely PathoNet for Ki-67 immunostained cell detection and classification and simultaneous determination of intratumoral TILs score. Further, we show that despite facing challenges, our proposed backend, PathoNet, outperforms the state of the art methods proposed to date in the harmonic mean measure.
PathoNet Backend
Contents
Requirements
pip install ./requirements.txt
Tested Config
- Cuda : 10.0
- Tensorflow : 10.13.1
- keras : 2.2.4
- Nvidia river version : 436.48
Pretrained Models
You can download the pretrained models:
Datasets
You need to download SHIDC-B-Ki-67 dataset by following instructions here. You can wether download the pretrianed models and skip the training or perfotrm training from scratch. Table below shows statistics of this dataset.
Scripts
In the following section, usecases of the scripts are provided.
Train
To train a model:
python trian.py -c <config file path>
Evaluation
To evaluate file/files run the following command:
python evaluation.py -i <test data directory> -c <config file path>
Demo
To run demo on file/files run the following command:
python demo.py -i <test data directory/file path> -o <output directory> -c <config file path>
Preprocessing
In order to perform preprocessing run the following command:
python preprocessing.py -i <input data directory> -o <output data directory> -s <output size(default=256,256,3)> -a <data augmentation flag(default=False)> -g <label gaussian size(default=9)>
Results
In this section results obtained from this study is shown. Note that due to different initialization points, final result may vary a bit.
Quantitative Results
Qualitative Results
TODO
- Add more comments
- Threshold tunning code