          chin_points = aligned_landmarks_68[8:11].tolist()
          mouth_points = aligned_landmarks_68[48:68].tolist()
          # TODO remove excessive reshapes and flattens
  
          l_eye = np.array(l_eye_points + l_brow_points).reshape((-1, 2)).astype(int).flatten()
          r_eye = np.array(r_eye_points + r_brow_points).reshape((-1, 2)).astype(int).flatten()
          mouth = np.array(mouth_points + nose_points + chin_points)
          mouth = mouth.reshape((-1, 2)).astype(int).flatten()
          l_eye_hull = cv2.convexHull(l_eye.reshape((-1, 2)))  # pylint: disable=no-member
          r_eye_hull = cv2.convexHull(r_eye.reshape((-1, 2)))  # pylint: disable=no-member
          mouth_hull = cv2.convexHull(mouth.reshape((-1, 2)))  # pylint: disable=no-member
 
</s> remove         mouth = mouth.reshape((-1, 2)).astype(int).flatten()
        l_eye_hull = cv2.convexHull(l_eye.reshape((-1, 2)))  # pylint: disable=no-member
        r_eye_hull = cv2.convexHull(r_eye.reshape((-1, 2)))  # pylint: disable=no-member
        mouth_hull = cv2.convexHull(mouth.reshape((-1, 2)))  # pylint: disable=no-member
 </s> add         mouth = mouth.reshape((-1, 2)).astype('int32').flatten()
        l_eye_hull = cv2.convexHull(l_eye.reshape((-1, 2)))
        r_eye_hull = cv2.convexHull(r_eye.reshape((-1, 2)))
        mouth_hull = cv2.convexHull(mouth.reshape((-1, 2)))
 </s> remove         cv2.fillConvexPoly(mask,  # pylint: disable=no-member
                           l_eye_hull, (1, 1, 1))
        cv2.fillConvexPoly(mask,  # pylint: disable=no-member
                           r_eye_hull, (1, 1, 1))
        cv2.fillConvexPoly(mask,  # pylint: disable=no-member
                           mouth_hull, (1, 1, 1))
 </s> add         cv2.fillConvexPoly(mask, l_eye_hull, (1, 1, 1))
        cv2.fillConvexPoly(mask, r_eye_hull, (1, 1, 1))
        cv2.fillConvexPoly(mask, mouth_hull, (1, 1, 1))
 </s> remove         interpolators = cv2.INTER_AREA, cv2.INTER_CUBIC  # pylint: disable=no-member
 </s> add         interpolators = cv2.INTER_AREA, cv2.INTER_CUBIC
 </s> remove         interpolators = cv2.INTER_CUBIC, cv2.INTER_AREA  # pylint: disable=no-member
 </s> add         interpolators = cv2.INTER_CUBIC, cv2.INTER_AREA
 </s> remove             cv2.rectangle(self.image,  # pylint: disable=no-member
                          top_left, bottom_right, color, thickness)
 </s> add             cv2.rectangle(self.image, top_left, bottom_right, color, thickness)
        l_eye = np.array(l_eye_points + l_brow_points).reshape((-1, 2)).astype('int32').flatten()
        r_eye = np.array(r_eye_points + r_brow_points).reshape((-1, 2)).astype('int32').flatten()

          chin_points = aligned_landmarks_68[8:11].tolist()
          mouth_points = aligned_landmarks_68[48:68].tolist()
          # TODO remove excessive reshapes and flattens
  
        l_eye = np.array(l_eye_points + l_brow_points).reshape((-1, 2)).astype('int32').flatten()
        r_eye = np.array(r_eye_points + r_brow_points).reshape((-1, 2)).astype('int32').flatten()
        l_eye = np.array(l_eye_points + l_brow_points).reshape((-1, 2)).astype('int32').flatten()
        r_eye = np.array(r_eye_points + r_brow_points).reshape((-1, 2)).astype('int32').flatten()
          mouth = np.array(mouth_points + nose_points + chin_points)
          mouth = mouth.reshape((-1, 2)).astype(int).flatten()
          l_eye_hull = cv2.convexHull(l_eye.reshape((-1, 2)))  # pylint: disable=no-member
          r_eye_hull = cv2.convexHull(r_eye.reshape((-1, 2)))  # pylint: disable=no-member
          mouth_hull = cv2.convexHull(mouth.reshape((-1, 2)))  # pylint: disable=no-member
keep keep keep keep replace replace keep keep keep keep keep
 Landmarks stored and used as floating point numbers (#928)

* remove and fix int adjustments
* masking rounding 
lib/aligner.py