      def normalize(self):
          """ Compile all original and normalized alignments """
          count = sum(1 for val in self.alignments.data.values() if val)
          landmarks_all = np.zeros((68, 2, int(count)))
  
          end = 0
 
</s> remove         for key in tqdm(sorted(self.alignments.data.keys()),
                        desc="Compiling"):
 </s> add         for key in tqdm(sorted(self.alignments.data.keys()), desc="Compiling"): </s> remove         shapes_im_coords = shapes_centered + np.tile(mean_coords,
                                                     [num_pts, 1, 1])
 </s> add         shapes_im_coords = shapes_centered + np.tile(mean_coords, [num_pts, 1, 1]) </s> remove         self.check_rotated()
        self.reindex_faces()
        self.alignments.save()

    def check_rotated(self):
 </s> add         self.check_legacy()
        reindexed = self.reindex_faces()
        if reindexed:
            self.alignments.save()
        if self.faces:
            rename = Rename(self.alignments, None, self.faces)
            rename.process()

    def check_legacy(self):
        logger.debug("Normalize")
      def normalize(self):
          """ Compile all original and normalized alignments """
        logger.debug("Normalize")
          count = sum(1 for val in self.alignments.data.values() if val)
          landmarks_all = np.zeros((68, 2, int(count)))
  
          end = 0
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.py