                      alignment["landmarks_xy"] = np.array(test, dtype="float32")
                      update_count += 1
          logger.debug("Updated landmarks_xy: %s", update_count)
  
  
  class Thumbnails():
      """ Thumbnail images stored in the alignments file.
  
      The thumbnails are stored as low resolution (64px), low quality jpg in the alignments file
      and are used for the Manual Alignments tool.
 
</s> remove         All masks are currently stored with `face` centering and all crops are for 'legacy`
        centering. This may change in future
 </s> add         All crops are for 'legacy` centering. This may change in future </s> remove                 logger.warning("Skipping Face not found in alignments file. skipping: '%s'",
                               filename)
 </s> add                 logger.warning("Skipping Face not found in alignments file: '%s'", filename) </s> remove             ``affine_matrix``, ``interpolator``, ``stored_size``
 </s> add             ``affine_matrix``, ``interpolator``, ``stored_size``, ``stored_centering`` </s> remove         for key in ("mask", "affine_matrix", "interpolator", "stored_size"):
 </s> add         for key in ("mask", "affine_matrix", "interpolator", "stored_size", "stored_centering"):
    # Masks not containing the stored_centering parameters. Prior to this implementation all masks
    # were stored with face centering
    def _update_mask_centering(self):
        update_count = 0
        for val in self._data.values():
            for alignment in val["faces"]:
                for mask in alignment["mask"].values():
                    mask["stored_centering"] = "face"
        logger.debug("Updated legacy mask centering: %s", update_count)

                      alignment["landmarks_xy"] = np.array(test, dtype="float32")
                      update_count += 1
          logger.debug("Updated landmarks_xy: %s", update_count)
  
    # Masks not containing the stored_centering parameters. Prior to this implementation all masks
    # were stored with face centering
    def _update_mask_centering(self):
        update_count = 0
        for val in self._data.values():
            for alignment in val["faces"]:
                for mask in alignment["mask"].values():
                    mask["stored_centering"] = "face"
        logger.debug("Updated legacy mask centering: %s", update_count)

  
  class Thumbnails():
      """ Thumbnail images stored in the alignments file.
  
      The thumbnails are stored as low resolution (64px), low quality jpg in the alignments file
      and are used for the Manual Alignments tool.
keep keep keep add keep keep keep keep keep keep
 core mask updates:
  - Add support for different mask centering
  - Update legacy alignments to store mask centering
  - Bugfix: lib.image ImageIO. Ensure unique queues are created (fixes mask tool when Face is input and an output folder is provided) 
lib/align/alignments.py