          val = self.state[item][category]
          val = val + 1 if val != max_val else 1
          self.state[item][category] = val
          self.set_redraw(True)
  
      def set_state_value(self, item, category, value):
          """ Set state of requested item or toggle off """
 
</s> remove         self.aligned["face"] = AlignerExtract().transform(
            image,
            self.aligned["matrix"],
            size,
            padding)
 </s> add         if image is None:
            self.aligned["face"] = None
        else:
            self.aligned["face"] = AlignerExtract().transform(
                image,
                self.aligned["matrix"],
                size,
                padding)
        logger.debug("Cycled state: (item: %s, category: %s, value: %s)",
                     item, category, self.state[item][category])
          val = self.state[item][category]
          val = val + 1 if val != max_val else 1
          self.state[item][category] = val
        logger.debug("Cycled state: (item: %s, category: %s, value: %s)",
                     item, category, self.state[item][category])
          self.set_redraw(True)
  
      def set_state_value(self, item, category, value):
          """ Set state of requested item or toggle off """
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