def find_best_threshold(eye_frame): average_iris_size = 0.48 trials = {} for threshold in range(5, 100, 5): iris_frame = Pupil.image_processing(eye_frame, threshold) trials[threshold] = Calibration.iris_size(iris_frame) best_threshold, iris_size = min( trials.items(), key=(lambda p: abs(p[1] - average_iris_size))) return best_threshold
def find_best_threshold(eye_frame): """Calculates the optimal threshold to binarize the frame for the given eye. Argument: eye_frame (numpy.ndarray): Frame of the eye to be analyzed """ average_iris_size = 0.48 trials = {} for threshold in range(5, 100, 5): iris_frame = Pupil.image_processing(eye_frame, threshold) trials[threshold] = Calibration.iris_size(iris_frame) best_threshold, iris_size = min(trials.items(), key=(lambda p: abs(p[1] - average_iris_size))) return best_threshold