          alignment["frame_dims"] = self.frame_dims
          alignment["landmarksXY"] = self.landmarksXY
          logger.trace("Returning: %s", alignment)
          return alignment
  
      def from_alignment(self, alignment, image=None):
          """ Convert a face alignment to detected face object """
 
</s> remove         """ Convert a detected face to alignment dict """
 </s> add         """ Convert a detected face to alignment dict

            NB: frame_dims should be the height and width
                of the original frame. """
 </s> remove         if image.any():
 </s> add         # Manual tool does not know the final hash so default to None
        self.hash = alignment.get("hash", None)
        if image is not None and image.any(): </s> remove         return self.remove_alignment(item)

    def faces_count_matches(self, item):
        """ Check the selected face exits """
        frame_name, number_alignments = item[0], item[2]
        number_faces = len(self.items.items.get(frame_name, list()))
        return bool(number_alignments in(0, number_faces))
 </s> add         pre_face_count = self.alignments.faces_count
        self.alignments.filter_hashes(face_hashes, filter_out=False)
        post_face_count = self.alignments.faces_count
        return pre_face_count - post_face_count </s> remove                 circle(self.image, (pos_x, pos_y), radius, color, -1)
 </s> add                 cv2.circle(self.image,  # pylint: disable=no-member
                           (pos_x, pos_y),
                           radius,
                           color,
                           -1) </s> remove             logger.debug("No face to delete")
 </s> add             logger.debug("No face to delete: (frame: '%s', idx %s)", frame, idx)
        alignment["hash"] = self.hash
          alignment["frame_dims"] = self.frame_dims
          alignment["landmarksXY"] = self.landmarksXY
        alignment["hash"] = self.hash
          logger.trace("Returning: %s", alignment)
          return alignment
  
      def from_alignment(self, alignment, image=None):
          """ Convert a face alignment to detected face object """
keep add keep keep keep keep keep
 Add Face Hashes to Alignments (#550)

* Convert main scripts to use face hashes

* Alignment tool: Use hashes, add logging, add face rename function

* More logging. Update Manual tool to work with hashing 
lib/faces_detect.py