def __init__(self, opt): super(LRHRSeg_BG_Dataset, self).__init__(opt, keys_ds=['LR', 'HR']) self.znorm = opt.get( 'znorm', False) # Alternative: images are z-normalized to the [-1,1] range # self.opt = opt # self.paths_LR = None # self.paths_HR = None self.paths_HR_bg = None # HR images for background scenes self.LR_env = None self.HR_env = None self.HR_env_bg = None # environment for lmdb # get images paths (and optional environments for lmdb) from dataroots self.paths_LR, self.paths_HR = get_dataroots_paths( opt, strict=False, keys_ds=self.keys_ds) # read backgrounds image list from lmdb or image files self.paths_HR_bg = util.get_image_paths(opt['data_type'], opt['dataroot_HR_bg']) if self.opt.get('data_type') == 'lmdb': self.LR_env = util._init_lmdb( opt.get('dataroot_' + self.keys_ds[0])) self.HR_env = util._init_lmdb( opt.get('dataroot_' + self.keys_ds[1])) self.HR_env_bg = util._init_lmdb(opt.get('dataroot_HR_bg')) assert len(self.paths_HR) == len(self.paths_HR_bg) self.random_scale_list = [1, 0.9, 0.8, 0.7, 0.6, 0.5] self.ratio = 10 # 10 OST data samples and 1 DIV2K general data samples(background)
def __init__(self, opt): """Initialize this dataset class. Parameters: opt (Option dictionary): stores all the experiment flags """ super(AlignedDataset, self).__init__(opt, keys_ds=['LR', 'HR']) self.vars = self.opt.get('outputs', 'LRHR') #'AB' self.ds_kernels = get_ds_kernels(self.opt) self.noise_patches = get_noise_patches(self.opt) set_transforms(self.opt.get('img_loader', 'cv2')) # get images paths (and optional environments for lmdb) from dataroots dir_AB = self.opt.get('dataroot', None) or self.opt.get( 'dataroot_AB', None) if dir_AB: self.AB_env = None # environment for lmdb self.AB_paths = get_single_dataroot_path(self.opt, dir_AB) if self.opt.get('data_type') == 'lmdb': self.AB_env = _init_lmdb(dir_AB) else: self.A_paths, self.B_paths = get_dataroots_paths( self.opt, strict=False, keys_ds=self.keys_ds) self.AB_paths = None self.A_env, self.B_env = None, None # environment for lmdb if self.opt.get('data_type') == 'lmdb': self.A_env = _init_lmdb( self.opt.get(f'dataroot_{self.keys_ds[0]}')) self.B_env = _init_lmdb( self.opt.get(f'dataroot_{self.keys_ds[1]}')) # get reusable totensor params self.totensor_params = get_totensor_params(self.opt)
def __init__(self, opt): """Initialize this dataset class. Parameters: opt (Option dictionary): stores all the experiment flags """ super(UnalignedDataset, self).__init__(opt, keys_ds=['A', 'B']) self.vars = self.opt.get('outputs', 'AB') self.A_env, self.B_env = None, None # environment for lmdb self.noise_patches = get_noise_patches(self.opt) self.idx_case = 'serial' if self.opt.get('serial_batches', None) else 'random' set_transforms(self.opt.get('img_loader', 'cv2')) # get images paths (and optional environments for lmdb) from dataroots dir_A = self.opt.get(f'dataroot_{self.keys_ds[0]}' ) # create a path '/path/to/data/trainA' self.A_paths = get_single_dataroot_path( self.opt, dir_A) # load images from '/path/to/data/trainA' dir_B = self.opt.get(f'dataroot_{self.keys_ds[1]}' ) # create a path '/path/to/data/trainB' self.B_paths = get_single_dataroot_path( self.opt, dir_B) # load images from '/path/to/data/trainB' if self.opt.get('data_type') == 'lmdb': self.A_env = _init_lmdb(dir_A) self.B_env = _init_lmdb(dir_B) assert self.A_paths, f'Error: image path {dir_A} empty.' assert self.B_paths, f'Error: image path {dir_B} empty.' self.A_size = len(self.A_paths) # get the size of dataset A self.B_size = len(self.B_paths) # get the size of dataset B # TODO: fix with change color space, etc # BtoA = self.opt.get('direction') == 'BtoA' # # get the number of channels of input image # input_nc = self.opt.get('output_nc') if BtoA else self.opt.get('input_nc') # # get the number of channels of output image # output_nc = self.opt.get('input_nc') if BtoA else self.opt.get('output_nc') # get reusable totensor params self.totensor_params = get_totensor_params(self.opt)
def __init__(self, opt): """Initialize this dataset class. Parameters: opt (Option dictionary): stores all the experiment flags """ super(SingleDataset, self).__init__(opt, keys_ds=['LR', 'HR']) self.vars = self.opt.get('outputs', 'LR') #'A' self.A_env = None # environment for lmdb set_transforms(self.opt.get('img_loader', 'cv2')) # get images paths (and optional environments for lmdb) from dataroots dir_A = self.opt.get(f'dataroot_{self.keys_ds[0]}') self.A_paths = get_single_dataroot_path(self.opt, dir_A) if self.opt.get('data_type') == 'lmdb': self.A_env = _init_lmdb(dir_A) # get reusable totensor transform totensor_params = get_totensor_params(self.opt) self.tensor_transform = get_totensor(self.opt, params=totensor_params, toTensor=True, grayscale=False) assert self.A_paths, f'Error: image path {dir_A} empty.'