from itertools import chain from image_prediction.info import Info def flatten_groups_once(groups): return chain.from_iterable(groups) def make_coord_getter(c): return { "x1": make_getter(Info.X1), "x2": make_getter(Info.X2), "y1": make_getter(Info.Y1), "y2": make_getter(Info.Y2), }[c] def make_getter(key): def getter(pair): return pair.metadata[key] return getter def make_length_getter(dim): return { "width": make_getter(Info.WIDTH), "height": make_getter(Info.HEIGHT), }[dim]