OceanPath is a modernized MIL pathology pipeline built from OceanPath_v1 concepts.
- WSI model definition (
ABMIL,TransMIL, static pooling MIL) - Lightning WSI training module (fine-tune + linear probe)
- k-fold cross-validation training/evaluation pipeline
- Visualization during evaluation (ROC/PR + probability histograms)
- Model export (TorchScript + ONNX)
- Statistical analysis (paired permutation test for AUC)
Use a CSV containing at least:
feature_path: path to.ptor.npybag feature filelabel: integer class labelk_fold: fold id (0..K-1for train/val folds,-1for held-out test)
python scripts/train.py \
--csv /path/to/folds.csv \
--output-dir outputs/cv_abmil \
--mil ABMIL \
--feature-dim 1024 \
--n-classes 2This writes:
- per-fold checkpoints in
outputs/cv_abmil/fold_*/ cv_results.jsonensemble_test_predictions.csv(if test rows withk_fold=-1exist)
python scripts/evaluate.py \
--pred-csv outputs/cv_abmil/ensemble_test_predictions.csv \
--output-dir outputs/cv_abmil/evalOutputs:
metrics.jsonroc_pr_curves.pngprobability_histogram.png
python scripts/export_model.py \
--checkpoint outputs/cv_abmil/fold_0/best.ckpt \
--output-dir outputs/cv_abmil/export \
--feature-dim 1024Outputs:
wsi_model.tswsi_model.onnx
python scripts/analyze.py \
--pred-a outputs/model_a_preds.csv \
--pred-b outputs/model_b_preds.csv \
--output outputs/significance.json