  
          for face, landmarks in zip(batch["detected_faces"], batch["landmarks"]):
              if not isinstance(landmarks, np.ndarray):
                  landmarks = np.array(landmarks)
              face.landmarks_xy = np.rint(landmarks).astype("int32")
          self._remove_invalid_keys(batch, ("detected_faces", "filename", "image"))
          logger.trace("Item out: %s", {key: val
                                        for key, val in batch.items()
                                        if key != "image"})
          for filename, image, face in zip(batch["filename"],
 
</s> remove                 cv2.polylines(self.image,  # pylint: disable=no-member
                              points, fill_poly, color, thickness)
 </s> add                 cv2.polylines(self.image, points, fill_poly, color, thickness) </s> remove             landmarks = np.array(landmarks, dtype="int32")
 </s> add             landmarks = np.array(landmarks, dtype="float32") </s> remove         self.landmarks = landmarks
 </s> add         self.landmarks = np.rint(landmarks).astype("int32") </s> remove             landmarks = alignment["landmarks_xy"]
 </s> add             landmarks = alignment["landmarks_xy"].astype("int32") </s> remove                 item = np.concatenate(item)
                hull = cv2.convexHull(item).astype("int32")  # pylint: disable=no-member
 </s> add                 item = np.rint(np.concatenate(item)).astype("int32")
                hull = cv2.convexHull(item)
            face.landmarks_xy = landmarks
  
          for face, landmarks in zip(batch["detected_faces"], batch["landmarks"]):
              if not isinstance(landmarks, np.ndarray):
                  landmarks = np.array(landmarks)
            face.landmarks_xy = landmarks
          self._remove_invalid_keys(batch, ("detected_faces", "filename", "image"))
          logger.trace("Item out: %s", {key: val
                                        for key, val in batch.items()
                                        if key != "image"})
          for filename, image, face in zip(batch["filename"],
keep keep keep keep replace keep keep keep keep keep
 Landmarks stored and used as floating point numbers (#928)

* remove and fix int adjustments
* masking rounding 
plugins/extract/align/_base.py