Parse arguments.
()
| 105 | |
| 106 | |
| 107 | def parse_args(): |
| 108 | """Parse arguments.""" |
| 109 | parser = argparse.ArgumentParser(description='Splitting images') |
| 110 | add_parser(parser) |
| 111 | args = parser.parse_args() |
| 112 | |
| 113 | if args.base_json is not None: |
| 114 | with open(args.base_json, 'r') as f: |
| 115 | prior_config = json.load(f) |
| 116 | |
| 117 | for action in parser._actions: |
| 118 | if action.dest not in prior_config or \ |
| 119 | not hasattr(action, 'default'): |
| 120 | continue |
| 121 | action.default = prior_config[action.dest] |
| 122 | args = parser.parse_args() |
| 123 | |
| 124 | # assert arguments |
| 125 | assert args.img_dirs is not None, "argument img_dirs can't be None" |
| 126 | assert args.ann_dirs is None or len(args.ann_dirs) == len(args.img_dirs) |
| 127 | assert len(args.sizes) == len(args.gaps) |
| 128 | assert len(args.sizes) == 1 or len(args.rates) == 1 |
| 129 | assert args.save_ext in ['.png', '.jpg', 'bmp', '.tif'] |
| 130 | assert args.iof_thr >= 0 and args.iof_thr < 1 |
| 131 | assert args.iof_thr >= 0 and args.iof_thr <= 1 |
| 132 | assert not osp.exists(args.save_dir), \ |
| 133 | f'{osp.join(args.save_dir)} already exists' |
| 134 | return args |
| 135 | |
| 136 | |
| 137 | def get_sliding_window(info, sizes, gaps, img_rate_thr): |