From 803cc57155241c37658cac8c64db1de78dfb80c2 Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Thu, 7 Apr 2022 18:48:12 +0200 Subject: [PATCH] refactoring --- test/unit_tests/image_stitcher_test.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/test/unit_tests/image_stitcher_test.py b/test/unit_tests/image_stitcher_test.py index 10e5813..5a47ccb 100644 --- a/test/unit_tests/image_stitcher_test.py +++ b/test/unit_tests/image_stitcher_test.py @@ -8,11 +8,12 @@ import fpdf import numpy as np import pytest from PIL import Image -from funcy import merge, second, compose, rpartial, juxt, rest, first, one +from funcy import merge, second, compose, rpartial, juxt, rest, first, one, iterate from image_prediction.estimator.preprocessor.utils import image_to_normalized_tensor from image_prediction.image_extractor.extractor import ImageMetadataPair from image_prediction.info import Info +from image_prediction.utils import chunk_iterable from test.conftest import ( get_base_position_metadata, add_image, @@ -147,15 +148,13 @@ def merge_group(group, direction): c2_getter = make_coord_getter(f"{direction}2") pair_merger = make_pair_merger(direction) - pairs = list(group) + def reduce_group(group): + group_reduced = merge_with(*juxt(first, rest)(group)) + return group_reduced - while True: - new_pairs = merge_with(*juxt(first, rest)(pairs)) - if len(new_pairs) == len(pairs): - break - pairs = new_pairs - - return new_pairs + for g1, g2 in chunk_iterable(iterate(reduce_group, group), chunk_size=2): + if len(g1) == len(g2): + return g1 def merge_group_horizontally(group):