MICRON - Microenvironment-aware Clinical Representation for Outcome Prediction via Multiple Instance Learning
We present MICRON, a segmentation-free, fully automated multiple-instance-learning based tool for automatic identification of outcome-linked immune microenvironments. MICRON learns representations of samples profiled with spatial imaging proteomics modalities, enabling more accurate prognostic and diagnostic prediction over existing approaches, while generating a comprehensive importance map of outcome-associated image regions.
The methods implemented in this study are based on those described in the following publication:
H. D. Couture, J. S. Marron, C. M. Perou, M. A. Troester, M. Niethammer, Multiple Instance Learning for Heterogeneous Images: Training a CNN for Histopathology, Proc. MICCAI, 2018.
Basic installation depends on python packages that can be installed using conda and pip:
conda install numpy scipy scikit-image scikit-learn cudatoolkit cudnn
pip install tensorflow-gpu
The specific version of package can see in requirements.txt file.
To use the learning rate range test or cyclic learning rates, install the following repository: https://github.com/psklight/keras_one_cycle_clr. Set up the submodule using the steps below:
git submodule init
git submodule update
We prepared the IMC dataset generated by Damond et al. for use with the MICRON model. We also provide the data file format required for the model input. The dataset can be accessed at the following link: https://doi.org/10.5281/zenodo.19474557.
Three files need to be prepared before running the model: labels.csv, fold.csv, and sample_images.csv.
labels.csv format:
sample,class1
sample_1,label
sample_2,label
...
sample_N,label
sample_images.csv format:
sample,image
sample_1,image_file
sample_2,image_file
...
sample_N,image_file
fold.csv format:
sample_1,train
sample_2,train
sample_3,test
...
sample_N,val
python3.10 run_train.py -i diabetes/sample_tiff -o MICRON -f 5 -m resnet50 -r 0.05 -b 5 -e 10 -c 120 --save_results save_result --test_crop 120 --mi quantile -q 16 --out_model MICRON
After running the code, we will get a pickle file.
If you use this code, please cite:
@inproceedings{Couture2018_MICCAI,
author = {Couture, Heather D. and Marron, J. S. and Perou, Charles M. and Troester, Melissa A. and Niethammer, Marc},
booktitle = {Proc. MICCAI},
title = {Multiple Instance Learning for Heterogeneous Images: Training a CNN for Histopathology},
year = {2018}
}
