      def build_faces_image(self, size):
          """ Display associated faces """
          total_faces = len(self.faces)
          if not total_faces:
              logger.trace("Returning empty row")
              image = self.build_faces_row(list(), size)
              return image
 
</s> remove             return faces
        valid_faces = list()
        sizes = self.extracted_faces.get_roi_size_for_frame(frame)
        for idx, size in enumerate(sizes):
            if size >= self.extracted_faces.size:
                valid_faces.append(faces[idx])
 </s> add             valid_faces = faces
        else:
            sizes = self.extracted_faces.get_roi_size_for_frame(frame)
            valid_faces = [faces[idx]
                           for idx, size in enumerate(sizes)
                           if size >= self.extracted_faces.size]
        logger.trace("frame: '%s', total_faces: %s, valid_faces: %s",
                     frame, len(faces), len(valid_faces)) </s> remove         self.image = zeros((height, width, 3), uint8)
 </s> add         self.image = np.zeros((height, width, 3), np.uint8)
        logger.trace("Building faces panel. (total_faces: %s", total_faces)
      def build_faces_image(self, size):
          """ Display associated faces """
          total_faces = len(self.faces)
        logger.trace("Building faces panel. (total_faces: %s", total_faces)
          if not total_faces:
              logger.trace("Returning empty row")
              image = self.build_faces_row(list(), size)
              return image
keep keep add 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 
tools/lib_alignments/jobs_manual.py