              logger.trace("Skipping alignment calculation for already aligned face")
          else:
              logger.trace("Loading aligned face: (size: %s, dtype: %s)", size, dtype)
              self.aligned["size"] = size
              self.aligned["padding"] = self._padding_from_coverage(size, coverage_ratio)
              self.aligned["matrix"] = get_align_mat(self)
              self.aligned["face"] = None
          if image is not None and self.aligned["face"] is None:
              logger.trace("Getting aligned face")
              face = AlignerExtract().transform(
 
</s> remove             face = AlignerExtract().transform(
                image,
                self.aligned["matrix"],
                size,
                self.aligned["padding"])
 </s> add             face = AlignerExtract().transform(image, self.aligned["matrix"], size, padding) </s> remove 
        face = AlignerExtract().transform(image,
                                          self.feed["matrix"],
                                          size,
                                          self.feed["padding"])
 </s> add         face = AlignerExtract().transform(image, self.feed["matrix"], size, self.feed["padding"]) </s> remove             self.image = image
 </s> add  </s> remove     @staticmethod
    def _padding_from_coverage(size, coverage_ratio):
 </s> add     def _padding_from_coverage(self, size, coverage_ratio):
            self.aligned["padding"] = padding
              logger.trace("Skipping alignment calculation for already aligned face")
          else:
              logger.trace("Loading aligned face: (size: %s, dtype: %s)", size, dtype)
              self.aligned["size"] = size
            self.aligned["padding"] = padding
              self.aligned["matrix"] = get_align_mat(self)
              self.aligned["face"] = None
          if image is not None and self.aligned["face"] is None:
              logger.trace("Getting aligned face")
              face = AlignerExtract().transform(
keep keep keep keep replace keep keep keep keep keep
 Smart Mask - Extract code review

- Lint simple_tests.py
- Only reformat alignments file if it exists otherwise change filename
- Update legacy alignments to new format at all stages
- faces_detect.Mask.from_dict - logging format fix
- convert.py fix otf for new pipeline
- cli.py - Add note that masks not used. Revert convert masks
- faces_detect.py - Revert non-extract code
- Add .p and .pickle extensions for serializer
- plugins/extract revert some changes
- scripts/fsmedia - Revert code changes
- Pipeline - cleanup
- Consistant alpha channel stripping (fixes single-process)
- Store landmarks as numpy array
- Code attribution
- Normalize feed face and reference face to 0.0 - 1.0 in convert
- Lock in mask VRAM sized
- Add documentation to plugin_loader
- Update alignments tool to work with new format 
lib/faces_detect.py