Min Cen*, Zheng Wang*, Zhenfeng Zhuang, Hong Zhang, Dan Su, Zhen Bao, Weiwei Wei, Baptiste Magnier, Lequan Yu, Liansheng Wang†
- Clone the repo:
- git clone https://github.com/zhengwang9/STAS.git && cd STAS
- Create a conda environment and activate it:
conda create -n env python=3.9
conda activate env
pip install -r requirements.txt
- We used CLAM to split the slides and extract featurers of patches by Ctranspath
- We employ a pretrained HoVerNet to classify tumor patches based on their cell count.
- Then, we construct the tumor density map by tumor_density.py. After that, we derive the mask for the major tumor region using UNet by tumor density map.
- Finally we select patches in ring of major tumor margin by choose_ring.py.
# classify tumor patches
python ./hv_res_post-process/choose_tumor_patch.py
# construct tumor density map
python ./hv_res_post-process/tumor_density.py
# select Ring patches
python ./hv_res_post-process/choose_ring.py
We construct the graph with curvature by two steps:
- extract feature of patches (nodes) in major tumor margin
- construct graph.
# extract feats in ring.
python ./graph_construction/extract_huandai_feats.py
# construct graph
python ./graph_construction/ToPyG_curva.py
# train the model
cd train
python train_curapooling.py