  
      def __init__(self, landmarks, face, channels=4):
          logger.trace("Initializing %s: (face_shape: %s, channels: %s, landmarks: %s)",
                       self.__class__.__name__, face.shape, channels, landmarks)
          self.landmarks = landmarks
          self.face = face
          self.dtype = face.dtype
          self.threshold = 255 if self.dtype == "uint8" else 255.0
          self.channels = channels
  
 
</s> remove             landmarks = alignment["landmarks_xy"]
 </s> add             landmarks = alignment["landmarks_xy"].astype("int32") </s> remove                 cv2.circle(self.image,  # pylint: disable=no-member
                           (pos_x, pos_y), radius, color, -1)
 </s> add                 cv2.circle(self.image, (pos_x, pos_y), radius, color, -1) </s> remove             face.landmarks_xy = np.rint(landmarks).astype("int32")
 </s> add             face.landmarks_xy = landmarks </s> remove             landmarks_update = landmarks[:, :, idx].astype(int)
 </s> add             landmarks_update = landmarks[:, :, idx] </s> remove     """ Perform transformation to align and get landmarks """
 </s> add     """ Neural network to process face image into a segmentation mask of the face """
        self.landmarks = np.rint(landmarks).astype("int32")
  
      def __init__(self, landmarks, face, channels=4):
          logger.trace("Initializing %s: (face_shape: %s, channels: %s, landmarks: %s)",
                       self.__class__.__name__, face.shape, channels, landmarks)
        self.landmarks = np.rint(landmarks).astype("int32")
          self.face = face
          self.dtype = face.dtype
          self.threshold = 255 if self.dtype == "uint8" else 255.0
          self.channels = channels
  
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 
lib/model/masks.py