diff --git a/slide2vec/hs2p b/slide2vec/hs2p index 98b5c95..3dac2e9 160000 --- a/slide2vec/hs2p +++ b/slide2vec/hs2p @@ -1 +1 @@ -Subproject commit 98b5c95c61d725a89152b2a68c8f8566eb6bae9c +Subproject commit 3dac2e908c64be291bebd386e647f0b258c47c72 diff --git a/slide2vec/main.py b/slide2vec/main.py index 70e539f..8b94b14 100644 --- a/slide2vec/main.py +++ b/slide2vec/main.py @@ -21,6 +21,9 @@ def get_args_parser(add_help: bool = True): parser.add_argument( "--skip-datetime", action="store_true", help="skip run id datetime prefix" ) + parser.add_argument( + "--tiling-only", action="store_true", help="only run slide tiling" + ) parser.add_argument( "--run-on-cpu", action="store_true", help="run inference on cpu" ) @@ -154,11 +157,20 @@ def main(args): hf_login() root_dir = "slide2vec/hs2p" - run_tiling(root_dir, cfg_path, output_dir) + if cfg.resume: + # need to remove the dirname to avoid nested output directories + hs2p_output_dir = output_dir.parent + else: + hs2p_output_dir = output_dir + run_tiling(root_dir, cfg_path, hs2p_output_dir) print("Tiling completed.") print("=+=" * 10) + if args.tiling_only: + print("Tiling only flag set, exiting.") + return + features_dir = output_dir / "features" if cfg.wandb.enable: stop_event = threading.Event() diff --git a/slide2vec/models/models.py b/slide2vec/models/models.py index ae4be7a..b54f413 100644 --- a/slide2vec/models/models.py +++ b/slide2vec/models/models.py @@ -120,6 +120,7 @@ def __init__( arch=options.arch, pretrained_weights=options.pretrained_weights, input_size=options.patch_size, + patch_size=options.token_size, ) model = RegionFeatureExtractor(tile_encoder) elif options.level == "slide":