          """ Draw the facial landmarks """
          color = self.colors[color_id]
          for alignment in self.alignments:
              landmarks = alignment["landmarks_xy"]
              logger.trace("Drawing Landmarks Mesh: (landmarks: %s, color: %s, thickness: %s)",
                           landmarks, color, thickness)
 
</s> remove                            (pos_x, pos_y),
                           radius,
                           color,
                           -1)
 </s> add                            (pos_x, pos_y), radius, color, -1) </s> remove                           top_left,
                          bottom_right,
                          color,
                          thickness)
 </s> add                           top_left, bottom_right, color, thickness) </s> remove         self.image = np.zeros((height, width, 3), np.uint8)
 </s> add         self.image = np.zeros((height, width, 3), dtype="uint8") </s> remove                               points,
                              fill_poly,
                              color,
                              thickness)
 </s> add                               points, fill_poly, color, thickness) </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

        FACIAL_LANDMARKS_IDXS = OrderedDict([("mouth", (48, 68)),
                                             ("right_eyebrow", (17, 22)),
                                             ("left_eyebrow", (22, 27)),
                                             ("right_eye", (36, 42)),
                                             ("left_eye", (42, 48)),
                                             ("nose", (27, 36)),
                                             ("jaw", (0, 17)),
                                             ("chin", (8, 11))])
          """ Draw the facial landmarks """
          color = self.colors[color_id]
        FACIAL_LANDMARKS_IDXS = OrderedDict([("mouth", (48, 68)),
                                             ("right_eyebrow", (17, 22)),
                                             ("left_eyebrow", (22, 27)),
                                             ("right_eye", (36, 42)),
                                             ("left_eye", (42, 48)),
                                             ("nose", (27, 36)),
                                             ("jaw", (0, 17)),
                                             ("chin", (8, 11))])
          for alignment in self.alignments:
              landmarks = alignment["landmarks_xy"]
              logger.trace("Drawing Landmarks Mesh: (landmarks: %s, color: %s, thickness: %s)",
                           landmarks, color, thickness)
keep add keep keep keep keep
 Align eyes deprecation (#851)

* align eyes removal

* add align_eyes tool 
tools/lib_alignments/annotate.py