focus-prediction microscopy pytorch

K-POP: Predicting Distance to Focal Plane for Kato-Katz Prepared Microscopy Slides Using Deep Learning

<a href="https://pytorch.org/get-started/locally/"><img alt="PyTorch" src="https://img.shields.io/badge/PyTorch-ee4c2c?logo=pytorch&logoColor=white"></a><a href="https://pytorchlightning.ai/"> <img alt="Lightning" src="https://img.shields.io/badge/-Lightning-792ee5?logo=pytorchlightning&logoColor=white"></a> <a href="https://hydra.cc/"><img alt="Config: Hydra" src="https://img.shields.io/badge/Config-Hydra-89b8cd"></a>

Description

This repository contains the models and training pipeline for my master thesis. The main repository is hosted on GitHub.

The project structure is based on the template by ashleve.

The metadata is stored in data/focus150/. The relevant files are test_metadata.csv, train_metadata.csv and validation_metadata.csv. Image data (of 150 x 150 px images) is not published together with this repository therefore training runs are not possible to do without it. The layout of the metadata files is as follows

,image_path,scan_uuid,study_id,focus_height,original_filename,stack_id,obj_name
0,31/b0d4005e-57d0-4516-a239-abe02a8d0a67/I02413_X009_Y014_Z5107_750_300.jpg,b0d4005e-57d0-4516-a239-abe02a8d0a67,31,-0.013672000000000017,I02413_X009_Y014_Z5107.jpg,1811661,schistosoma
1,31/274d8969-aa7c-4ac0-be60-e753579393ad/I01981_X019_Y014_Z4931_450_0.jpg,274d8969-aa7c-4ac0-be60-e753579393ad,31,-0.029296999999999962,I01981_X019_Y014_Z4931.jpg,1661371,schistosoma
...

How to run

Train model with chosen experiment configuration from configs/experiment/

python train.py experiment=focusResNet_150

Train with hyperparameter search from configs/hparams_search/

python train.py -m hparams_search=focusResNetMSE_150

You can override any parameter from command line like this

python train.py trainer.max_epochs=20 datamodule.batch_size=64

Jupyter notebooks

Figures and other evaluation code was run in Jupyter notebooks. These are available at notebooks/