2022-04-12 15:04:32 +02:00

35 lines
717 B
Python

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]
def validate_box(box):
assert box[Info.X2] - box[Info.X1] == box[Info.WIDTH]
assert box[Info.Y2] - box[Info.Y1] == box[Info.HEIGHT]