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.
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.
pip install ./requirements.txt
- Cuda : 10.0
- Tensorflow : 10.13.1
- keras : 2.2.4
- Nvidia river version : 436.48
You can download the pretrained models:
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.
In the following section, usecases of the scripts are provided.
To train a model:
python trian.py -c <config file path>
To evaluate file/files run the following command:
python evaluation.py -i <test data directory> -c <config file path>
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>
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)>
In this section results obtained from this study is shown. Note that due to different initialization points, final result may vary a bit.
- Add more comments
- Threshold tunning code