summaryrefslogtreecommitdiff
path: root/data/recursive_dataset.py
diff options
context:
space:
mode:
Diffstat (limited to 'data/recursive_dataset.py')
-rw-r--r--data/recursive_dataset.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/data/recursive_dataset.py b/data/recursive_dataset.py
new file mode 100644
index 0000000..14ce906
--- /dev/null
+++ b/data/recursive_dataset.py
@@ -0,0 +1,44 @@
+### Copyright (C) 2017 NVIDIA Corporation. All rights reserved.
+### Licensed under the CC BY-NC-SA 4.0 license (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode).
+import os.path
+from data.base_dataset import BaseDataset, get_params, get_transform, normalize
+from data.image_folder import make_dataset
+from PIL import Image
+
+class RecursiveDataset(BaseDataset):
+ def initialize(self, opt):
+ self.opt = opt
+ self.root = opt.dataroot
+
+ ### input A (label maps)
+ self.dir_A = opt.dataroot
+ self.A_paths = sorted(make_dataset(self.dir_A))
+
+ self.dataset_size = len(self.A_paths)
+
+ def __getitem__(self, index):
+ ### input A (label maps)
+ A_path = os.path.join(self.opt.dataroot, "frame_{:05d}.png".format(index))
+ if not os.path.exists(A_path):
+ # print()
+ while not os.path.exists(A_path):
+ # print('sleeping for {}'.format(self.opt.poll_delay))
+ time.sleep(self.opt.poll_delay)
+ # print("got {}".format(A_path))
+ A = Image.open(A_path)
+ params = get_params(self.opt, A.size)
+ transform_A = get_transform(self.opt, params)
+ A_tensor = transform_A(A.convert('RGB'))
+
+ B_tensor = inst_tensor = feat_tensor = 0
+
+ input_dict = {'label': A_tensor, 'inst': inst_tensor, 'image': B_tensor,
+ 'feat': feat_tensor, 'path': A_path}
+
+ return input_dict
+
+ def __len__(self):
+ return len(self.A_paths)
+
+ def name(self):
+ return 'RecursiveDataset' \ No newline at end of file