Browse Source

unified scripts

Dimitri Korsch 6 years ago
parent
commit
c3caa91cfd
3 changed files with 23 additions and 30 deletions
  1. 9 18
      scripts/display.py
  2. 7 0
      scripts/display.sh
  3. 7 12
      scripts/display_from_info.py

+ 9 - 18
scripts/display.py

@@ -3,24 +3,14 @@ if __name__ != '__main__': raise Exception("Do not import me!")
 import sys
 sys.path.insert(0, "..")
 
-"""
-	Possible calls:
-
-	./display.sh /home/korsch1/korsch/datasets/birds/cub200_11 --dataset cub -s600 -n5 --features /home/korsch1/korsch/datasets/birds/features/{train,val}_16parts_gt.npz --ratio 0.31
-	> displays GT parts of CUB200
-
-	./display.sh /home/korsch1/korsch/datasets/birds/NAC/2017-bilinear/ --dataset cub -s600 -n5 --features /home/korsch1/korsch/datasets/birds/features/{train,val}_16parts_gt.npz --ratio 0.31 --rescale_size 227
-	> displays NAC parts of CUB200
-
-"""
-
-from argparse import ArgumentParser
 import logging
 import numpy as np
+import matplotlib.pyplot as plt
 
-from nabirds.annotations import NAB_Annotations, CUB_Annotations
+from argparse import ArgumentParser
+
+from nabirds import NAB_Annotations, CUB_Annotations
 
-import matplotlib.pyplot as plt
 
 def init_logger(args):
 	fmt = "%(levelname)s - [%(asctime)s] %(filename)s:%(lineno)d [%(funcName)s]: %(message)s"
@@ -107,10 +97,10 @@ def main(args):
 		else:
 			crop_names = list(data._annot.part_names.values())
 
-		part_crops = parts.visible_crops(im, ratio=args.ratio)
+		part_crops = parts.visible_crops(im, ratio=data.ratio)
 		if args.rnd:
 			parts.invert_selection()
-			action_crops = parts.visible_crops(im, ratio=args.ratio)
+			action_crops = parts.visible_crops(im, ratio=data.ratio)
 
 		plot_crops(part_crops, "Selected parts", names=crop_names)
 
@@ -129,10 +119,11 @@ parser.add_argument("data",
 parser.add_argument("--dataset",
 	help="Possible datasets: NAB, CUB",
 	choices=["cub", "nab"],
-	default="cub", type=str)
+	default="cub", type=str
+	)
 
 
-parser.add_argument("--subset",
+parser.add_argument("--subset", "-sub",
 	help="Possible subsets: train, test",
 	choices=["train", "test"],
 	default="train", type=str)

+ 7 - 0
scripts/display.sh

@@ -1,5 +1,12 @@
 #!/usr/bin/env bash
 PYTHON=python
+# Possible calls:
+
+# ./display.sh /home/korsch1/korsch/datasets/birds/cub200_11 --dataset cub -s600 -n5 --features /home/korsch1/korsch/datasets/birds/features/{train,val}_16parts_gt.npz --ratio 0.31
+# > displays GT parts of CUB200
+
+# ./display.sh /home/korsch1/korsch/datasets/birds/NAC/2017-bilinear/ --dataset cub -s600 -n5 --features /home/korsch1/korsch/datasets/birds/features/{train,val}_16parts_gt.npz --ratio 0.31 --rescale_size 227
+# > displays NAC parts of CUB200
 
 $PYTHON display.py $@
 

+ 7 - 12
scripts/display_from_info.py

@@ -3,21 +3,15 @@ if __name__ != '__main__': raise Exception("Do not import me!")
 import sys
 sys.path.insert(0, "..")
 
-try:
-	from yaml import CLoader as Loader, CDumper as Dumper
-except ImportError:
-	from yaml import Loader, Dumper
-
-import yaml
 import logging
 import numpy as np
 import matplotlib.pyplot as plt
-from matplotlib.patches import Rectangle
 
 from argparse import ArgumentParser
 
 from nabirds import NAB_Annotations, CUB_Annotations
 
+
 def init_logger(args):
 	fmt = "%(levelname)s - [%(asctime)s] %(filename)s:%(lineno)d [%(funcName)s]: %(message)s"
 	logging.basicConfig(
@@ -55,7 +49,7 @@ def main(args):
 
 	logging.info("Loading \"{}\" annnotations from \"{}\"".format(args.dataset, args.data))
 	annot = annotation_cls.get(args.dataset.lower())(
-		args.info, args.parts, args.feature_model)
+		args.data, args.parts, args.feature_model)
 
 	logging.info("Loaded data from \"{}\"".format(annot.root))
 
@@ -84,6 +78,7 @@ def main(args):
 		im, parts, label = data[i]
 
 		fig1, axs = plt.subplots(2, 1, figsize=(16,9))
+
 		axs[0].axis("off")
 		axs[0].set_title("Visible Parts")
 		axs[0].imshow(im)
@@ -115,8 +110,9 @@ def main(args):
 
 parser = ArgumentParser()
 
-parser.add_argument("info")
-
+parser.add_argument("data",
+	help="Folder containing the dataset with images and annotation files or dataset info file",
+	type=str)
 
 parser.add_argument("--dataset",
 	help="Possible datasets: NAB, CUB",
@@ -166,6 +162,7 @@ parser.add_argument("--parts_in_bb",
 	action="store_true")
 
 
+
 parser.add_argument(
 	'--logfile', type=str, default='',
 	help='File for logging output')
@@ -179,5 +176,3 @@ parser.add_argument(
 	help='random seed')
 
 main(parser.parse_args())
-
-