diff --git a/scripts/run.py b/scripts/run.py index 5be1cc2dda4e4885ce3009242307ff24c2b8f4ba..d4e4383a4c95d567b223e08f350bdf5920a81810 100644 --- a/scripts/run.py +++ b/scripts/run.py @@ -71,17 +71,9 @@ def parse_args(): if __name__ == "__main__": args = parse_args() - if args.mode == "": - if args.scene in scenes_sdf: - args.mode = "sdf" - elif args.scene in scenes_nerf: - args.mode = "nerf" - elif args.scene in scenes_image: - args.mode = "image" - elif args.scene in scenes_volume: - args.mode = "volume" - else: - raise ValueError("Must specify either a valid '--mode' or '--scene' argument.") + args.mode = args.mode or mode_from_scene(args.scene) or mode_from_scene(args.load_snapshot) + if not args.mode: + raise ValueError("Must specify either a valid '--mode' or '--scene' argument.") if args.mode == "sdf": mode = ngp.TestbedMode.Sdf diff --git a/scripts/scenes.py b/scripts/scenes.py index 35e96b00a41688fc968271630830da511caccb8a..baa507d35ddf7a70012b32a24c3c8c18df709d7b 100644 --- a/scripts/scenes.py +++ b/scripts/scenes.py @@ -230,3 +230,15 @@ def default_snapshot_filename(scene): if scene["dataset"]: filename = f"{os.path.splitext(scene['dataset'])[0]}_{filename}" return os.path.join(scene["data_dir"], filename) + +def mode_from_scene(scene): + if scene in scenes_sdf: + return "sdf" + elif scene in scenes_nerf: + return "nerf" + elif scene in scenes_image: + return "image" + elif scene in scenes_volume: + return "volume" + else: + return ""