detect_conditions = [ "left most", "right most", "top most", "bottom most", "most width", "most height", ] def analyse_face(image, model, return_single_face=True, detect_condition="left most"): faces = model.get(image) if not return_single_face: return faces total_faces = len(faces) if total_faces == 1: return faces[0] print(f"{total_faces} face detected. Using {detect_condition} face.") if detect_condition == "left most": return sorted(faces, key=lambda face: face["bbox"][0])[0] elif detect_condition == "right most": return sorted(faces, key=lambda face: face["bbox"][0])[-1] elif detect_condition == "top most": return sorted(faces, key=lambda face: face["bbox"][1])[0] elif detect_condition == "bottom most": return sorted(faces, key=lambda face: face["bbox"][1])[-1] elif detect_condition == "most width": return sorted(faces, key=lambda face: face["bbox"][2])[-1] elif detect_condition == "most height": return sorted(faces, key=lambda face: face["bbox"][3])[-1]