1414from lib .utils import FaceswapError , get_module_objects
1515
1616from .aligned_utils import get_adjusted_center , get_centered_size
17- from .alignments import MaskAlignmentsFileDict
17+ from .objects import MaskAlignmentsFile
1818from .constants import LandmarkType , LANDMARK_PARTS , LANDMARK_MASK_PARTS
1919
2020if T .TYPE_CHECKING :
@@ -367,7 +367,7 @@ def _adjust_affine_matrix(self, mask_size: int, affine_matrix: np.ndarray) -> np
367367 affine_matrix .shape , adjust_mat .shape )
368368 return adjust_mat
369369
370- def to_dict (self , is_png = False ) -> MaskAlignmentsFileDict :
370+ def to_dict (self , is_png = False ) -> MaskAlignmentsFile :
371371 """Convert the mask to a dictionary for saving to an alignments file
372372
373373 Parameters
@@ -383,16 +383,15 @@ def to_dict(self, is_png=False) -> MaskAlignmentsFileDict:
383383 """
384384 assert self ._mask is not None
385385 affine_matrix = self .affine_matrix .tolist () if is_png else self .affine_matrix
386- retval = MaskAlignmentsFileDict (mask = self ._mask ,
387- affine_matrix = affine_matrix ,
388- interpolator = self .interpolator ,
389- stored_size = self .stored_size ,
390- stored_centering = self .stored_centering )
391- logger .trace ({k : v if k != "mask" else type (v ) # type:ignore[attr-defined]
392- for k , v in retval .items ()})
386+ retval = MaskAlignmentsFile (mask = self ._mask ,
387+ affine_matrix = affine_matrix ,
388+ interpolator = self .interpolator ,
389+ stored_size = self .stored_size ,
390+ stored_centering = self .stored_centering )
391+ logger .trace (retval ) # type:ignore[attr-defined]
393392 return retval
394393
395- def to_png_meta (self ) -> MaskAlignmentsFileDict :
394+ def to_png_meta (self ) -> MaskAlignmentsFile :
396395 """Convert the mask to a dictionary supported by png itxt headers.
397396
398397 Returns
@@ -402,26 +401,20 @@ def to_png_meta(self) -> MaskAlignmentsFileDict:
402401 """
403402 return self .to_dict (is_png = True )
404403
405- def from_dict (self , mask_dict : MaskAlignmentsFileDict ) -> None :
404+ def from_dict (self , mask : MaskAlignmentsFile ) -> None :
406405 """Populates the :class:`Mask` from a dictionary loaded from an alignments file.
407406
408407 Parameters
409408 ----------
410- mask_dict
411409 A dictionary stored in an alignments file containing the keys ``mask``,
412410 ``affine_matrix``, ``interpolator``, ``stored_size``, ``stored_centering``
413411 """
414- self ._mask = mask_dict ["mask" ]
415- affine_matrix = mask_dict ["affine_matrix" ]
416- self ._affine_matrix = self ._matrix_2to3 (
417- affine_matrix if isinstance (affine_matrix , np .ndarray )
418- else np .array (affine_matrix , dtype = np .float32 ))
419- self ._interpolator = mask_dict ["interpolator" ]
420- self .stored_size = mask_dict ["stored_size" ]
421- centering = mask_dict .get ("stored_centering" )
422- self .stored_centering = "face" if centering is None else centering
423- logger .trace ({k : v if k != "mask" else type (v ) # type:ignore[attr-defined]
424- for k , v in mask_dict .items ()})
412+ self ._mask = mask .mask
413+ self ._affine_matrix = self ._matrix_2to3 (mask .affine_matrix )
414+ self ._interpolator = mask .interpolator
415+ self .stored_size = mask .stored_size
416+ self .stored_centering = mask .stored_centering
417+ logger .trace (mask ) # type:ignore[attr-defined]
425418
426419
427420class LandmarksMask (Mask ):
0 commit comments