|
def filter(segs, labels):
|
|
labels = set([label.strip() for label in labels])
|
|
|
|
if 'all' in labels:
|
|
return (segs, (segs[0], []), )
|
|
else:
|
|
res_segs = []
|
|
remained_segs = []
|
|
|
|
for x in segs[1]:
|
|
if x.label in labels:
|
|
res_segs.append(x)
|
|
elif 'eyes' in labels and x.label in ['left_eye', 'right_eye']:
|
|
res_segs.append(x)
|
|
elif 'eyebrows' in labels and x.label in ['left_eyebrow', 'right_eyebrow']:
|
|
res_segs.append(x)
|
|
elif 'pupils' in labels and x.label in ['left_pupil', 'right_pupil']:
|
|
res_segs.append(x)
|
|
else:
|
|
remained_segs.append(x)
|
|
|
|
return ((segs[0], res_segs), (segs[0], remained_segs), )
|
|
|