refactoring

This commit is contained in:
Matthias Bisping 2022-04-07 18:48:12 +02:00
parent 50b4d239cb
commit 803cc57155

View File

@ -8,11 +8,12 @@ import fpdf
import numpy as np import numpy as np
import pytest import pytest
from PIL import Image 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.estimator.preprocessor.utils import image_to_normalized_tensor
from image_prediction.image_extractor.extractor import ImageMetadataPair from image_prediction.image_extractor.extractor import ImageMetadataPair
from image_prediction.info import Info from image_prediction.info import Info
from image_prediction.utils import chunk_iterable
from test.conftest import ( from test.conftest import (
get_base_position_metadata, get_base_position_metadata,
add_image, add_image,
@ -147,15 +148,13 @@ def merge_group(group, direction):
c2_getter = make_coord_getter(f"{direction}2") c2_getter = make_coord_getter(f"{direction}2")
pair_merger = make_pair_merger(direction) 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: for g1, g2 in chunk_iterable(iterate(reduce_group, group), chunk_size=2):
new_pairs = merge_with(*juxt(first, rest)(pairs)) if len(g1) == len(g2):
if len(new_pairs) == len(pairs): return g1
break
pairs = new_pairs
return new_pairs
def merge_group_horizontally(group): def merge_group_horizontally(group):