                                "dest": "align_eyes",
                                "group": "extract",
                                "default": False,
                                "help": "Perform extra alignment to ensure "
                                        "left/right eyes are  at the same "
                                        "height. (Draw, Extract and manual "
                                        "only)"})
          argument_list.append({"opts": ("-dm", "--disable-monitor"),
                                "action": "store_true",
                                "group": "manual tool",
                                "dest": "disable_monitor",
                                "default": False,
 
</s> remove         argument_list.append({"opts": ("-ae", "--align-eyes"),
                              "action": "store_true",
                              "dest": "align_eyes",
                              "group": "output",
                              "default": False,
                              "help": "Perform extra alignment to ensure left/right eyes are at "
                                      "the same height"})
 </s> add  </s> remove                     frames_dir + align_eyes +
 </s> add                     frames_dir + </s> remove                     "\nL|'manual': Manually view and edit landmarks." + frames_dir + align_eyes +
 </s> add                     "\nL|'manual': Manually view and edit landmarks." + frames_dir + </s> remove                     "\nL|'extract-large' - Extract all faces that have not been upscaled. Useful "
 </s> add                     "\nL|'extract-large': - Extract all faces that have not been upscaled. Useful " </s> remove 
    if should_align_eyes is False:
        return mat_umeyama

    mat_umeyama = mat_umeyama * size

    # Convert to matrix
    landmarks = np.matrix(face.landmarks_xy)

    # cv2 expects points to be in the form
    # np.array([ [[x1, y1]], [[x2, y2]], ... ]), we'll expand the dim
    landmarks = np.expand_dims(landmarks, axis=1)

    # Align the landmarks using umeyama
    umeyama_landmarks = cv2.transform(  # pylint: disable=no-member
        landmarks,
        mat_umeyama,
        landmarks.shape)

    # Determine a rotation matrix to align eyes horizontally
    mat_align_eyes = func_align_eyes(umeyama_landmarks, size)

    # Extend the 2x3 transform matrices to 3x3 so we can multiply them
    # and combine them as one
    mat_umeyama = np.matrix(mat_umeyama)
    mat_umeyama.resize((3, 3))
    mat_align_eyes = np.matrix(mat_align_eyes)
    mat_align_eyes.resize((3, 3))
    mat_umeyama[2] = mat_align_eyes[2] = [0, 0, 1]

    # Combine the umeyama transform with the extra rotation matrix
    transform_mat = mat_align_eyes * mat_umeyama

    # Remove the extra row added, shape needs to be 2x3
    transform_mat = np.delete(transform_mat, 2, 0)
    transform_mat = transform_mat / size
    logger.trace("Returning: %s", transform_mat)
    return transform_mat
 </s> add     return mat_umeyama

                                      "left/right eyes are at the same "
                                      "height. (Extract only)"})
                                "dest": "align_eyes",
                                "group": "extract",
                                "default": False,
                                "help": "Perform extra alignment to ensure "
                                      "left/right eyes are at the same "
                                      "height. (Extract only)"})
                                      "left/right eyes are at the same "
                                      "height. (Extract only)"})
                                      "left/right eyes are at the same "
                                      "height. (Extract only)"})
          argument_list.append({"opts": ("-dm", "--disable-monitor"),
                                "action": "store_true",
                                "group": "manual tool",
                                "dest": "disable_monitor",
                                "default": False,
keep keep keep keep replace replace replace keep keep keep keep keep
 Align eyes deprecation (#851)

* align eyes removal

* add align_eyes tool 
tools/cli.py