def __init__( self, image1_path, image2_path, window_size, ): self.img1 = load_image(image1_path) self.img2 = load_image(image2_path) assert self.img1.shape == self.img2.shape self.window_size = window_size
def __init__(self, images_series_folder, clear_images_path, window_size, dataset_size): self.series_folders_pathes = [ os.path.join(images_series_folder, sfp) for sfp in os.listdir(images_series_folder) ] self.clear_series_pathes = [ os.path.join(clear_images_path, cfp) for cfp in os.listdir(clear_images_path) ] assert len(self.series_folders_pathes) == len(self.clear_series_pathes) self.sort_key = lambda s: int(s.split('_')[-1].split('.')[0]) self.series_folders_pathes.sort(key=self.sort_key) self.clear_series_pathes.sort(key=self.sort_key) self.series_folders_pathes = [[ os.path.join(sfp, img_name) for img_name in os.listdir(sfp) ] for sfp in self.series_folders_pathes] self.clear_series_pathes = [[ os.path.join(cfp, img_name) for img_name in os.listdir(cfp) ] for cfp in self.clear_series_pathes] for i in range(len(self.series_folders_pathes)): self.series_folders_pathes[i].sort(key=self.sort_key) self.clear_series_pathes[i].sort(key=self.sort_key) self.series_folders_images = [] self.clear_series_folders_images = [] print('Loading images into RAM:') for i in tqdm(range(len(self.series_folders_pathes))): self.series_folders_images.append([ load_image(self.series_folders_pathes[i][j]) for j in range(len(self.series_folders_pathes[i])) ]) self.clear_series_folders_images.append([ load_image(self.clear_series_pathes[i][j]) for j in range(len(self.clear_series_pathes[i])) ]) self.window_size = window_size self.dataset_size = dataset_size
def get_random_images(self): select_series_index = random.randint( 0, len(self.series_folders_pathes) - 1) select_image_index = random.randint( 0, len(self.series_folders_pathes[select_series_index]) - 1) select_image = load_image( self.series_folders_pathes[select_series_index] [select_image_index]) clear_image = load_image(self.clear_images_pathes[select_series_index]) return select_image, clear_image
def __init__(self, folder_path, window_size): images_names_list = os.listdir(folder_path) images_names_list.sort() self.images = [ load_image(os.path.join(folder_path, img_name)) for img_name in images_names_list ] assert len(self.images) % 2 == 0 for i in range(0, len(self.images), 2): assert self.images[i].shape == self.images[i + 1].shape self.window_size = window_size self.indexes = np.array(list(range(len(self.images)))).reshape((-1, 2))