|
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), ) |
|
|