          """ Run model to get predictions """
          for mask, face in zip(batch["feed"], batch["detected_faces"]):
              parts = self.parse_parts(np.array(face.feed_landmarks))
              for item in parts:
                  item = np.concatenate(item)
                  hull = cv2.convexHull(item).astype("int32")  # pylint: disable=no-member
                  cv2.fillConvexPoly(mask, hull, 1.0, lineType=cv2.LINE_AA)
          batch["prediction"] = batch["feed"]
          return batch
  
      def process_output(self, batch):
 
</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) </s> remove             cv2.putText(self.image,  # pylint: disable=no-member
 </s> add             cv2.putText(self.image, </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             cv2.polylines(self.image, [roi], True, color, thickness)  # pylint: disable=no-member
 </s> add             cv2.polylines(self.image, [roi], True, color, thickness) </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)))

                item = np.rint(np.concatenate(item)).astype("int32")
                hull = cv2.convexHull(item)
          """ Run model to get predictions """
          for mask, face in zip(batch["feed"], batch["detected_faces"]):
              parts = self.parse_parts(np.array(face.feed_landmarks))
              for item in parts:
                item = np.rint(np.concatenate(item)).astype("int32")
                hull = cv2.convexHull(item)
                item = np.rint(np.concatenate(item)).astype("int32")
                hull = cv2.convexHull(item)
                  cv2.fillConvexPoly(mask, hull, 1.0, lineType=cv2.LINE_AA)
          batch["prediction"] = batch["feed"]
          return batch
  
      def process_output(self, batch):
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 
plugins/extract/mask/components.py