          The number of times to re-feed a slightly adjusted bounding box into the aligner.
          Default: `0`
      disable_filter: bool, optional
          Disable all aligner filters regardless of config option. Default: ``False``
  
      Attributes
 
</s> remove             info="If enabled, and re-feed has been selected for extraction, then interim "
 </s> add             info="If enabled, and 're-feed' has been selected for extraction, then interim " </s> remove         faces, roi, offsets = self.align_image(batch)
        faces = self._normalize_faces(faces)
 </s> add         lfaces, roi, offsets = self.align_image(batch)
        batch.feed = np.array(lfaces)[..., :3]
    re_align: bool, optional
        ``True`` to obtain landmarks by passing the initially aligned face back through the
        aligner. Default ``False``
          The number of times to re-feed a slightly adjusted bounding box into the aligner.
          Default: `0`
    re_align: bool, optional
        ``True`` to obtain landmarks by passing the initially aligned face back through the
        aligner. Default ``False``
      disable_filter: bool, optional
          Disable all aligner filters regardless of config option. Default: ``False``
  
      Attributes
keep add keep keep keep keep
 Extract: Implement re-align/2nd pass
   - implement configurable re-align function in extract
  - update locales + documentation
  - re-factor align._base and split to separate modules
  - move normalization method to plugin parent
  - bugfix: FAN use zeros for pre-processing crop
  - lint AlignedFilter 
plugins/extract/pipeline.py