def do_load_image(load_queue: Queue, trainsform_queue: Queue, target_dir:str):
while True:
file = load_queue.get()
if file is None: break
target_file = os.path.join(target_dir, source_file)
if not os.path.exists(target_file): # skip all the transformed images
img = default_loader_cv2(file)
trainsform_queue.put((target_file, img))
else:
pass
def do_transforms(trainsform_queue: Queue, save_queue: Queue, stain_normalizer):
while True:
data = trainsform_queue.get()
if data is None: break
target_file, img = data
img_norm = transform(stain_normalizer, img)
save_queue.put((target_file, img_norm))
def do_save(save_queue:Queue):
while True:
data = save_queue.get()
if data is None: break
target_file, img_norm = data
save(target_file, img_norm)